Inhoudsopgave:
- Stap 1: Evaluatie/aanpassing
- Stap 2: Programmeren van de HC05
- Stap 3: HC06 opnieuw bezocht
- Stap 4: HC05 instellen op HC06
Video: OldMan en Bluetooth2: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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
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
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:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
OldMan en Bluetooth: 5 stappen
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 deel te nemen aan de Sensor-wedstrijd. Dus deze Lazy Old Geek (LOG) is gewoon een GPS-project voltooid:https://www.instructables.com/id/Old-Ma