Inhoudsopgave:

OldMan en Bluetooth: 5 stappen
OldMan en Bluetooth: 5 stappen

Video: OldMan en Bluetooth: 5 stappen

Video: OldMan en Bluetooth: 5 stappen
Video: Трудные подростки | Troubled Teens | 3 серия (English Subs) 2024, November
Anonim
OldMan en Bluetooth
OldMan en Bluetooth
OldMan en Bluetooth
OldMan en Bluetooth
OldMan en Bluetooth
OldMan en Bluetooth
OldMan en Bluetooth
OldMan en Bluetooth

Update van april 2020, dankzij een opmerking van een lezer, Krasla, kan ik nu in de opdrachtmodus komen met JDY-31s.

Ik ga proberen mee te doen aan de Sensor-wedstrijd.

Dus deze Lazy Old Geek (L. O. G.) heeft zojuist een GPS-project voltooid:

www.instructables.com/id/Old-Man-and-the-Arduino-GPS/

en dacht na over manieren om met de GPS te communiceren. Nou, ik had wat oude Bluetooth-modules liggen en besloot te kijken of ik ze aan het werk kon krijgen. Dit waren HC-05/HC-06 Bluetooth-modules die ik misschien heb gesorteerd, maar niet erg goed.

Dus ik heb veel internetonderzoek gedaan. Een van de beste bronnen die ik vond was Martyn Currey:

www.martyncurrey.com/hc-05-zg-b23090w-bluetooth-2-0-edr-modules/#more-5681

Stap 1: Bluetooth-testen

Bluetooth-testen 2
Bluetooth-testen 2
Bluetooth-testen 2
Bluetooth-testen 2
Bluetooth-testen 2
Bluetooth-testen 2

Oké, de volgende stap is om over Bluetooth te praten. Dus ik heb een Android-smartphone en ik probeerde een app genaamd B-BLE. Ik kon het niet aan het werk krijgen. Toen probeerde ik 'Bluetooth Terminal' Dit werkte.

Procedure Smartphone

Ga naar Google Playstore en installeer Bluetooth Terminal.

Stel HC-06 in met Seeduino (of CP2102) en maak verbinding met pc, open Arduino Serial Terminal.

Klik op Smartphone op Instellingen, zoek Bluetooth en klik op nieuw apparaat koppelen. Als dit de eerste keer is dat je verbinding hebt gemaakt, zou je iets vergelijkbaars moeten zien:

00:12:09:27:18:94

Dit is het MAC-adres van de HC-06s. Klik erop

Als het niet de eerste keer is, wordt de Bluetooth-naam weergegeven, bijvoorbeeld my2BT, klik erop. Zie foto

Het zal je om een wachtwoord vragen, die ik heb zijn 1234. (Als je commandotoegang hebt, kun je het wachtwoord wijzigen). Zie foto.

Open op smartphone de Bluetooth Terminal-app. Het zou moeten openen met het scherm Gekoppelde apparaten, zie afbeelding, Selecteer de BT-naam, (my2BT).

Trouwens, dit is waar de knipperende LED van de BT-module moet veranderen in vast.

Het Terminal-scherm moet worden weergegeven. Zie foto

Waar staat "Voer ASCII-opdracht in", typ iets om naar pc te verzenden. Tik vervolgens op (Send ASCII) (Ik heb een aantal van de BTN's geprogrammeerd.)

De ingevoerde gegevens zouden op de pc Arduino Serial Terminal moeten verschijnen. Zie foto

Om vanaf pc te verzenden (ik heb het gewijzigd in (zowel NT als CR) in het opdrachtvenster, typ wat u wilt verzenden en klik vervolgens op (Verzenden). Het zou op het Bluetooth Terminal-scherm moeten verschijnen, zie vorige afbeelding

Yay, we communiceren!

Stap 3: Mijn probleem

Mijn probleem
Mijn probleem
Mijn probleem
Mijn probleem
Mijn probleem
Mijn probleem

Zoals ik al eerder zei, zijn deze modules ontworpen voor 5V-invoer en 3,3v-signalen. Voor mij is dit het slechtste van twee werelden. De juiste manier om dit te gebruiken is met een 5V Arduino en converteer vervolgens de TX- en RX-niveaus naar de juiste. Sommige mensen gebruiken weerstandsdelers. Nu denk ik dat mijn Seeduino zelfs in 5V-modus 3,3V-signalen uitzendt, maar andere Arduino's niet.

Nu gebruik ik meestal 3.3V-apparaten zoals de Adafruit Feather M4 Express. De M4 Express heeft geen 5V stroom dus hoe kan ik deze modules gebruiken. Een manier is om de kale HC-06-module zonder basis te gebruiken, maar ze zijn moeilijker om mee te werken. Wat ik besluit te doen was om mijn BT-modules alleen naar 3.3V te converteren. Dat is wat de grote gele 3 aangeeft.

Met wat hulp van internet kwam ik met een paar schematische versies van de JY-MCU BT module zie foto en zette ze in Eagle Cadsoft, zie zip.

TECHNOBABBLE: De BTI BCM is de Bluetooth en de rest is het basisbord. Helaas zijn er veel verschillende baseboards. Sommige hebben niet de B1-diode, sommige hebben een P-kanaal mosFET om het apparaat in te schakelen. Maar in dit geval zijn de belangrijkste problemen B1 en de 3.3V-regelaar. Met een 3.3V ingang zou je geen 3.3V naar de HC-06 halen.

Dus ik heb de VCC-ingangspin (5V) naar de 3,3V op pin 12 van de module gesprongen. Nu denk ik dat dat alles is wat nodig is, maar ik heb ook de regelaar verwijderd (XC6206P332, maar kan een ander type zijn). Vanuit technisch oogpunt denk ik niet dat het een goed idee is om de input en output van een regelaar in principe kort te sluiten. Ik ga dit niet in meer detail uitleggen, omdat elk basisbord anders kan zijn. Zie gele draad op de foto.

Dus nu zullen deze modules werken op 3.3V-systemen.

Stap 4: Seriële adapter

Seriële adapter
Seriële adapter
Seriële adapter
Seriële adapter
Seriële adapter
Seriële adapter

Dus in plaats van een Arduino op de pc te gebruiken, kun je ook een USB-serieel converter gebruiken. De oude Arduino's gebruikten de FTDI232, maar ze zijn duur, dus ik gebruikte PL2303 USB-seriële converters. Maar omdat ik geen driver kon vinden voor de oudere modellen voor Windows 10, ben ik CP2102s gaan gebruiken. Nu is het probleem opnieuw dat de uitgangspinnen allemaal 5V hebben (rechtstreeks afkomstig van de USB-connector). En er zijn veel soorten. Hoe dan ook, ik pas ze meestal aan voor 3.3v en soldeer op een vrouwelijke header, zodat het werkt met veel van mijn Instructables-projecten. Nu heb ik ook een 3.3v regelaar toegevoegd (L4931C33 denk ik) Zie foto. De meeste geheime IC's hebben een uitgang van 3,3 V, maar ik denk dat de meeste beperkt zijn tot ongeveer 50 mA. Eigenlijk is 50mA genoeg om alleen met de HC-06 te praten.

Oké, deze kunnen als volgt op de HC-06 worden aangesloten:

BT CP2102

Gnd Gnd

3.3V 3.3V

Rx Tx

Tx Rx

Zie foto

Sluit de CP2102 aan op pc-USB. Nu is Arduino Serial Terminal niet de gemakkelijkste om te gebruiken, dus ik heb Tera Term en Putty geprobeerd, maar ze werkten niet erg goed, en ik kon er niet achter komen hoe ik een regeleinde moest instellen, dus ik gebruik nog steeds Arduino. Werkt goed.

Stap 5: JDY-30/31 Bluetooth

JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth

Dus als je op eBay zoekt naar HC-06, zijn ze moeilijker te vinden en krijg je in plaats daarvan vaak JDY-30's. Dus omdat ze goedkoper leken te zijn, kocht ik er een paar bij Aliexpress. Ze zouden compatibel moeten zijn.

Sommige mensen en verkopers beweren dat JDY-30 en JDY-31 hetzelfde zijn. Ik weet het niet zo zeker.

Hoe dan ook, degene die ik kreeg lijken pin-compatibel te zijn en de mijne kwam op een vergelijkbaar basisbord als de HC-06.

Testen: Update van april 2020: dankzij een opmerking van Krasla kan ik nu verbinding maken met mijn JDY-31 in opdrachtmodus. De belangrijkste tip was dat het "AT"-commando geen reactie krijgt, maar andere commando's zoals "AT+VERSION" werken prima. En je moet wel CR + LF toevoegen. Interessant genoeg kon ik dit niet laten werken met Tera Term of Putty, maar het werkt wel met Arduino Serial Monitor.

Hoe dan ook, dus besloot ik dit met Bluetooth te proberen. Met dezelfde setup als de HC-06 kon ik verbinding maken met Bluetooth op 9600 baud.

Nogmaals, de eerste keer dat het is gekoppeld, is de apparaatnaam een MAC-adres, maar eenmaal gekoppeld is de Bluetooth-naam: JDY-31-SPP. Werkt goed.

Dus ik vond ook een andere BT genaamd JDY-31, zie foto's. Wat ik leuk vind aan hen is dat ze gaten hebben voor een mannelijke header zonder dat een basisbord nodig is. Zie foto's. Dus ik heb er een paar besteld.

Dat is mijn ervaring tot nu toe met Bluetooth-modules.

Aanbevolen: