Innholdsfortegnelse:

OldMan og Bluetooth2: 4 trinn
OldMan og Bluetooth2: 4 trinn

Video: OldMan og Bluetooth2: 4 trinn

Video: OldMan og Bluetooth2: 4 trinn
Video: Охотимся на оленей . Загоняем их в Кораль. Жизнь лесотундры Вынгаяхи 2. 2024, Juli
Anonim
OldMan og Bluetooth2
OldMan og Bluetooth2

Så denne Lazy Old Geek (L. O. G.) fikk endelig en Bluetooth HC05 -modul fra AliExpress.com. Jeg bestilte en etter å ha skrevet denne Instructable:

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

Vel, jeg brukte flere timer på å få dette til å fungere i kommandomodus uten å lykkes. Jeg ødela til og med en HC05 -modul (sannsynligvis med feil spenning), så jeg måtte kjøpe en til.

TIPS: Kommandomodus snakker til selve HC05- eller HC06 -modulen. Kommunikasjonsmodus snakker med en annen Bluetooth -enhet.

Det jeg fant er mange forskjeller mellom HC05 og HC06. HC05 kan være en master eller slave, HC06 er bare slave. I utgangspunktet kan en mester snakke med en slave, to slaver kan ikke snakke med hverandre. HC05 og HC06 har forskjellige kommandoer. HC05 må være maskinvarekonfigurert for å gå i kommandomodus, den kan ha forskjellige overføringshastigheter for kommunikasjon og kommandomodus.

HC06 er alltid i kommunikasjons- og kommandomodus. Hvis du angir overføringshastigheten for den ene, endres den andre.

TIPS: Følg med på dette siden jeg ikke gjorde det og hadde noen problemer.

TIPS: Ulike HC05 og HC06 kan være forskjellige fra de jeg fikk.

HCO6 vil utføre kommandoer, men viser ikke alltid endrede resultater, f.eks. Navne bytte.

Trinn 1: Evaluering/modifikasjon

Evaluering/modifikasjon
Evaluering/modifikasjon
Evaluering/modifikasjon
Evaluering/modifikasjon
Evaluering/modifikasjon
Evaluering/modifikasjon

Vedlagt er en HC05 skjematisk lik min. To forskjeller jeg vet, er at det er en 2.2K motstand mellom PIO11 (34) og EN -pinnen, og 3.3v -regulatoren er en 3 -pinners pakke og har ikke en CE -pinne. Det vedlagte bildet er en markert skjematisk oversikt over det jeg tror jeg har.

For programmeringsformål er det viktige at pinne 34 -nøkkelen er koblet til EN -pinnen gjennom en 2,2K motstand. (Den er også koblet til trykknappen, den andre siden er koblet til 3,3V)

Lager HC05 krever 5V strøm, selv om det fungerer med 3.3V signaler, så jeg endret HCO5 for å bruke 3.3V i stedet. Jeg fjernet 3.3V -regulatoren og kjørte en jumper fra VCC -pinnen direkte til 3.3V. Dette er vist på det modifiserte skjematiske bildet og det modifiserte HC05 -bildet mitt.

Forresten, det vedlagte HC05 Command Set.pdf har verdifull informasjon om bruk av HC05, dessverre er det ikke veldig brukervennlig.

Trinn 2: Programmering av HC05

Programmering av HC05
Programmering av HC05
Programmering av HC05
Programmering av HC05

Jeg bestemte meg for at den enkleste måten å bruke HC05 var å koble den til en av mine CP2102 3.3V serielle adaptere som jeg gjorde i Old Man And Bluetooth Instructable med en HC06. Se bilde og skjematisk.

VIKTIG TIPS: For å slå på HC05 i kommandomodus, må PIO11 -pinnen (34) være høy før 3,3V påføres. EN -pinnen på min HC05 er koblet til PIO11 gjennom en 2,2K motstand, så den må bare bindes til 3,3V. Skjematisk viser dette som programpinnene, men bare legg en jumper fra 3.3V til EN -pinne. Sørg for at du gjør dette før du bruker strøm. På min kan du fortelle om du er i kommandomodus fordi HC05 LED vil blinke sakte. Hvis det blinker fort, er du i paringsmodus og må prøve igjen.

TIPS: HC05 i kommandomodus snakker alltid med 38400 baudhastighet. Alle kommandoer er med store bokstaver og må følges av en CR og LF. (Dette er annerledes enn HC06)

TIPS: Kommandoformatet er veldig strengt. Bruk alltid caps. De starter alle med "AT" Følg dem nøyaktig, du kan ikke legge til mellomrom der de ikke vises.

Start Arduino. Gå til "Verktøy" "Port" og velg Com -porten som CP2102 er koblet til.

Åpne Serial Monitor. Velg "Både NL og CR" og "38400 baud" nederst i vinduet. (NL står for New Line som er det samme som LF som er Line Feed).

Mot toppen er det en boks ved siden av Send -knappen, klikk på den.

Slå på Caps Lock på PCen

Skriv AT

Det store vinduet skal vise "OK".

Du kommuniserer i kommandomodus

Noen kommandoer som fungerer på min

AT+RESET

I+VERSJON?

AT+NAME?

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

AT+NAME = BT1 Dette endrer navnet til BT1

AT+ROLLE? 0 = Slave 1 = Master

Trinn 3: HC06 revidert

HC06 Revidert
HC06 Revidert

En av de viktigste forskjellene mellom HC05 og HC06 er at HC05 kan være master eller slave mens HC06 bare er slave. Det betyr at du kan snakke mellom en HC05 og en HC06. Imidlertid er det mange andre forskjeller.

Selv om jeg kunne ha brukt en Arduino til å sette opp HC06, valgte jeg å bruke en 3.3v CP2102. Se Bilde

Tilkoblinger

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Dette er i utgangspunktet det samme som HC05 bortsett fra at HC06 bare har fire pinner.

Min CP2102 er modifisert for å levere 3.3V

Min HC06 er modifisert for å godta 3.3V

CP2102 USB er koblet til min PC. På min PC bruker jeg Arduino IDE.

Velg riktig "Port" og åpne den serielle skjermen.

På min HC06 blinker den røde lysdioden raskt, noe som indikerer at den er klar til paring, men også kan motta kommandoer.

Noe av denne informasjonen kom fra Martyn Currey:

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

Så hver type HC06 kan være forskjellig, min returnerer VERSION linvorV1.5

For min HC06 (og sannsynligvis alle), er det ingen spesiell prosedyre for å få den til kommandomodus. Tilsynelatende, hvis det ikke er paret, kan du alltid sende kommandoer via den serielle porten.

TIPS: Du kan ikke sende kommandoer til noen Bluetooth -modul (som jeg vet om) via Bluetooth.

Åpne Serial Monitor

Klikk på den første boksen nederst på Serial Monitor og sett til "no line ending"

I utgangspunktet var overføringshastigheten min 9600 baud

Sett på Caps Lock på din PC

I toppboksen skriver du AT

Skriv Enter eller trykk på "Send" -knappen

Skjermen skal vise OK

TIPS: Hvis du ikke får en OK, kan det være fordi overføringshastigheten ble endret eller er annerledes. Du kan prøve forskjellige, helt til du forhåpentligvis finner den riktige.

MERK: Når du sender flere kommandoer, flyttes ikke svardataene til neste linje. Mot bunnen kan du klikke på Slett utdata.

Kommandoer som fungerer for meg:

Kommandosvar

AT+VERSJON OKlinvorV1.5

AT+NAMEFred returnererOKsetname

(Det forteller deg ikke navnet, men hvis det er koblet til via Bluetooth, vises det.)

MERK: Hvis du endrer navnet, vises det gamle navnet på smarttelefonen din til du fjerner paringen og parer den på nytt.

AT+PINxxx Har ikke prøvd det. Defaut er 1234

AT+BAUD8 Endrer overføringshastigheten til 115200

Svar er baudrate, f.eks. 115200

(Etter at du har endret overføringshastigheten, må du endre seriell monitor -overføringshastighet til 115200 for å sende flere kommandoer.

Alternativer for overfø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

MERK: Jeg har ikke prøvd høyere enn 8 115200. Jeg har hørt om folk som prøver høyere priser med dårlige resultater.

De andre kommandoene som skal fungere, men ikke er testet:

AT+PN ingen paritetskontroll (standard)

AT+PO odd oddskontroll

AT+PE jevn paritetskontroll

VIKTIG: På dette tidspunktet vil jeg foreslå at du bestemmer deg for et unikt navn og legger det inn. Jeg vil også foreslå at du bestemmer baudhastigheten du vil kommunisere med, setter den inn og merker HC06 med den.

Trinn 4: Konfigurere HC05 til HC06

Ok, denne instruksen var mest nyttig for meg:

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

Mitt oppsett:

SLAVE finner adresse

HC06 med CP2102 (automatisk i kommandomodus)

Koble CP2102 USB -kabelen til strømmen til HC06.

HC06 -LED -lampen skal blinke raskt (sammenkoblingsmodus).

Åpne innstillinger på smarttelefonen

Gå til Bluetooth

Søk etter ny enhet

Hvis du ser noe som HC06 eller navnet du ga det, velger du dette.

Du vil mest sannsynlig se en rekke tall som 00: 12: 09: 27: 19: 13, det er sannsynligvis det.

Skriv ned denne adressen. (Nummeret er dens unike adresse)

Velg det

Når du blir bedt om en PIN -kode, skriver du inn 1234.

Navnet skal vises.

Hvis du fremdeles ikke har adressen, velger du navnet under "Tidligere tilkoblede enheter".

Klikk på Info, adressen skal vises. Skriv det ned.

Hvis det ikke vises, må du gå ut av oppsettet og åpne Bluetooth Terminal HC-05-appen.

Under Paired Devices finner du navnet, adressen skal stå under det, og skriver det ned.

Slaveoppsett

Hvis HC06 -LED -en ikke blinker, må du slå på strømmen for å få den tilbake i sammenkoblingsmodus.

Start Arduino

Under "Verktøy" "Port" Velg riktig Com -port

Åpne seriell skjerm

Nederst i dette vinduet

Velg “No line ending” og “9600 baud”

HERRE

HC05 med CP2102 satt i kommandomodus (EN jumpered high)

Koble USB -kabelen fra CP2102 til PCen

Jeg fant ut at jeg kan åpne to Arduinos

På den andre Arduino, velg riktig Com -port for HC05

Åpne seriell skjerm

Nederst i vinduet

Velg "Både NL&CR" og "38400 baud"

Følgende er fra ovennevnte Instructable

Hovedkonfigurasjon

De nødvendige AT -kommandoene for å angi konfigurasjonen:

KOMMANDO -SVAR Hva den gjør

AT+ROLE = 1 OK Still HC05 som master

AT+CMODE = 1 OK Koble til spesifikk adresse

MERK: HC06 -adressen er sannsynligvis formatert slik 00: 12: 09: 27: 19: 13

Kommandoen BIND forventer dette 0012, 09, 27193 (du tar ut kolonene, tar de fire første tallene, deretter komma, de to neste tallene, deretter komma, deretter de seks siste tallene)

AT+BIND = 0012, 09, 271913 OK Kobler/binder med HC06

(Forresten, AT +BIND? Svarer med +BIND: 12: 9: 271913)

(Du vil at HC05 -kommunikasjonshastigheten skal være den samme som HC06) for eksempel:

AT+UART = 115200, 0, 0 OK Baud rate 115200 (1stop bit, no parity)

Slik tester du kommunikasjon:

Fjern HC05 EN -jumper, strøm syklus.

Når de to er tilkoblet, blinker HC05 -LED -lampen to ganger i løpet av noen få sekunder, og HC06 -LED -lampen lyser kontinuerlig.

Sett begge com -portene til samme overføringshastighet (uansett hva du konfigurerer)

Sett begge til “Både NL&CR”

Skriv inn noe på Serial Monitor1, Serial Monitor2 skal vise det.

Skriv inn noe på Serial Monitor2, Serial Monitor1 skal vise det.

Gratulerer, du kommuniserer via Bluetooth

Nå har Instructable ovenfor noen skisser om hvordan du bruker modulene med Arduino. For denne instruksen vil jeg ikke fordype meg i dette.

Anbefalt: