Inhoudsopgave:

OldMan en Bluetooth2: 4 stappen
OldMan en Bluetooth2: 4 stappen

Video: OldMan en Bluetooth2: 4 stappen

Video: OldMan en Bluetooth2: 4 stappen
Video: Как подключить наушники Bluetooth к Nintendo Switch 2024, November
Anonim
OldMan en Bluetooth2
OldMan en Bluetooth2

Dus deze Lazy Old Geek (L. O. G.) kreeg eindelijk een Bluetooth HC05-module van AliExpress.com. Ik bestelde er een na het schrijven van deze Instructable:

www.instructables.com/id/OldMan-and-Blueto…

Nou, ik heb verschillende uren besteed om dit in de opdrachtmodus werkend te krijgen, zonder succes. Ik heb zelfs een HC05-module vernietigd (waarschijnlijk verkeerde spanningen toegepast), dus moest ik een andere kopen.

TIP: De opdrachtmodus praat met de HC05- of HC06-module zelf. Communicatiemodus spreekt met een ander Bluetooth-apparaat.

Wat ik vond zijn veel verschillen tussen HC05 en HC06. De HC05 kan een master of slave zijn, de HC06 is alleen slave. In principe kan een meester met een slaaf praten, twee slaven kunnen niet met elkaar praten. De HC05 en HC06 hebben verschillende commando's. De HC05 moet hardware-geconfigureerd zijn om in de commandomodus te gaan, hij kan verschillende baudrates hebben voor communicatie en commandomodus.

De HC06 staat altijd in de communicatie- en commandomodus. Als u de baudrate voor de ene instelt, verandert de andere.

TIP: Houd dit bij, want ik deed dat niet en had wat problemen.

TIP: Verschillende HC05's en HC06's kunnen verschillen van degene die ik heb.

De HCO6 voert commando's uit, maar toont niet altijd gewijzigde resultaten, b.v. naam verandering.

Stap 1: Evaluatie/aanpassing

Evaluatie/aanpassing
Evaluatie/aanpassing
Evaluatie/aanpassing
Evaluatie/aanpassing
Evaluatie/aanpassing
Evaluatie/aanpassing

Bijgevoegd is een HC05-schema vergelijkbaar met het mijne. Twee verschillen die ik ken, zijn dat er een 2.2K-weerstand is tussen PIO11 (34) en de EN-pin en dat de 3.3v-regelaar een 3-pins pakket is en geen CE-pin heeft. De bijgevoegde foto is een gemarkeerd schema van wat ik denk dat ik heb.

Voor programmeerdoeleinden is het belangrijk dat pin 34 Key via een 2,2K-weerstand op de EN-pin is aangesloten. (Het is ook verbonden met de drukknop, de andere kant is verbonden met 3.3V)

De standaard HC05 vereist 5V-stroom, hoewel deze werkt met 3,3V-signalen, dus ik heb mijn HCO5 aangepast om in plaats daarvan 3,3V te gebruiken. Ik heb de 3.3V-regelaar verwijderd en een jumper van de VCC-pin rechtstreeks naar 3.3V gedraaid. Dit wordt getoond op het gewijzigde schema en mijn gewijzigde HC05-afbeelding.

Trouwens, de bijgevoegde HC05 Command Set.pdf bevat waardevolle informatie over het gebruik van de HC05. Helaas is deze niet erg gebruiksvriendelijk.

Stap 2: Programmeren van de HC05

Programmeren van de HC05
Programmeren van de HC05
Programmeren van de HC05
Programmeren van de HC05

Ik besloot dat de gemakkelijkste manier om de HC05 te gebruiken was om hem aan te sluiten op een van mijn CP2102 3.3V seriële adapters zoals ik deed in Old Man And Bluetooth Instructable met een HC06. Zie afbeelding en schema.

BELANGRIJKE TIP: Om de HC05 in opdrachtmodus op te starten, moet de PIO11-pin (34) hoog zijn voordat 3,3 V wordt toegepast. De EN-pin op mijn HC05 is verbonden met PIO11 via een 2,2K-weerstand, dus deze hoeft alleen maar te worden gekoppeld aan 3,3V. Het schema geeft dit weer als de programmeerpinnen, maar plaats gewoon een jumper van 3.3V naar EN-pin. Zorg ervoor dat u dit doet voordat u stroom aanbrengt. Op de mijne kun je zien of je in de opdrachtmodus bent, omdat de HC05-LED langzaam knippert. Als het snel knippert, bevindt u zich in de koppelingsmodus en moet u het opnieuw proberen.

TIP: De HC05 in opdrachtmodus praat altijd met een baudrate van 38400. Alle commando's worden met een hoofdletter geschreven en moeten worden gevolgd door een CR en LF. (Dit is anders dan de HC06)

TIP: Het opdrachtformaat is erg strikt. Gebruik altijd doppen. Ze beginnen allemaal met "AT". Volg ze precies, je kunt geen spaties toevoegen waar ze niet worden weergegeven.

Start Arduino op. Ga naar “Tools” “Poort” en selecteer de Com-poort waarmee de CP2102 is verbonden.

Open de seriële monitor. Selecteer onderaan dat venster "Both NL and CR" en "38400 baud". (NL staat voor New Line wat hetzelfde is als LF wat Line Feed is).

Naar de bovenkant is er een vak naast de knop Verzenden, klik erin.

Schakel Caps Lock in op uw pc

Typ AT

In het grote venster moet "OK" worden weergegeven.

U communiceert in opdrachtmodus

Enkele commando's die op de mijne werken

BIJ

AT+RESET

BIJ+VERSIE?

BIJ+NAAM?

AT+ADDR? ADDR:98D3:31:F5CB41

AT+NAME=BT1 Dit verandert de naam in BT1

BIJ+ROL? 0 = Slave 1=Master

Stap 3: HC06 opnieuw bezocht

HC06 Opnieuw bezocht
HC06 Opnieuw bezocht

Een van de belangrijkste verschillen tussen de HC05 en de HC06 is dat de HC05 master of slave kan zijn, terwijl de HC06 alleen slave is. Dat betekent dat je kunt praten tussen een HC05 en een HC06. Er zijn echter nog veel meer verschillen.

Hoewel ik een Arduino had kunnen gebruiken om mijn HC06 in te stellen, koos ik ervoor om een 3.3v CP2102 te gebruiken. Zie foto

Verbindingen

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Dit is in principe hetzelfde als de HC05, behalve dat mijn HC06 maar vier pinnen heeft.

Mijn CP2102 is aangepast om 3.3V te leveren

Mijn HC06 is aangepast om 3.3V. te accepteren

De CP2102 USB is aangesloten op mijn pc. Op mijn pc gebruik ik de Arduino IDE.

Selecteer de juiste "Poort" en open de seriële monitor.

Op mijn HC06 knippert de rode LED snel, wat aangeeft dat hij klaar is om te koppelen, maar ook opdrachten kan ontvangen.

Een deel van deze informatie kwam van Martyn Currey:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

Dus elk type HC06 kan anders zijn, de mijne retourneert de VERSIE linvorV1.5

Voor mijn HC06 (en waarschijnlijk allemaal), is er geen speciale procedure om hem in de opdrachtmodus te krijgen. Blijkbaar kun je, als het niet is gekoppeld, altijd opdrachten verzenden via de seriële poort.

TIP: je kunt via Bluetooth geen opdrachten naar een Bluetooth-module (die ik ken) sturen.

Open de seriële monitor

Klik op het eerste vak onderaan Serial Monitor en stel in op "no line ending"

Aanvankelijk was mijn baudrate 9600 baud

Zet Caps Lock op uw pc aan

In topkoffer type AT

Typ Enter of tik op de knop "Verzenden"

Het scherm zou OK moeten weergeven

TIP: Als u geen OK krijgt, kan het zijn dat de baudrate is gewijzigd of anders is. U kunt verschillende proberen, totdat u, hopelijk, de juiste vindt.

OPMERKING: Als u meerdere opdrachten verzendt, verschuiven de antwoordgegevens niet naar de volgende regel. Onderaan kunt u klikken op Uitvoer wissen.

Commando's die voor mij werken:

Commando Reactie

BIJ+VERSIE OKlinvorV1.5

AT+NAMEFred retourneertOKsetnaam

(Het vertelt je de naam niet, maar als het is verbonden via Bluetooth, zal het verschijnen.)

OPMERKING: als u de naam wijzigt, wordt de oude naam op uw smartphone weergegeven totdat u de koppeling ontkoppelt en opnieuw koppelt.

AT+PINxxx Ik heb het niet geprobeerd. De standaardwaarde is 1234

AT+BAUD8 Wijzigt baudrate naar 115200

Reactie is baudrate, b.v. 115200

(Na het wijzigen van de baudrate, moet u de baudrate van Serial Monitor wijzigen in 115200 om verdere opdrachten te verzenden.

Opties voor baudrate

1 1200

2 2400

3 4800

4 9600 (standaard)

5 19200

6 38400

7 57600

8 115200

9 230400

Een 460800

B 921600

C 1382400

OPMERKING: ik heb niet hoger geprobeerd dan 8 115200. Ik heb gehoord dat mensen hogere tarieven probeerden met slechte resultaten.

De andere commando's die zouden moeten werken, maar niet zijn getest:

AT+PN geen pariteitscontrole (standaard)

AT+PO oneven pariteitscontrole

AT+PE even pariteitscontrole

BELANGRIJK: op dit punt raad ik u aan een unieke naam te kiezen en deze in te voeren. Ik zou ook willen voorstellen dat u de baudrate bepaalt waarop u wilt communiceren, deze invoert en uw HC06 ermee markeert.

Stap 4: HC05 instellen op HC06

Ok, dit Instructable was het meest nuttig voor mij:

www.instructables.com/id/How-to-Configure-…

Mijn opstelling:

SLAVE-zoekadres

HC06 met CP2102 (automatisch in commandomodus)

Sluit de CP2102 USB-kabel aan om de HC06 van stroom te voorzien.

De HC06-led moet snel knipperen (koppelingsmodus).

Open instellingen op je smartphone

Ga naar Bluetooth

Zoeken naar nieuw apparaat

Als je iets ziet als HC06 of de naam die je eraan hebt gegeven, selecteer dit dan.

Je zult waarschijnlijk een reeks getallen zien zoals 00:12:09:27:19:13, dat is het waarschijnlijk.

Schrijf dit adres op. (Het nummer is het unieke adres)

Selecteer het

Als je om een pin wordt gevraagd, typ je 1234.

De naam moet worden weergegeven.

Als u het adres nog steeds niet heeft, selecteert u onder "Eerder verbonden apparaten" de naam.

Klik op Info, Het adres moet worden weergegeven. Schrijf het op.

Als het niet wordt weergegeven, verlaat u de installatie en opent u de Bluetooth Terminal HC-05-app.

Zoek onder Gekoppelde apparaten de naam, het adres moet eronder staan, schrijf het op.

Slave-instelling

Als de HC06-LED niet knippert, schakelt u de voeding uit om hem weer in de koppelingsmodus te krijgen.

Arduino starten

Selecteer onder “Extra” “Poort” de juiste Com-poort

Seriële monitor openen

Onderaan dit venster

Selecteer "Geen regeleinde" en "9600 baud"

MEESTER

HC05 met CP2102 ingesteld in opdrachtmodus (EN doorverbonden hoog)

Steek de USB-kabel van de CP2102 in de pc

Ik ontdekte dat ik twee Arduino's kan openen

Selecteer op de tweede Arduino de juiste Com-poort voor HC05

Seriële monitor openen

Onderaan het venster

Selecteer “Zowel NL&CR” als “38400 baud”

Het volgende komt uit het bovenstaande Instructable:

Hoofdconfiguratie

De vereiste AT-opdrachten om de configuratie in te stellen:

COMMANDO REACTIE Wat het doet?

AT+ROLE=1 OK Stel HC05 in als master

AT+CMODE=1 OK Verbinding maken met specifiek adres

OPMERKING: Het HC06-adres is waarschijnlijk als volgt opgemaakt 00:12:09:27:19:13

Het BIND-commando verwacht dit 0012, 09, 27193 (je haalt de dubbele punten eruit, neemt de eerste vier cijfers, dan komma, de volgende twee cijfers, dan komma, dan de laatste zes cijfers)

AT+BIND=0012, 09, 271913 OK Verbindt/bindt met HC06

(Trouwens AT+BIND? reageert met +BIND:12:9:271913)

(U wilt dat de HC05-communicatiesnelheid hetzelfde is als de HC06) bijvoorbeeld:

AT+UART=115200, 0, 0 OK Baudrate 115200 (1stopbit, geen pariteit)

Communicatie testen:

Verwijder HC05 EN jumper, power cycle.

Als de twee zijn aangesloten, knippert de HC05-led elke paar seconden twee keer, de HC06-led blijft continu branden.

Stel beide com-poorten in op dezelfde baudrate (wat je ook instelt)

Zet beide op "Beide NL&CR"

Typ iets op Serial Monitor1, Serial Monitor2 zou het moeten weergeven.

Typ iets op Serial Monitor2, Serial Monitor1 zou het moeten weergeven.

Gefeliciteerd, u communiceert via Bluetooth

Nu heeft de bovenstaande Instructable enkele schetsen over het gebruik van de modules met Arduino. Voor deze Instructable zal ik hier niet op ingaan.

Aanbevolen: