Innehållsförteckning:
- Steg 1: Utvärdering/modifiering
- Steg 2: Programmering av HC05
- Steg 3: HC06 Revisited
- Steg 4: Konfigurera HC05 till HC06
Video: OldMan och Bluetooth2: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Så denna Lazy Old Geek (L. O. G.) fick äntligen en Bluetooth HC05 -modul från AliExpress.com. Jag beställde en efter att ha skrivit denna Instructable:
www.instructables.com/id/OldMan-and-Blueto…
Jag spenderade flera timmar på att försöka få det att fungera i kommandoläge utan framgång. Jag förstörde till och med en HC05 -modul (antagligen med fel spänning) så jag var tvungen att köpa en till.
TIPS: Kommandoläget talar till själva HC05- eller HC06 -modulen. Kommunikationsläget pratar med en annan Bluetooth -enhet.
Vad jag hittade är många skillnader mellan HC05 och HC06. HC05 kan vara en master eller slav, HC06 är endast slav. I grund och botten kan en mästare prata med en slav, två slavar kan inte prata med varandra. HC05 och HC06 har olika kommandon. HC05 måste vara maskinvarukonfigurerad för att gå till kommandoläge, den kan ha olika överföringshastigheter för kommunikation och kommandoläge.
HC06 är alltid i kommunikations- och kommandoläge. Om du ställer in överföringshastigheten för den ena ändras den andra.
TIPS: Håll koll på detta eftersom jag inte gjorde det och hade några problem.
TIPS: Olika HC05 och HC06 kan skilja sig från de jag fick.
HCO6 kommer att utföra kommandon, men visar inte alltid ändrade resultat, t.ex. namnbyte.
Steg 1: Utvärdering/modifiering
Bifogad är en HC05 -schema som liknar min. Två skillnader jag vet är att det finns ett 2.2K -motstånd mellan PIO11 (34) och EN -stiftet och 3.3v -regulatorn är ett 3 -stifts paket och inte har ett CE -stift. Den bifogade bilden är en markerad schema för vad jag tror att jag har.
För programmeringsändamål är det viktigt att stift 34 -nyckeln är ansluten till EN -stiftet via ett 2,2K -motstånd. (Den är också ansluten till tryckknappen, den andra sidan är ansluten till 3,3V)
Lager HC05 kräver 5V ström men det fungerar med 3.3V signaler så jag modifierade min HCO5 för att använda 3.3V istället. Jag tog bort 3.3V -regulatorn och körde en bygel från VCC -stiftet direkt till 3.3V. Detta visas på det modifierade schemat och min modifierade HC05 -bild.
Förresten, den bifogade HC05 Command Set.pdf har värdefull information om hur man använder HC05, tyvärr är det inte särskilt användarvänligt.
Steg 2: Programmering av HC05
Jag bestämde mig för att det enklaste sättet att använda HC05 var att ansluta den till en av mina CP2102 3.3V seriella adaptrar som jag gjorde i Old Man And Bluetooth Instructable med en HC06. Se bild och schematisk.
VIKTIGT TIPS: För att starta HC05 i kommandoläge måste PIO11 -stiftet (34) vara högt innan 3,3V appliceras. EN -stiftet på min HC05 är anslutet till PIO11 via ett 2.2K -motstånd, så det behöver bara bindas till 3.3V. Schemat visar detta som programstiften men placera bara en bygel från 3.3V till EN -stift. Se till att du gör detta innan du använder ström. På min kan du berätta om du är i kommandoläge eftersom HC05 -lampan blinkar långsamt. Om det blinkar snabbt är du i parkopplingsläge och måste försöka igen.
TIPS: HC05 i kommandoläge talar alltid med 38400 baudhastighet. Alla kommandon är stora och måste följas av en CR och LF. (Detta är annorlunda än HC06)
TIPS: Kommandoformatet är mycket strikt. Använd alltid lock. De börjar alla med "AT" Följ dem exakt, du kan inte lägga till mellanslag där de inte visas.
Starta Arduino. Gå till "Verktyg" "Port" och välj den Com -port som CP2102 är ansluten till.
Öppna Serial Monitor. Längst ned i fönstret väljer du "Både NL och CR" och "38400 baud". (NL står för New Line som är samma som LF som är Line Feed).
Mot toppen finns det en ruta bredvid knappen Skicka, klicka i den.
Slå på Caps Lock på din dator
Skriv AT
Det stora fönstret ska visa "OK".
Du kommunicerar i kommandoläge
Några kommandon som fungerar på mina
PÅ
AT+RESET
AT+VERSION?
AT+NAME?
AT+ADDR? ADDR: 98D3: 31: F5CB41
AT+NAME = BT1 Detta ändrar namnet till BT1
AT+ROLL? 0 = Slav 1 = Master
Steg 3: HC06 Revisited
En av de viktigaste skillnaderna mellan HC05 och HC06 är att HC05 kan vara master eller slav medan HC06 bara är slav. Det betyder att du kan prata mellan en HC05 och en HC06. Men det finns många andra skillnader.
Även om jag kunde ha använt en Arduino för att konfigurera min HC06, valde jag att använda en 3.3v CP2102. Se bild
Anslutningar
CP2102 HC06
Gnd Gnd
Vcc Vcc
TXD RXD
RXD TXD
Detta är i princip samma som HC05 förutom att mitt HC06 bara har fyra stift.
Min CP2102 är modifierad för att leverera 3.3V
Min HC06 är modifierad för att acceptera 3,3V
CP2102 USB är ansluten till min dator. På min dator använder jag Arduino IDE.
Välj rätt "Port" och öppna seriemonitorn.
På min HC06 blinkar den röda lysdioden snabbt, vilket indikerar att den är redo att koppla ihop men också kan ta emot kommandon.
En del av denna information kom från Martyn Currey:
www.martyncurrey.com/arduino-and-hc-06-zs-0…
Så varje typ av HC06 kan vara olika, min returnerar VERSION linvorV1.5
För min HC06 (och förmodligen alla) finns det ingen speciell procedur för att få den till kommandoläge. Tydligen om det inte är parat kan du alltid skicka kommandon via den seriella porten.
TIPS: du kan inte skicka kommandon till någon Bluetooth -modul (som jag känner till) via Bluetooth.
Öppna Serial Monitor
Klicka på den första rutan längst ner på Serial Monitor och ställ in till "ingen rad slutar"
Ursprungligen var min överföringshastighet 9600 baud
Slå på Caps Lock på din dator
Typ AT i den övre lådan
Skriv Enter eller tryck på "Skicka" -knappen
Skärmen ska visa OK
TIPS: Om du inte får ett OK kan det bero på att överföringshastigheten ändrades eller är annorlunda. Du kan prova olika tills du förhoppningsvis hittar rätt.
OBS: Om du skickar flera kommandon flyttas svarsdata inte till nästa rad. Mot botten kan du klicka på Rensa utdata.
Kommandon som fungerar för mig:
Kommandosvar
AT+VERSION OKlinvorV1.5
AT+NAMEFred returnerarOKsetname
(Det berättar inte namnet men om det är anslutet via Bluetooth visas det.)
OBS: om du ändrar namnet visas det gamla namnet på din smartphone tills du avparar och återparar.
AT+PINxxx Har inte provat det. Defaut är 1234
AT+BAUD8 Ändrar överföringshastighet till 115200
Svar är överföringshastighet, t.ex. 115200
(Efter att ha ändrat överföringshastigheten måste du ändra överföringshastigheten för seriell bildskärm till 115200 för att skicka ytterligare kommandon.
Alternativ för överföringshastighet
1 1200
2 2400
3 4800
4 9600 (standard)
5 19200
6 38400
7 57600
8 115200
9 230400
En 460800
B 921600
C 1382400
OBS: Jag har inte provat högre än 8 115200. Jag har hört talas om människor som försöker högre priser med dåliga resultat.
De andra kommandona som ska fungera men inte testas:
AT+PN ingen paritetskontroll (standard)
AT+PO udda paritetskontroll
AT+PE jämnhetskontroll
VIKTIGT: Vid denna tidpunkt skulle jag föreslå att du bestämmer dig för ett unikt namn och lägger in det. Jag föreslår också att du bestämmer vilken överföringshastighet du vill kommunicera med, lägger in den och markerar din HC06 med den.
Steg 4: Konfigurera HC05 till HC06
Ok, den här instruerbara var mest användbar för mig:
www.instructables.com/id/How-to-Configure-…
Min inställning:
SLAVE hitta adress
HC06 med CP2102 (automatiskt i kommandoläge)
Anslut CP2102 USB -kabeln för att driva HC06.
HC06 -LED: n ska blinka snabbt (parningsläge).
Öppna inställningarna på din smartphone
Gå till Bluetooth
Sök efter ny enhet
Om du ser något som HC06 eller namnet du gav det, välj det här.
Du kommer sannolikt att se en rad siffror som 00: 12: 09: 27: 19: 13, det är förmodligen det.
Skriv ner den här adressen. (Numret är dess unika adress)
Välj det
När du blir ombedd att ange en PIN -kod skriver du in 1234.
Namnet ska visas.
Om du fortfarande inte har adressen, välj namnet under "Tidigare anslutna enheter".
Klicka på Info, adressen ska visas. Skriv ner det.
Om det inte visas, gå ur installationen och öppna Bluetooth Terminal HC-05-appen.
Under Parade enheter, hitta namnet, adressen ska vara under det, skriv ner det.
Slavinställning
Om HC06 -lysdioden inte blinkar, slå på strömmen för att återställa den till parkopplingsläge.
Starta Arduino
Under "Verktyg" "Port" Välj rätt Com -port
Öppna Serial Monitor
Längst ner i det här fönstret
Välj "No line ending" och "9600 baud"
BEMÄSTRA
HC05 med CP2102 i kommandoläge (EN jumpered high)
Anslut USB -kabeln från CP2102 till datorn
Jag fick reda på att jag kan öppna två Arduinos
På den andra Arduino väljer du rätt Com -port för HC05
Öppna Serial Monitor
Längst ner i fönstret
Välj "Både NL&CR" och "38400 baud"
Följande är från ovanstående Instructable
Huvudkonfiguration
De nödvändiga AT -kommandona för att ställa in konfigurationen:
KOMMANDO -SVAR Vad den gör
AT+ROLE = 1 OK Ställ in HC05 som master
AT+CMODE = 1 OK Anslut till specifik adress
OBS: HC06 -adressen är förmodligen formaterad så här 00: 12: 09: 27: 19: 13
BIND -kommandot förväntar sig detta 0012, 09, 27193 (du tar ut kolonna, tar de fyra första talen, sedan komma, de två följande talen, sedan kommatecken, sedan de sex sista siffrorna)
AT+BIND = 0012, 09, 271913 OK Ansluter/binder med HC06
(Förresten AT +BIND? Svarar med +BIND: 12: 9: 271913)
(Du vill att HC05 -kommunikationshastigheten ska vara densamma som HC06) till exempel:
AT+UART = 115200, 0, 0 OK Baudhastighet 115200 (1stop bit, ingen paritet)
För att testa kommunikation:
Ta bort HC05 EN bygel, strömcykel.
När de två är anslutna kommer HC05 LED att blinka två gånger med några sekunders mellanrum, HC06 LED kommer att lysa kontinuerligt.
Ställ in båda komportarna till samma överföringshastighet (vad du än ställer in)
Ställ in båda på”Både NL&CR”
Skriv något på Serial Monitor1, Serial Monitor2 ska visa det.
Skriv något på Serial Monitor2, Serial Monitor1 ska visa det.
Grattis, du kommunicerar via Bluetooth
Nu har ovanstående Instructable några skisser om hur man använder modulerna med Arduino. För denna instruerbara kommer jag inte att fördjupa mig i detta.
Rekommenderad:
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: 11 steg
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: Har du någonsin haft mycket data du arbetar med och tänkt för dig själv … " hur kan jag göra allt av dessa data ser bättre ut och blir lättare att förstå? " Om så är fallet kan en tabell i Microsoft Office Word 2007 vara ditt svar
OldMan och Bluetooth: 5 steg
OldMan och Bluetooth: Uppdatering från april 2020, tack vare en kommentar från en läsare, Krasla, kan jag nu komma in i kommandoläge med JDY-31s. Ska försöka delta i Sensortävling. Så denna Lazy Old Geek (LOG) bara genomfört ett GPS-projekt: https: //www.instructables.com/id/Old-Ma
Ansluter bearbetning och Arduino och gör 7 segment och servo GUI -kontroller: 4 steg
Ansluta bearbetning och Arduino och göra 7 segment och servo GUI -kontroller: För vissa projekt måste du använda Arduino eftersom det ger en enkel prototypplattform men visning av grafik i seriell bildskärm av Arduino kan ta ganska lång tid och är till och med svårt att göra. Du kan visa grafer på Arduino Serial Monitor
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid