Pakeiskite hc 06 modulio spartą Kas yra „Bluetooth“ modulis? Eskizas, kad „Arduino“ veiktų per „Bluetooth“.

05.01.2024

„Bluetooth“ „Arduino“ leidžia belaidžiu būdu prijungti įvairius įrenginius. Galite perduoti pranešimus iš Arduino jutiklių ir valdiklių į Android įrenginius ir atvirkščiai, gauti komandas iš išmaniųjų telefonų per bluetooth. Šiame straipsnyje sužinosime, kaip organizuoti belaidį Arduino projekto veikimą naudojant populiarius ir ne itin nebrangius „Bluetooth“ modulius HC05 ir HC06. Nepatikėsite, bet „Bluetooth“ modulių prijungimas ir programavimas nėra sudėtinga užduotis ir yra prieinama net pradedantiesiems. Įsitikinkime tuo.

Dažnai projektams reikia nuotolinio valdymo arba duomenų perdavimo iš telefono ar kito įrenginio. Vienas iš populiariausių ir patogiausių būdų – duomenų mainai per Bluetooth. UART (serijinė) sąsaja naudojama palaikyti ryšį tarp Arduino plokštės ir kompiuterio. Kadangi bet kuri „Arduino“ plokštė turi bent 1 UART nuoseklųjį prievadą, „Bluetooth“ moduliui prijungti nereikia specialių bibliotekų ir grandinių.

Populiariausi moduliai yra įrenginiai, pagrįsti BC417 lustu. Ši serija vadinama HC. Moduliai HC-03 ir HC-05 gali būti ir ryšio serveris, ir klientas, jie turi platų AT komandų spektrą.

Norėdami prisijungti prie kompiuterio, jums reikės Bluetooth modulio, Arduino plokštės, jungiamųjų laidų ir kompiuterio. „Arduino“ plokštės valdymo per išmanųjį telefoną ir kompiuterį eskizas bus toks pat, nes abiem atvejais duomenys į mikrovaldiklį bus siunčiami per UART protokolą. „Bluetooth“ modulio prijungimo prie plokštės schema parodyta paveikslėlyje. „Arduino“ RX kaištis yra prijungtas prie TDX, TX prie RDX, GND prie GND, 5 V prie VCC.

Įkeldami eskizą turite išjungti „Bluetooth“ modulį, kitaip atsiras klaida prisijungiant prie „Arduino“. Taip pat išmaniajame telefone ar planšetiniame kompiuteryje turite įdiegti programą, kuri palaiko Android OS, kad galėtumėte siųsti duomenis į modulį. Įdiegę programą, turite atsisiųsti eskizą ir prijungti modulį prie Arduino plokštės. LED blykstės kodo pavyzdys:

Int val; void setup() ( Serial.begin(9600); pinMode(13, OUTPUT); // 13 kontaktas yra šviesos diodas, deklaruojamas kaip išėjimas ) void loop() ( if (Serial.available()) // tikrinamos pateiktos komandos ( val = Serial.read(); if (val == "1") (digitalWrite(13, HIGH);) // esant 1, LED įsijungia if (val == "0") (digitalWrite(13, LOW) )) / / esant 0, šviesos diodas išsijungia ) )

Dabar reikia sukonfigūruoti ryšį tarp telefono ir modulio. Norėdami užmegzti ryšį, turite eiti į telefono nustatymus ir įjungti Bluetooth. Suradę įrenginį, turite įvesti slaptažodį – paprastai „1234“ arba „0000“. Po to turite eiti į programą, spustelėti mygtuką „prijungti Bluetooth“ ir pasirinkti norimą įrenginį. Jei susiejimas sėkmingas, modulio šviesos diodas pradės mirksėti lėčiau, maždaug kartą per 2 sekundes.

Eskize šviesos diodas įsijungia ir išsijungia, kai gaunami skaičiai „1“ ir „0“. Be skaičių, taip pat galite naudoti lotyniškos abėcėlės raides, kurios skiriamos didžiosioms ir mažosioms raidėms.

Lygiai taip pat prie modulio galite prisijungti naudodami kompiuterį. Norėdami tai padaryti, yra įvairių programų, kurios prisijungs prie COM prievado. Kai programa paleidžiama, ji prašo įvesti prievado numerį, greitį ir ryšio tipą. Sėkmingai prisijungus, ekrane atsiras terminalo laukas, į kurį iš klaviatūros reikia įvesti skaičius/raides, kurios įjungia šviesos diodą.

Bluetooth modulio HC 06 aprašymas

Visi esami „Bluetooth“ modulių tipai turi savo ypatybes, tačiau savo funkcijomis ir veikimu jie yra panašūs. Vienas iš modulių tipų yra Bluetooth HC 06. Iš Arduino pusės modulis atrodo kaip įprasta nuoseklioji sąsaja, todėl iš karto galite užmegzti sąveiką su įrenginiu savo kompiuteryje.

Pagrindinės modulio savybės:

  • Maitinimas 3,3V – 6V;
  • Maksimali įėjimo įtampa 5 V;
  • Maksimali srovė 45 mA;
  • Duomenų perdavimo sparta 1200–1382400 bodų;
  • Darbiniai dažniai 2,40 GHz – 2,48 GHz;
  • Palaiko "Bluetooth" specifikacijos 2.1 versiją;
  • Mažas energijos suvartojimas;
  • Aukštas duomenų apsaugos lygis;
  • Ryšio nuotolis 30 m;
  • Norint prisijungti prie išmaniojo telefono, naudojami šie duomenys - slaptažodis „1234“, duomenų perdavimo sparta 9600, modulio pavadinimas HC-06.

Modulis turi šiuos kontaktus:

  • VCC, GND – maitinimo pliusas ir minusas;
  • RX ir TX – imtuvas ir siųstuvas;
  • MCU-INT – rodo būseną;
  • Išvalyti (iš naujo) – iš naujo nustatykite ir paleiskite modulį iš naujo. Paskutiniai du kaiščiai dažniausiai nenaudojami, todėl dabar gaminami moduliai be šių kaiščių.

HC-06 modulis naudojamas tik pavaldiniu režimu, tai yra, jis negali savarankiškai prisijungti prie kitų "Bluetooth" įrenginių. Visus ryšio nustatymus „slaptažodis, duomenų perdavimo greitis“ galima keisti naudojant AT komandas.

Modulio pakuotėje nėra jungiamųjų laidų.

Bluetooth modulių HC 05 ir HC 06 palyginimas

HC 05 ir HC 06 moduliai yra dažniausiai naudojami ir parduodami dažniau nei kiti. Šių modulių veikimo principas panašus, abu moduliai yra pagrįsti ta pačia mikroschema, tačiau yra ir svarbių skirtumų. Visų pirma, modulis HC 05 gali veikti dviem darbo režimais – ir kaip pagrindinis, ir kaip pagalbinis.

Abu moduliai yra dvi lituotos plokštės. Vienas iš jų yra gamykliškai sumontuotas su mikroschema, kitas reikalingas naminiams įrenginiams, jame yra GPIO kaiščiai, kurių standartinis žingsnis yra 2,54 mm, ir įtampos stabilizatorius.

HC-05 modulis yra šiek tiek brangesnis, tačiau turi daugiau naudingų veikimo funkcijų.

HC-05 modulio kontaktas:

  • LT – galios valdymas;
  • Maitinimo VCC;
  • RX, TX;
  • STATE – indikacija;
  • KEY – įjungia valdymo režimą naudojant AT komandas. Kai KEY=0 – duomenų perdavimas, kai KEY=1 – AT komandos.

Numatytasis AT komandų perdavimo greitis HC-05 yra 38400, HC-06 – 9600. Svarbu tai, kad HC-05 AT komandų pabaigoje turi būti CRLF simboliai.

Pagrindinės HC-05 charakteristikos:

  • Darbiniai dažniai 2,4 – 2,48 GHz;
  • Perdavimo galia 0,25 – 2,5 mW;
  • Diapazonas 10 m;
  • Maksimalus duomenų apsikeitimo greitis 115200 bodų;
  • Maitinimas 3,3V;
  • Srovė 30-40 mA;
  • Darbinė temperatūra nuo -25C iki 75C.

Abiejų modulių prijungimas prie Arduino plokštės yra vienodas.

Modulio prijungimo naudojant skirstytuvą parinktis Pateikta Arduino Nano, tačiau ji veiks ir su Uno plokšte.

Išvada

Šiame straipsnyje apžvelgėme kai kurių dažniausiai naudojamų Arduino modulių prijungimo ir darbo su jais parinktis Bluetooth HC05, HC06. Su šiais moduliais jums neturėtų kilti jokių ypatingų sunkumų – tiesiog prijunkite jį prie kaiščių su aparatine ar programine įranga UART, o tada naudokite tradicines bibliotekas (Serial moduliui, prijungtam prie 0, 1 kaiščių, SoftwareSerial, jei jungiatės prie kitų).

„Bluetooth“ prijungimas prie „Arduino“ projekto gali žymiai padidinti jūsų galimybę bendrauti su kitais įrenginiais. Stebėti jutiklių būsenas ir keisti sistemos parametrus galėsite neperkraunant valdiklio. Ir, žinoma, galite lengvai sukurti robotus ir automobilius naudodami „Arduino“, valdomą „Bluetooth“ ryšiu iš išmaniojo telefono. Tikimės, kad perskaitę šį straipsnį galėsite sukurti savo pirmąjį projektą.

HC-05 Bluetooth modulis jungiasi per UART magistralę ir gali vykdyti AT komandas. AT komanda yra eilutė, prasidedanti raidėmis "AT" (iš anglų kalbos adresu dėmesys - „dėmesys“). Modulis vykdo gautą komandą ir siunčia atgal atsakymą (komandos rezultatą), kuris taip pat yra eilutė. HC-05 Bluetooth moduliuose kiekviena komanda (taip pat ir atsakymas) turi baigtis naujos eilutės simboliais „\r\n“.

Ryšys:

  • HC-05 Bluetooth modulis gali būti valdomas iš kompiuterio arba per mikrovaldiklį, pavyzdžiui, Arduino. Modulio RX kontaktas yra prijungtas prie TX kaiščio, o modulio TX kontaktas yra prijungtas prie įrenginio, iš kurio jis bus valdomas, RX kaiščio.
  • Norėdami prijungti modulį prie kompiuterio(be mikrovaldiklių) reikės USB-UART adapterio, arba RS232-UART adapterio, arba programuotojo su TX RX kontaktais vietoj USB-UART adapterio, galite naudoti Arduino plokštę, kaip aprašyta straipsnyje; Norėdami siųsti komandas į modulį, turėsite įdiegti terminalo programą. Vienas iš šių terminalų yra laisvai platinama programa Termite su rusų kalbos palaikymu.
  • Norėdami prijungti modulį prie Arduino Galite naudoti aparatinę arba programinę UART magistralę. Naudojant aparatūros magistralę, modulis jungiamas prie plokštėje nurodytų TX ir RX kaiščių. Naudojant programinės įrangos magistralę, modulis prijungiamas prie priskirtų Arduino TX ir RX kaiščių.

Nustatymas:

HC-05 Bluetooth modulis galės priimti komandas tik tada, jei šie nuosekliojo prievado parametrai bus tinkamai sukonfigūruoti:

  • Skaičiusprievadas: Galite tai išsiaiškinti eksperimentiškai, atjunkite adapterį arba Arduino, pažiūrėkite, kokie prievadai yra. Prijunkite adapterį arba Arduino ir dar kartą pažiūrėkite, kokie prievadai yra. Rodomas prievadas yra tas pats.
  • Duomenų perdavimo sparta:Įprastu režimu HC-05 Bluetooth modulis išlaiko paskutinį nustatytą duomenų perdavimo spartą, tačiau pagal numatytuosius nustatymus jis yra 38400 bps (retai 9600 bps). Jei abu greičiai netinka, žiūrėkite pastabą straipsnio pabaigoje.
  • Duomenų perdavimo parametrai: Modulis išsaugo paskutinius nustatytus duomenų perdavimo parametrus. Numatytosios parametrų reikšmės: bitų skaičius pakete – 8, stop bito dydis = 1, pariteto tikrinimas nėra.
  • Perduotas tekstas: Turite nustatyti elementą „Pridėti simbolius CR & LF(NL)“, tai yra eilutės tiekimo simboliai „\r\n“, kurių negalite įdėti į AT komandų pabaigą.

Norėdami sukonfigūruoti šiuos parametrus Termite programoje, spustelėkite mygtuką „Nustatymai“. Tame pačiame lange galite nustatyti rusų kalbą.

Kai naudojate „Arduino“, prievado numeris nurodomas skirtuke „Įrankiai“. Duomenų perdavimo parametrai naudojami pagal numatytuosius nustatymus. Norėdami pridėti NL ir CR simbolių, naudokite meniu, esantį apatiniame dešiniajame serijinio monitoriaus kampe.

Egzaminas:

Po kiekvieno modulio maitinimo prijungimo ar perkrovimo, prieš siunčiant komandas, reikia trumpai paspausti modulio mygtuką. Jei modulis neturi mygtuko, tada trumpam pritaikykite aukštą lygį prie kaiščio K. Po to modulis liks įprastu režimu, bet priims AT komandas. Be įprasto režimo, modulis gali veikti AT komandų režimu. Kaip įjungti šį režimą ir kuo jis skiriasi nuo įprasto režimo, aprašyta toliau pastabų skyriuje.

Norėdami patikrinti ryšį su „Bluetooth“ moduliu, išsiųskite testavimo komandą AT(įveskite tekstą AT ir paspauskite Enter). Jei ryšys užmegztas teisingai, modulis reaguos Gerai. Po to galite siųsti kitas AT komandas.

AT komandos:

Jei terminalo programa nurodo pridėti simbolius CR & LF arba NL & CR, tada simbolių „\r\n“ į komandas įterpti nereikia!
Komandos gali būti įprastos: AT+COMMAND\r\n , užklausos: AT+COMMAND?\r\n , arba nustatymai: AT+COMMAND=PARAMETER(S)\r\n .

AT komanda: Atsakymas: Paskirtis:
AT AT\r\n Gerai\r\n Bandymo komanda:
Naudojamas ryšiui su moduliu patikrinti.
RESET AT+ATSTATYTI\r\n Gerai\r\n Modulio minkštojo atstatymo komanda:
Modulis elgiasi taip, tarsi po trumpo elektros tiekimo nutraukimo.
VERSIJA AT+VERSION?\r\n +VERSION: VERSIJA\r\n
Gerai\r\n
Prašyti modulio programinės aparatinės įrangos versijos:
Modulis grąžina versiją kaip iki 32 baitų eilutę.
Atsakymo pavyzdys: +VERSION:hc01.comV2.1\r\n Gerai\r\n
AT+ORGL AT+ORGL\r\n Gerai\r\n Iš naujo nustatyti vartotojo nustatymus:
Modulis iš naujo nustato šiuos nustatymus:
KLASĖ=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, PAVADINIMAS=hc01.com.
ADDR AT+ADDR?\r\n +ADDR: ADRESAS\r\n
Gerai\r\n
Modulio adreso užklausa:
Modulis grąžina tris adreso NAP:UAP:LAP dalis, atskirtas dvitaškiu.
Kiekviena dalis susideda iš šešioliktainių skaitmenų.
Atsakymo pavyzdys: +ADDR:1234:56:789ABC\r\n Gerai\r\n
VARDAS AT+NAME?\r\n +NAME: VARDAS\r\n
Gerai\r\n
Užklausa / nustatyti modulio pavadinimą:
Modulio pavadinimas pateikiamas kaip iki 32 baitų ilgio eilutė.
Atsakymo pavyzdys: +NAME:iArduino\r\n Gerai\r\n
Diegimo pavyzdys: AT+NAME=iArduino\r\n
Kai kurie moduliai reaguoja į komandą AT+NAME?\r\n tik tada, kai paspaudžiamas modulio mygtukas arba K įvestis yra aukšta.
AT+NAME= VARDAS\r\n Gerai\r\n
RNAME AT+RNAME? ADRESAS\r\n +RNAME: VARDAS\r\n
Gerai\r\n
Rasto „Bluetooth“ įrenginio pavadinimo užklausa:
Adresas įrašomas po tarpo, o adreso dalys (NAP,UAP,LAP) atskiriamos kableliu. Modulis grąžina aprėpties zonoje rasto Bluetooth įrenginio, kurio adresas buvo užklausoje, pavadinimą.
Užklausos pavyzdys: AT+NAME? 1234.56.789ABC\r\n
Atsakymo pavyzdys: +RNAME:iArduino\r\n Gerai\r\n
VAIDMUO AT+ROLE?\r\n +ROLE: VAIDMUO\r\n
Gerai\r\n
Prašyti / nustatyti modulio vaidmenį:
Modulio vaidmuo pavaizduotas skaičiumi:
0 - vergas, 1 - pagrindinis, 2 - vergas cikle*.
Atsakymo pavyzdys: +ROLE:1\r\n
Diegimo pavyzdys: AT+ROLE=0\r\n
AT+ROLE= ROLE\r\n Gerai\r\n
KLASĖ AT+KLASS?\r\n + KLASĖ: TIPAS\r\n
Gerai\r\n
Užklausa / nustatyti įrenginio tipą:
Įrenginio tipas vaizduojamas 32 bitų skaičiumi, pagal kurį galima nustatyti modulio paskirtį: Bluetooth klaviatūra, Bluetooth pelė, ausinės...
Nustatymo pavyzdys: AT+CLASS=0\r\n
AT+KLASS= TYPE\r\n Gerai\r\n
IAC AT+IAC?\r\n +IAC: KODAS\r\n Gerai\r\n Prašyti / nustatyti GIAC bendrinamą prieigos kodą:
Kodas pateikiamas kaip 32 bitų skaičius ir naudojamas Bluetooth įrenginiams aptikti.
Valdytojo vaidmenyje, naudodamas šį kodą, modulis gaus prieigą prie kitų „Bluetooth“ įrenginių, kad galėtų juos ieškoti (tirti), o kaip vergas, naudojant šį kodą, bus suteikta prieiga, kad modulį galėtų apklausti kiti. meistrai.
Atsakymo pavyzdys: +IAC:9e8b33\r\n Gerai\r\n
Diegimo pavyzdys: AT+IAC=9e8b33\r\n
AT+IAC= KODAS\r\n Gerai\r\n
arba
NESKAIČIUS\r\n
INQM AT+INQM?\r\n +INQM: REŽIMAS,PLOK,LAIKAS\r\n
Gerai\r\n
Užklausa / nustatyti modulio apklausos režimą:
Naudojami parametrai yra kitų Bluetooth įrenginių paieškos komandos (apklausos) nustatymai.
- Paieškos režimas žymimas skaičiumi:
0 standartas, 1 paieška pagal signalo intensyvumą.
- Kiekis nurodomas skaičiumi, kuris nustato maksimalų rastų Bluetooth įrenginių skaičių, po kurio paieška turi būti sustabdyta.
- Paieškos laikas nustato skirtąjį laiką, po kurio paieška sustabdoma. Tikrasis paieškos laikas sekundėmis yra lygus nurodytam skaičiui, padaugintam iš 1,28.
Atsakymo pavyzdys: +INQM:1,1,48\r\n Gerai\r\n
Diegimo pavyzdys: AT+INQM:1,1,48\r\n
AT+INQM= REŽIMAS, SKAIČIUS, LAIKAS\r\n Gerai\r\n
arba
NESKAIČIUS\r\n
PSWD AT+PSWD?\r\n +PSWD: KODAS\r\n
Gerai\r\n
Prašyti / nustatyti PIN kodą:
Prieigos kodas pateikiamas kaip iki 16 baitų ilgio eilutė.
Modulio kodas, esantis pagalbiniame vaidmenyje, yra prieigos prie dabartinio modulio slaptažodis.
Modulio, kaip pagrindinio įrenginio, kodas yra išorinių Bluetooth įrenginių prieigos slaptažodis.
Atsakymo pavyzdys: +PSWD:1234\r\n Gerai\r\n
Diegimo pavyzdys: AT+PSWD=1234arduino\r\n
AT+PSWD= KODAS\r\n Gerai\r\n
UART AT+UART?\r\n +UART: SKOR,SUSTABDYTI,PROV\r\n
Gerai\r\n
Užklausa / nustatyti UART greitį:
Greitis nurodomas bitų skaičiumi per sekundę
Stop bitas žymimas skaičiumi: 0 – vienas, 1 – du
Čekis žymimas skaičiumi: 0 - nėra čekio,
1 – nelyginio pariteto tikrinimas, 2 – lyginio pariteto tikrinimas.
Atsakymo pavyzdys: +UART:38400,0,0\r\n Gerai\r\n
Diegimo pavyzdys: AT+UART=38400,0,0\r\n
AT+UART= SPEED, STOP, CHECK\r\n Gerai\r\n
CMODE AT+CMODE?\r\n +CMOD: REŽIMAS\r\n
Gerai\r\n
Prašyti / nustatyti ryšio režimą:
Režimas žymimas skaičiumi:
0 - modulis kaip pagrindinis jungiasi tik prie Bluetooth įrenginio, kurio adresas nurodytas komanda AT+BIND.
1 - modulis kaip pagrindinis jungiasi prie bet kurio Bluetooth pagalbinio įrenginio.
2 - modulis kaip pavaldinys veikia ciklu*
Atsakymo pavyzdys: +CMOD:0\r\n Gerai\r\n
Diegimo pavyzdys: AT+CMOD=1\r\n
AT+CMODE= MODE\r\n Gerai\r\n
ĮPAREIGOTI AT+BIND?\r\n +BIND: ADRESAS\r\n
Gerai\r\n
Prašyti / nustatyti fiksuotą adresą:
Jei modulis atlieka pagrindinio valdiklio vaidmenį (ROLE=1) ir nustatytas prisijungimo prie fiksuoto adreso režimas (CMODE=0), tada jis prisijungs tik prie to Bluetooth įrenginio, kurio adresas nurodytas šia komanda.
Įvedamos adreso dalys: nustatant, atskiriamos kableliu, o atsakant – dvitaškiu.
Atsakymo pavyzdys: +BIND:1234:56:789ABC\r\n Gerai\r\n
Diegimo pavyzdys: AT+BIND=0,0,0\r\n
AT+BIND= ADRESAS\r\n Gerai\r\n
POLAR AT+POLAR?\r\n +POLAR: LOG,LOG\r\n
Gerai\r\n
Norėdami įjungti šviesos diodus, užklauskite / nustatykite aktyvų loginį lygį:
Poliškumas žymimas skaičiumi 0 arba 1, atitinkančiu aktyvų loginį lygį.
Pirmasis parametras nurodo prie PIO8 kaiščio prijungto šviesos diodo įjungimo loginį lygį (rodo veikimo režimą), o antrasis – prie PIO9 kaiščio prijungto šviesos diodo (rodo ryšio būseną).
Atsakymo pavyzdys: +POLAR:1,1\r\n Gerai\r\n
Diegimo pavyzdys: AT+POLAR=1,1\r\n
AT+POLAR= LOG, LOG\r\n Gerai\r\n
PIO AT+PIO= NUMBER,LEVEL\r\n Gerai\r\n PIO loginio lygio nustatymas:
Leidžia nustatyti PIO kaiščio loginį lygį. Smeigtuko numeris žymimas skaičiumi nuo 2 iki 11, išskyrus 8 ir 9. Lygis žymimas skaičiumi 0 arba 1.
Diegimo pavyzdys: AT+PIO=11.0\r\n
MPIO AT+MPIO?\r\n +MPIO: NUMERIS\r\n
Gerai\r\n
Užklausa / nustatyti PIO logikos lygius:
Leidžia sužinoti arba nustatyti loginius lygius visuose PIO kaiščiuose vienu metu.
Lygiai pavaizduoti šešioliktainiu skaičiumi, kurių kiekvienas bitas atitinka PIO kaiščio lygį.
Atsakymo pavyzdys: +MPIO:1F0\r\n Gerai\r\n
Diegimo pavyzdys: AT+MPIO:CFC\r\n
AT+MPIO= NUMBER\r\n Gerai\r\n
IPSCAN AT+IPSCAN?\r\n +IPSCAN: A,B,IN,G\r\n
Gerai\r\n
Prašyti / nustatyti IP nuskaitymo parametrus:
A – nuskaitymo intervalas
B - skenavimo trukmė
B – tarpai tarp puslapių
G – puslapių skaičius
Atsakymo pavyzdys: +IPSCAN:1024,512,1024,512\r\n Gerai\r\n
Diegimo pavyzdys: AT+IPSCAN:1024,512,1024,512\r\n
AT+IPSCAN= A, B, C, D\r\n Gerai\r\n
UŽDUOTIS AT+SNIFF?\r\n +SNIFF: A,B,IN,G\r\n
Gerai\r\n
Prašyti / nustatyti energijos taupymo režimo parametrus:
A – maksimalus laikas
B – minimalus laikas
B - pasikartojimo laikotarpis
G – skirtasis laikas
Atsakymo pavyzdys: +SNIFF:0,0,0,0\r\n Gerai\r\n
Diegimo pavyzdys: AT+SNIFF=0,0,0,0\r\n
AT+SNIFF= A, B, C, D\r\n Gerai\r\n
ENNSNIFF AT+ENSNIFF= ADRESAS\r\n Gerai\r\n Perjungimas į energijos taupymo režimą:

Komandos pavyzdys: AT+ENSNIFF=1234,56,789ABC\r\n
EXSNIFF AT+EXSNIFF= ADRESAS\r\n Gerai\r\n Išėjimas iš energijos taupymo režimo:
Adreso dalys įvedamos atskirtos kableliais (NAP,UAP,LAP)
Komandos pavyzdys: AT+EXSNIFF=1234,56,789ABC\r\n
SENM AT+SENM?\r\n +SENM: PASLAPTIS,ČIFARAS\r\n
Gerai\r\n
Užklausa / nustatyti saugos parametrus:
Privatumo režimas žymimas skaičiumi:
0 - neįgalus
1 – neapsaugotas ryšys
2 - apsauga aptarnavimo lygiu
3 - jungties lygio apsauga
4 - nežinomas režimas
Šifravimo režimas žymimas skaičiumi:
0 – nėra šifravimo
1 – šifruojamas tik PTP srautas
2 – visas srautas užšifruotas
Atsakymo pavyzdys: +SENM:0,0\r\n Gerai\r\n
Diegimo pavyzdys: AT+SENM:0,0\r\n
AT+SENM= PASLAPTIS, CIPHER\r\n Gerai\r\n
PMSAD AT+PMSAD= ADRESAS\r\n Gerai\r\n Įrenginio pašalinimas iš susiejimo sąrašo:
Pašalinus „Bluetooth“ įrenginį iš sąrašo, norint prie jo prisijungti, reikės iš naujo susieti.
Ištrintino įrenginio adreso dalys įvedamos atskirtos kableliais (NAP,UAP,LAP)
Komandos pavyzdys: AT+PMSAD=1234,56,789ABC\r\n
RMAAD AT+RMAAD\r\n Gerai\r\n Visų įrenginių pašalinimas iš porų sąrašo:
Išvalius šį sąrašą, norint prie jų prisijungti, reikės iš naujo susieti su „Bluetooth“ įrenginiais.
FSAD AT+FSAD= ADRESAS\r\n Gerai\r\n
arba
NESKAIČIUS\r\n
Ieškant įrenginio porų sąraše:
Jei sąraše yra Bluetooth įrenginys su nurodytu adresu, modulis grąžins OK\r\n kitaip FAIL\r\n .
Adreso dalys įvedamos atskirtos kableliais (NAP,UAP,LAP)
Užklausos pavyzdys: AT+FSAD=1234,56,789ABC\r\n
ADCN AT+ADCN?\r\n +ADCN: KIEKIS\r\n
Gerai\r\n
Įrenginių skaičiaus porų sąraše užklausa:
Sudarius pagrindinio ir pavaldinio porą, duomenys apie porą automatiškai įtraukiami į porų sąrašą ir vėlesniems ryšiams (net ir nutrūkus maitinimui) poros atkurti nereikia.
Atsakymo pavyzdys: +ADCN:10\r\n Gerai\r\n
MRAD AT+MRAD?\r\n +MRAD: ADRESAS\r\n
Gerai\r\n
Įrenginio adreso užklausa iš porų sąrašo:
Modulis grąžins Bluetooth įrenginio adresą iš porų, su kuriomis buvo užmegztas paskutinis sėkmingas ryšys, sąrašo.
Adreso dalys atskirtos dvitaškiu (NAP:UAP:LAP)
Atsakymo pavyzdys: +MRAD:1234:56:789ABC\r\n Gerai\r\n
VALSTYBĖ AT+STATE?\r\n +STATE: STATUSAS\r\n
Gerai\r\n
Užklausos modulio būsena:
Modulis grąžins savo dabartinę būseną kaip eilutę:
INICIALIZUOTA – inicijavimas
READY - paruošta
PAIRABLE – poros formavimas
PAIRED – susidaro pora
TEISIMO – prašymas
JUNGIMAS – jungtis
CONNECTED – prijungtas
DISCONNECTED – atjungtas
NUKNOW – nežinoma būsena
Atsakymo pavyzdys: +STATE:CONNECTED\r\n Gerai\r\n
INIT AT+INIT\r\n Gerai\r\n
arba
NESKAIČIUS\r\n
SPP profilio inicijavimas:
SPP profilis imituoja nuoseklųjį prievadą.
INQ AT+INQ\r\n +INQ:ADRESAS,TIPAS,SIGNALAS\r\n
+INQ:ADRESAS,TIPAS,SIGNALAS\r\n
...
+INQ:ADRESAS,TIPAS,SIGNALAS\r\n
Ieškoti (apklausa) „Bluetooth“ įrenginių:

Modulis ieško diapazone esančių „Bluetooth“ įrenginių ir rodo kiekvieną rastą modulį naujoje eilutėje. Paieškos (tardymo) režimas nustatomas komanda AT+INQM, užklausos kodas – komanda AT+IAC, ieškomų įrenginių tipas nurodomas komanda AT+CLASS. Paieška baigiama, kai pasiekiamas maksimalus rastų „Bluetooth“ įrenginių skaičius arba kai pasiekiamas skirtasis laikas, arba naudojant komandą AT+INQC.
Atsakymo pavyzdys: +INQ:1234:56:789ABC,240404,7FFF
INQC AT+INQC\r\n Gerai\r\n Užbaikite Bluetooth įrenginių paiešką (apklausą):
Nutraukiama „Bluetooth“ įrenginių paieška, inicijuota komanda AT+INQ anksčiau laiko
PORA AT+PAIR= ADRESAS, LAIKAS\r\n Gerai\r\n
arba
NESKAIČIUS\r\n
Susiekite su „Bluetooth“ įrenginiu:
„Bluetooth“ įrenginių susiejimą arba susiejimą inicijuoja pagrindinis įrenginys.
Laikas nurodomas kaip dešimtainis skaičius sekundėmis.
Jei pora bus sukurta, informacija apie ją bus automatiškai įrašoma į porų sąrašą, modulis atsakys OK\r\n ir tada galėsite prijungti Bluetooth įrenginį naudodami komandą AT+LINK. Jei pora nesukurta (pavyzdžiui, PIN kodas nesutampa arba baigėsi laikas), modulis atsakys FAIL\r\n .
Komandos pavyzdys: AT+PAIR=1234,56,789ABC,10\r\n
LINK AT+LINK= ADRESAS\r\n Gerai\r\n
arba
NESKAIČIUS\r\n
Prisijunkite prie „Bluetooth“ įrenginio:
Įvykdę šią komandą, galite susisiekti su prijungtu Bluetooth įrenginiu.
Komanda pasiekiama moduliui kaip vadovui.
Komandos pavyzdys: AT+LINK=1234,56,789ABC\r\n
DISKAS AT+DISKAS\r\n +DISKAS: REZULTATAS\r\n
Gerai\r\n
Atsijungti nuo „Bluetooth“ įrenginio:
Komanda nurodo moduliui atsijungti nuo Bluetooth įrenginio, su kuriuo buvo užmegztas ryšys. Atjungus Bluetooth įrenginį, informacija apie jį išsaugoma porų sąraše. Jei vėl reikės prisijungti prie šio įrenginio, susieti nereikės (nebent Bluetooth įrenginys būtų sąmoningai pašalintas iš porų sąrašo).
Įvykdęs komandą, modulis atsakys pateikdamas jos vykdymo rezultatą:
SĖKMĖ – sėkmė
LINK_LOSS – ryšys nutrūko
NO_SLC – nėra SLC
TIMEOUT – skirtasis laikas baigėsi
ERROR – klaida
Atsakymo pavyzdys: +DISKAS: SĖKMĖS\r\n Gerai\r\n

* Vergas kilpoje- tai modulio vergas vaidmuo, kai jis siunčia atgal viską, ką gauna iš pagrindinio.
** Modulis reaguoja į kai kurias komandas tik tada, kai paspaudžiamas modulio mygtukas arba K kaištyje yra aukštas lygis.

Modulio sugeneruotų klaidų aprašymas:

Jei siunčiate komandą, kurios modulis nežino, negali vykdyti arba komandoje yra neteisingi argumentai, modulis grąžins eilutę „ERROR:( NUMERIS)“, kur pagal nurodytą šešioliktainį skaičių galite nustatyti, kuo modulis „prisiekia“.

Klaida Nr. Klaidos aprašymas
0 Neteisinga AT komanda (nėra tokios komandos)
1 Numatytasis rezultatas
2 Išsaugant slaptažodį įvyko klaida
3 Įrenginio pavadinimas per ilgas (daugiau nei 32 baitai)
4 Įrenginio pavadinimas nenurodytas
5 Dalis NAP adreso per ilga (daugiau nei 4 šešioliktainiai skaitmenys)
6 UAP adreso dalis per ilga (daugiau nei 2 šešioliktainiai skaitmenys)
7 LAP adreso dalis per ilga (daugiau nei 6 skaitmenys šešioliktaine forma)
8 PIO prievado kaukė nenurodyta
9 PIO PIN kodas nenurodytas
A Įrenginio tipas (klasė) nenurodytas
B Įrenginio tipas (klasė) per ilgas
C Bendrasis IAC prieigos kodas (Inquire Access Code) nenurodytas
D IAC (Inquire Access Code) per ilgas
E Neteisingas užklausos prieigos kodas
F Nenurodytas slaptažodis (arba slaptažodis tuščias)
10 Slaptažodis per ilgas (daugiau nei 16 baitų)
11 Netinkamas modulio vaidmuo
12 Netinkamas duomenų perdavimo sparta
13 Neteisingas stop bito dydis
14 Neteisingas pariteto bitų nustatymas
15 Įrenginio nėra porų sąraše (suporuotų „Bluetooth“ įrenginių sąraše)
16 Serijinio prievado profilis (SPP) nebuvo inicijuotas
17 SPP profilio iš naujo inicijavimas (SPP, nuosekliojo prievado profilis)
18 Netinkamas „Bluetooth“ įrenginio apklausos režimas
19 Balsavimo laikas per ilgas
1A Bluetooth įrenginio adresas nenurodytas
1B Neteisingas saugos režimas (slaptumas)
1C Netinkamas šifravimo režimas

Pastaba:

Jei paspausite mygtuką arba iš karto pritaikysite aukštą lygį K įėjimui tuo metu, kai modulis įjungiamas (tiekiamas maitinimas), modulis persijungs į AT komandų režimą. Šiuo režimu modulis neprisijungs prie kitų modulių, tačiau šis režimas turi fiksuotą greitį = 38400 bps. Jei sąrankos metu įprastu modulio veikimo režimu negalėjote nustatyti modulio greičio, galite įjungti šį režimą ir nustatyti naują greitį. Naujai nustatytas greitis įsigalios tik įprastu režimu, tam reikės perkrauti modulį nelaikant mygtuko ir netaikius aukšto lygio K įėjimui įjungimo momentu. Atminkite, kad įprastu režimu, ne anksčiau kaip po pusės sekundės po maitinimo įjungimo (arba perkrovimo), turite trumpai paspausti mygtuką arba pritaikyti trumpalaikį aukštą modulio K įvesties lygį, kitaip jis nepriims AT komandas.

Jei norite programiškai „paspausti“ mygtuką, bet jūsų modulis neturi K kaiščio, naudokite komandą AT+PIO=11,LYGIS\r\n , kur lygis pavaizduotas skaičiumi 1 arba 0, atitinkančiu nustatytą loginį lygį. ( AT+PIO=11.0\r\n – mygtukas atleistas , AT+PIO=11.1\r\n – mygtukas paspaustas).

Kai kurie moduliai turi En kaištį, kuris valdo maitinimą ir yra prijungtas prie Vcc. Jei En kaiščiui taikomas žemas loginis lygis, lustų maitinimas bus išjungtas. Šis kaištis gali būti naudojamas programiškai įjungti AT komandų režimą. Jei iš karto pašalinę žemą lygį nuo En kaiščio, duosite komandą AT+PIO=11,1\r\n tai bus tolygu modulio įjungimui paspaudus mygtuką.

Sukuriamas vergas, laukiantis, kol šeimininkas prisijungs:

  • AT+DISKAS
  • AT+ORGL
  • AT+RMAAD\r\n - Išvalykite porų (autorizuotų įrenginių) sąrašą, kad tas, kuris buvo atjungtas, neprisijungtų prie modulio.
  • AT+NAME= iArduino\r\n – Nustatykite modulio pavadinimą (maks. 32 simboliai).
  • AT+PSWD= 1234\r\n - Nustatykite prisijungimo prie modulio PIN kodą (ne daugiau kaip 16 simbolių).
  • AT+ROLE=0\r\n - Nustatykite modulį į vergo vaidmenį (jei jis nebuvo įdiegtas iš naujo nustatant vartotojo nustatymus).
  • AT+ATSTATYTI\r\n – Iš naujo įkelkite modulį.

Ne anksčiau kaip po pusės sekundės po perkrovimo (su komanda AT+ATSTATYTI\r\n ) reikia trumpai paspausti mygtuką arba trumpalaikį aukštą lygį pritaikyti modulio K įėjimui, kitaip jis nepriims naujų AT komandų.

Jei modulis, turintis pagrindinį vaidmenį, yra prijungtas prie pavaldžių modulių pagal jų adresą, o ne per pavadinimą, šio (vergo) modulio adresą galima rasti paleidus komandą AT+ADDR?\r\n.

Pagrindinio įrenginio su jungtimi su vergu sukūrimas:

  • AT+DISKAS\r\n – nutraukti ryšį (jei modulis prijungtas).
  • AT+ORGL\r\n – atstatyti vartotojo nustatymus į numatytąsias reikšmes.
  • AT+RMAAD\r\n – Išvalykite porų (autorizuotų įrenginių) sąrašą, kad modulis nebandytų prisijungti prie to, nuo kurio buvo atjungtas.
  • AT+BIND= ADRESAS\r\n – Nustatykite fiksuotą ryšio adresą (nurodyti „Bluetooth“ pagalbinio įrenginio adresą)
  • AT+CMODE=0\r\n – liepiame moduliui jungtis tik prie fiksuoto adreso
  • AT+ROLE=1\r\n – Nustatykite modulį kaip pagrindinį įrenginį
  • AT+PSWD= 1234\r\n – Prisiminkite „Bluetooth“ pagalbinio įrenginio PIN kodą
  • AT+PAIR= ADRESAS,10\r\n – susiekite su pagalbiniu „Bluetooth“ įrenginiu, nurodydami jo adresą ir skirtąjį laiką 10 sekundžių
  • .

Labai dažnai jūsų projektuose reikia nuotolinio valdymo ar duomenų perdavimo iš telefono įtaisų.

Vienas iš populiariausių ir plačiausiai paplitusių duomenų apsikeitimo per Bluetooth metodų .

Šiandien apžvelgsime paprastus Bluetooth prijungimo pavyzdžius modulį į Arduino ir sukonfigūruokite nuotolinį valdymą iš savo telefono.

Mums reikės:

  • MALE-MAMA laidų komplektas
  • HC-06 Bluetooth

Prijunkite Bluetooth Modulis prie Arduino mikrovaldiklio patogiausias naudojant MALE-MAMALE laidus.

Arduino Bluetooth
1 kaištis (TX) RXD
0 kaištis (RX) TXD
GND GND
5V VCC

Būkite atsargūs, turite prisijungti TX -> RXD ,RX -> TXD .

Dabar reikia užsirašyti programos bandomąjį kodą:

Įkeliant eskizą būtina, kad Bluetooth modulis būtų atjungtas nuo arduino mikrovaldiklio. Priešingu atveju eskizas nebus įrašytas, nes ryšys su Bluetooth Modulis bendrauja per tuos pačius RX ir TX prievadus kaip ir USB.

Int val; int LED = 13; void setup() ( Serial.begin(9600); pinMode (LED, OUTPUT); digitalWrite (LED, HIGH); ) void loop() ( if (Serial.available()) ( val = Serial.read(); / / Kai simbolis yra "1", įjunkite šviesos diodą if (val == "1") ( digitalWrite(LED, HIGH); ) // Kai simbolis yra "0", išjunkite šviesos diodą if (val == "0") (digitalWrite (LED, LOW ); ) ) )

Įrašius eskizą ir „Bluetooth“. Modulis prijungtas prie Arduino, galite pereiti prie kito žingsnio.

Bluetooth prijungimas prie telefono

Kaip arduino maitinimo šaltinį patartina naudoti ne USB, o išorinį 9 V maitinimo šaltinį.

  1. Įjunkite „Bluetooth“ savo telefone ir ieškokite naujų įrenginių
  2. Mes randame sutrikimų sąraše " HC-06" ir prisijungti prie jo.
  3. Telefonas paprašys įvesti PIN kodą. tu turi įvesti " 1234 " arba " 0000 "
  4. Ura. Prietaisas prijungtas.

Dabar turite atsisiųsti „Bluetooth“ terminalą į savo telefoną. Pažiūrėsime į Android platformos pavyzdį.



Galite įdiegti skirtingus "Bluetooth" terminalus, paprastai jie skiriasi tik skirtingu dizainu, funkcionalumas nesikeičia. Taip pat galite rasti terminalą, skirtą iOS produktams.

Įdiegę terminalą, paleidžiame jį, pasirenkame savo bluetooth modulį HC-06 ir prie jo prisijungiame.

Atėjo laikas išbandyti projektą. Terminale įrašome skaičių „0“ ir siunčiame. LED L, esantis ant arduino plokštės šalia 13 kaiščio, turėtų užgesti. Dabar per terminalą siunčiame skaičių „1“ ir turėtų užsidegti L šviesos diodas.

Darbo demonstravimas:


Namų darbai:

  • Pakeiskite eskizą taip, kad šviesos diodas užsidegtų ir užgestų naudojant tą pačią komandą, pavyzdžiui, „G“.
  • Užpildykite eskizą ir išmokykite jį konvertuoti per "Bluetooth" gaunamus tekstinius duomenis į skaitmeninius duomenis ir įdiegti dimerį, įžiebti šviesos diodą naudodami PWM, esant tam tikram ryškumui nuo 0 iki 254 per "Bluetooth".

Norėdami belaidžiu būdu keistis informacija tarp skirtingų įrenginių nedideliais atstumais, galite naudoti „Bluetooth“ technologiją. Šiems tikslams Kinijos pramonė gamina įvairius Bluetooth modulius, tarp kurių HC-05 ir HC-06 modeliai tapo plačiai populiarūs. Vienu metu „Aliexpress“ įsigijau HC-06, su kuriuo atliksiu tolesnius eksperimentus, taip pat prijungsiu jį prie savo kiniško „Arduino“ analogo.

Tiesiogiai pats Bluetooth modulis. Tokia forma jis gali būti naudojamas įvairiuose įrenginiuose, kur jis yra lituojamas tiesiai į plokštę. Modulis turi 34 kontaktus, įskaitant: kaiščius prijungimui prie kompiuterio per UART, garso perdavimą PCM (impulsinio kodo moduliacijos) metodu, analoginį įvestį ir išvestį, kaiščius prijungimui prie USB jungties, SPI sąsają, taip pat bendruosius paskirties prievadai. Tiesą sakant, ne visi šie kaiščiai yra prieinami prieigai prie garso perdavimo kaiščių (5–8), analoginės įvesties ir išvesties (9, 10), taip pat prie USB prijungimo kontaktų grupės (15, 20) yra užblokuotas.

HC-06 sukurtas ant BC417 lusto (BlueCore4-External įrenginio), „Bluetooth V2.0“ specifikacijos. Taip pat yra 26 MHz kvarcinė ir 8 MB „flash“ atmintis. Maitinimas tiekiamas iš 3,3V.

Jūsų projektams patogiausia naudoti modulį su duonos lenta, ant kurios rodomi jungtims reikalingi kontaktai, taip pat yra įtampos stabilizatorius, leidžiantis maitinti nuo 5 voltų.
Pirkdami tokius modulius galite susidurti su skirtingais ženklais. Iš esmės tai yra tas pats įrenginys, kuris skiriasi programine įranga, kuri nustato modulio režimą (pagrindinis / pavaldus).

Skirtumas tarp HC-05 ir HC-06 yra tas, kad HC-05 galima naudoti kaip pagrindinį arba pavaldinį. Šie režimai nustatomi naudojant AT komandas. Mygtukas modulio plokštėje perjungia jį į AT komandos įvesties režimą. Pagrindinis režimas leidžia moduliui pačiam aptikti tokį įrenginį ir organizuoti ryšį su juo. HC-06 modulis gali veikti tik vienu fiksuotu pavaldiniu režimu.

Taip pat yra modelių HC-03 ir HC-04, tačiau jie gaminami pramoniniais tikslais.

HC-06 plokštės kontaktų žymėjimas.

VALSTYBĖ- patikrinti modulio būseną. Šis kaištis dubliuoja signalą, kurį rodo plokštėje įmontuotas šviesos diodas. Jei mirksi labai greitai, modulis yra aktyvios būsenos. Ryšio režimu srovė yra 30-40 mA. Kai modulis užmezga ryšį su kitu įrenginiu, šviesos diodas tiesiog užsidega. Duomenų perdavimo režimu srovė yra 8 mA.
RX- duomenų gavimas.
TX- duomenų perdavimas.
GND- jungiasi prie žemės.
+5V- Maitinimas +5 voltai
LT- įjungti/išjungti modulį. Jei įjungsite loginį 1 (5 voltus) prie šio kontakto, modulis išsijungs, jei pritaikysite loginį 0 arba neprisijungsite prie šio kontakto, modulis veiks.

Pagal numatytuosius nustatymus HC-06 turi pavadinimą, kurį gali aptikti kiti įrenginiai " HC-06", su PIN kodu" 1234 ».

Norint pakeisti šiuos duomenis, reikia prijungti modulį prie kompiuterio ir terminalo programa įvesti AT komandas. Tai galima padaryti naudojant USB į COM adapterį su TTL lygiais. Šiems tikslams tinka adapteris PL2303HX, CH340G ar kitam panašiam. Iki to laiko USB adapterio tvarkyklė jau turėtų būti įdiegta kompiuteryje.

Mes sujungiame kontaktus taip:

HC-06 USB į COM adapteris
+5V +5V
GND GND
RX TX
TX RX

Kai prijungiate šį mazgą prie kompiuterio, raudonas šviesos diodas „Bluetooth“ modulio plokštėje pradės greitai mirksėti. Norėdami įvesti AT komandas, galite naudoti bet kurią terminalo programą, šiam tikslui naudoju Arduino IDE.

Nustatymuose pasirinkite virtualaus COM prievado, prie kurio prijungtas USB adapteris, numerį, mano atveju tai yra COM44. Atidarykime langą" Nuosekliojo prievado monitorius».

Įveskite komandą didžiosiomis raidėmis " AT", jei įrenginys sėkmingai prijungtas, atsakymas turėtų būti pateiktas Gerai“ Numatytasis duomenų mainų greitis yra 9600 bodų.

Norėdami patikrinti programinės aparatinės įrangos versiją, įveskite komandą " AT+VERSION", mano atveju atsakymas grįžo" OKlinvorV1.8».

komanda" AT+NAMEyyy“, kur Oho- savavališkas simbolių rinkinys lotynų kalba, galime pakeisti pavadinimą, pagal kurį bus rastas mūsų "Bluetooth" įrenginio modulis (HC-06 pagal numatytuosius nustatymus). Savo pavyzdyje įvedžiau " AT+NAMEfox“, atsakymas grąžinamas OKsetname.

komanda" AT+PINxxxx“, kur xxxx– atsitiktinis skaičių rinkinys, galite pakeisti PIN kodą (numatytasis 1234). Atsakymas grįžta" OKsetPIN».

komanda" AT+BAUDx“, kur x– reikšmė nuo 1 iki 9, galite keisti perdavimo spartą (numatytasis 9600).

1 - 1200
2 - 2400
3 - 4800
4 - 9600
5 - 19200
6 - 38400
7 - 57600
8 - 115200
9 - 230400

Pavyzdžiui, jei vykdome komandą „ AT+BAUD8", kur 8 yra 115 200 bodų greitis, atsakymas grįš" Gerai 115200».

HC-06 prijungimas prie Arduino.

1 pavyzdys.Įkelkime į Arduino eskizą, su kuriuo per Bluetooth modulį įjungsime ir išjungsime LED, lituotą ant Arduino 13 kaiščio.

int duomenys;
int LED = 13;
negaliojantis nustatymas ()
{
Serial.begin(9600);
pinMode(LED, IŠVESTIS);
skaitmeninis rašymas (LED, AUKŠTAS);
}
void loop ()
{
jei (Serial.available())
{
duomenys = Serial.read();
jei (duomenys == "1")
{
skaitmeninis rašymas (LED, AUKŠTAS);
}
jei (duomenys == "0")
{
skaitmeninis rašymas (LED, LOW);
}
}
}

Jei neturite šio šviesos diodo ant plokštės, prijunkite jį prie 13 kaiščio pagal schemą, rezistorių vertės gali būti nuo 220 omų iki 1 kOhm.

Išjunkite Arduino maitinimą ir prijunkite HC-06. kontaktas TX prijunkite modulį prie kontakto RX Arduino (0 kaištis UNO plokštėje) ir kaištis RX, susisiekti TX(1 kaištis). Kontaktai +5V Ir GND, prijunkite prie atitinkamų Arduino kaiščių.

Surinkta konstrukcija. Įjungus Arduino maitinimą, HC-06 šviesos diodas turėtų greitai mirksėti.

„Arduino“ valdymas per HC-06 naudojant kompiuterį.

Pateiksiu pavyzdį „Windows XP“. Bet koks USB Bluetooth adapteris turi būti prijungtas prie kompiuterio ir jame įdiegtos tvarkyklės.

Mano atveju aš naudojau šį adapterį.

Kai jis prijungtas prie kompiuterio, dėkle (šalia laikrodžio) atsiranda atitinkama piktograma.

Dešiniuoju pelės mygtuku spustelėkite šią piktogramą ir pasirinkite „ Pridėti Bluetooth įrenginį».

Nustatykite jungiklį " Įrenginys įdiegtas ir paruoštas aptikimui“ ir spustelėkite „ Toliau».

Mūsų „Bluetooth“ modulis bus rodomas aptiktų įrenginių sąraše su nauju pavadinimu, kurį pakeičiau anksčiau. Pasirinkite jį ir spustelėkite " Toliau».

Kitame lange įveskite PIN kodą, kad prisijungtumėte prie modulio, pasirinkdami „ Naudokite prieigos raktą iš dokumentacijos:». Numatytasis yra "1234" bet pakeičiau į „9999“. spustelėkite " Toliau».

„Bluetooth“ modulis sėkmingai susisiekė su kompiuteriu, kuris matomas atitinkamame lange. Atkreipkite dėmesį, kad užmezgus ryšį tarp dviejų „Bluetooth“ įrenginių, kompiuteryje bus sukurti du nauji virtualūs COM prievadai (bus rodomi įrenginių tvarkytuvėje), vienas siunčiamiems duomenims, kitas – gaunamiems duomenims. Mums reikės prievado siunčiamiems duomenims, mano atveju tai yra COM45.

Dar kartą atidarykime kokią nors terminalo programą, naudosiu Arduino IDE. Nustatymuose pasirinkite išeinantį prievadą (turiu COM45), atidarykite „ Nuosekliojo prievado monitorius", įveskite komandas" 1 "Ir" 0 “ Kai komanda „1“ užsidega, kai „0“ – užgęsta.

Valdykite Arduino per HC-06 naudodami išmanųjį telefoną.

Turbūt visuose šiuolaikiniuose išmaniuosiuose telefonuose jau yra įmontuotas „Bluetooth“. Belieka įdiegti terminalo programą. Mano atveju jis buvo naudojamas Lumia 640DS, su įdiegta Windows mobile 10. Aš naudoju "" kaip terminalo programą. „Android“ išmaniuosiuose telefonuose viskas yra panašiai; Bluetooth terminalas».

Apple išmaniųjų telefonų savininkams nebus galima dirbti su Bluetooth moduliais HC-05 ir HC-06 (Bluetooth V2.0 jiems teks naudoti adapterius su BLE (Bluetooth low energy) technologija, Bluetooth 4.0 specifikacija; . Žymus atstovas yra HM-10 modulis.

Suporuojame HC-06 su išmaniojo telefono „Bluetooth“.

1. „ Parametrai» išmanusis telefonas pasirinkite elementą « Prietaisai».
2. Kitas " Bluetooth ir kiti įrenginiai».
3. Įjunkite išmaniojo telefono „Bluetooth“ slankiklį ir spustelėkite „ plius kvadratu» ieškoti ir pridėti naują Bluetooth įrenginį, mūsų atveju HC-06.

4. Skiltyje " Pridėti įrenginį"pasirinkite "".
5. Išmanusis telefonas ieškos Bluetooth įrenginių šioje srityje ir parodys jų pavadinimus. Mano pavyzdyje buvo rastas HC-06 modulis, kurį pervadinau į " lapė».

6. Įveskite įrenginio, prie kurio jungiamės, PIN kodą, paspauskite mygtuką “ Prisijungti».

Įdiekite ir paleiskite terminalo programą "". Prie išmaniojo telefono prijungtas modulis HC-06 rodomas sąraše, pasirinkite jį.

Atsiras komandų įvedimo laukas ir siuntimo mygtukas. Įveskite pakaitomis " 1 "Ir" 0 “ ir stebėkite 13 kaiščio šviesos diodą, kuris užsidegs arba užges.

2 pavyzdys. Prie Arduino prijungkime tris šviesos diodus ir pabandykime juos valdyti per HC-06 Bluetooth modulį.

Šviesos diodus prijungiau prie 9, 11 ir 13 kaiščių, jei naudojate kitus kaiščius, juos reikia nurodyti eskize.

int duomenys;
int LED1 = 9;
int LED2 = 11;
int LED3 = 13;
negaliojantis nustatymas ()
{
Serial.begin(9600);
pinMode(LED1, IŠVESTIS);
pinMode(LED2, IŠVESTIS);
pinMode(LED3, IŠVESTIS);
skaitmeninis rašymas (LED1, AUKŠTAS);
skaitmeninis rašymas (LED2, AUKŠTAS);
skaitmeninis rašymas (LED3, AUKŠTAS);
}
void loop ()
{
jei (Serial.available())
{
duomenys = Serial.read();
jei (duomenys == "1")
{
skaitmeninis rašymas (LED1, AUKŠTAS);
}
jei (duomenys == "2")
{
digitalWrite (LED1, LOW);
}
jei (duomenys == "3")
{
skaitmeninis rašymas (LED2, AUKŠTAS);
}
jei (duomenys == "4")
{
digitalWrite (LED2, LOW);
}
jei (duomenys == "5")
{
skaitmeninis rašymas (LED3, AUKŠTAS);
}
jei (duomenys == "6")
{
digitalWrite (LED3, LOW);
}
}
}

Įkeliant eskizą reikia atjungti HC-06 modulį nuo Arduino, nes ir kompiuteris, ir Bluetooth veikia per UART. Arduino negali dirbti su keliais įrenginiais viename UART.

Paleidžiame terminalo programą ir išbandome eskizą. LED valdymo reikšmė yra tokia: yra trys šviesos diodai, kurių kiekvienas gali būti įjungtas arba išjungtas. Pasirodo, 6 komandos. Komandos yra suskirstytos į numerius nuo 1 iki 6 ( 1, 3, 5 - užsidega 1, 2 ir 3 šviesos diodai. 2, 4, 6 - grąžinti). Skaičius galima įvesti po vieną arba deriniais. Pavyzdžiui: 145 - uždegti pirmą, užgesinti 2-ą, uždegti 3-ą.

3 pavyzdys. Prijunkite relės modulį iš straipsnio "" prie Arduino ir pabandykite valdyti galingą apkrovą per "Bluetooth". Iš esmės mes turėsime „išmanųjį lizdą“. Prie relių modulių galite prijungti įvairias apkrovas (lemputes, siurblius, ventiliatorius) ir valdyti juos nuotoliniu būdu.

Netrukus pasirodys šio pavyzdžio eskizas.

Arduino turi daugybę skirtingų modulių, kurie gali žymiai išplėsti mikrovaldiklio funkcionalumą. Atskirai klasei priskiriami lustai, skirti duomenų perdavimui tiek dideliais atstumais, pavyzdžiui, ryšiui belaidžiu internetu, tiek trumpais atstumais, pavyzdžiui, Bluetooth modulis. Toks įrenginys skirtas užmegzti dvikrypčius radijo ryšius naudojant to paties pavadinimo protokolą.

„Arduino bluetooth“ bus patogus nuotoliniu būdu valdyti jūsų mikrovaldikliu paremtą įrenginį, tačiau pažiūrėkime, kas tai yra ir kokios yra „bluetooth“ modulių hc 05 ir hc 06 charakteristikos.

„Bluetooth“ protokolas reikalingas greitam duomenų perdavimui nedideliais atstumais. Tačiau daug dažniau jis naudojamas projektuose, siekiant nustatyti mikrovaldiklio valdymą iš artimų atstumų. Atitinkamai, bus patogu statyti tuos pačius išmaniuosius namus, jei papildysite aparatūros komponentą programa išmaniajame telefone.

Taigi pagrindinis ir pagrindinis „Arduino Bluetooth“ tikslas yra susisiekti su kompiuteriu ir (arba) „Android“ naudojant atitinkamą protokolą. Tai leidžia ne tik valdyti įvairius mikrovaldiklio jutiklius, bet ir prireikus atnaujinti programinę-aparatinę įrangą.

Jį naudojant nebus įmanoma visiškai atnaujinti įrenginio. Be to, Android Arduino bluetooth gali užtikrinti ryšį tarp kelių mikrovaldiklių ir įrenginių. Natūralu, kad tam kiekviename iš jų turi būti įdiegtas nepriklausomas modulis. HC-05 leidžia nutiesti kelis tiltus naudojant USAR-bluetooth-USART tipą. Tokiu atveju pats įrenginys bus suvokiamas kaip reaguojantis į USART. O komunikaciją organizuos jūsų projekto techninė įranga.


„Arduino“ skirtas „Bluetooth“ modulis turi keletą pranašumų, palyginti su standartiniais kitų mikrovaldiklių priedais:

  1. Inžinieriui nereikia studijuoti „Bluetooth“ protokolo technologijos, kad galėtų rašyti programinę įrangą ar pradėti naudoti paruoštas bibliotekas.
  2. Naudojimo paprastumas apskritai. Jums nereikės lituoti atskiros plokštės energijos paskirstymui, tiesiog prijunkite įrenginį prie paruošto MK per kaiščius.
  3. Platus bibliotekų pasirinkimas. Kadangi „Arduino“ įėjimo slenkstis yra žemas, visiems jo moduliams galite rasti daugybę bibliotekų įvairiems tikslams. Tačiau verta paminėti, kad nemaža dalis jų yra nenaudingi, nes neveikia arba veikia itin prastai. Juk juos rašo bendruomenė, kuri nestudijavo algoritmavimo pagrindų ir dažniausiai iš principo menkai išmano programavimą. Dėl šios priežasties daugeliu atvejų paprasčiausiai keisti kieno nors kito programinę įrangą nėra geriausias sprendimas, todėl daug lengviau parašyti savo.

RC automobilio Arduino bluetooth taikymo sritis yra didžiulė ir ją riboja tik jūsų vaizduotė. Pavyzdžiui, galite nusipirkti įprastas kinų ausines, prilituoti prie jos porą „Arduino“ modulių, nes jie gali veikti be MK, ir įkelti vieną iš paruoštų bibliotekų. Po tokių manipuliacijų ausines galima naudoti belaidžiu būdu ir problema dėl susipainiojusių ar besilenkiančių laidų išnyks. Tai viena iš banalių šio protokolo įgyvendinimo projekte problemų, iš tikrųjų jų yra tūkstančiai.

„Bluetooth“ garso modulis yra skirtas buitiniam ir komerciniam naudojimui, o tai palengvina jo savybės. Taip pat verta pagalvoti, kad jei ateityje ketinate bendrauti naudodami to paties pavadinimo protokolą su kompiuteriu, tada daugumoje šiuolaikinių įrenginių turėsite įsigyti „Bluetooth“ per USB. Bet jūs taip pat galite jį lituoti iš MK, sukurdami savo „Bluetooth“ modulį savo kompiuteriui. Natūralu, kad tai negalioja nešiojamiesiems kompiuteriams, kuriuose yra sumontuoti to paties pavadinimo siųstuvai, ir jų niekaip keisti nereikia.

Pinout HC-05 ir HC-06

Smeigtukai ant lentų yra atsakingi už:

Charakteristikos

Pažiūrėkime atidžiau, kokias savybes turi toks „Bluetooth“ modulis, skirtas kompiuteriams ir įvairiems projektams. Patys kūrėjai teigia, kad atitiko komercinį standartą hc 05. Atitinkamai, norint valdyti įrenginį, pakaks specialios programos išmaniajame telefone ar kompiuteryje, kuri leis siųsti ir gauti duomenis iš jutiklio. Tačiau taikymo srityje yra apribojimas, nes stabilų signalą, nenaudojant stiprintuvų, galima pagauti tik 9 metrus nuo lusto. Atminkite, kad tai yra neapdoroti skaičiai ir neatsižvelgiama į kliūtis bangų kelyje.

Patys hc lustai yra visiškai suderinami su bet kokiais adapteriais, kurie palaiko SPP. Pačioje įrenginio plokštėje yra maža antena, prilituota prie viršutinio sluoksnio gyvatės pavidalo takelio pavidalu. Prietaiso charakteristikos pateikiamos taip:

  1. Aktyvieji radijo dažniai yra 2,4–2,48 GHz diapazone.
  2. Kanalas pritaikytas adaptyviam perjungimui.
  3. Įprastas ryšio diapazonas yra 10 metrų, tačiau šis skaičius neatsižvelgia į kliūtis ir trukdžius.
  4. Didžiausias informacijos apsikeitimo greitis yra 115 300 bodų.
  5. Lustas gali būti laikomas temperatūros diapazone nuo -40 iki +85 laipsnių, tačiau naudojamas - nuo -20 iki +70.
  6. Norėdami dirbti, jums reikės 3,3 V įtampos, kurią mes apžvelgsime toliau.

Ryšys

Spausdintinės plokštės galuose yra keli litavimo kontaktai. Tačiau neturėtumėte tiesiogiai jungti laidų prie įrenginio kontaktų, nes plokštėje naudojama speciali technologija, leidžianti kuo kompaktiškiau išspausti įrenginio matmenis į savo sistemą.

Modulis turi būti sumontuotas pakankamai sandariai, tam tinka standartinis MK arba specialios plokštės, kuriose naudojamos kištukinės jungtys. Bet jūs galite įsigyti atskirą plokštę hc serijos įrenginiams arba pasigaminti patys, jei turite įgūdžių kurti ir kurti elektronines plokštes.

Tokiame įrenginyje turi būti jungiamoji jungtis/specialios angos laidams suvesti, taip pat šviesos diodai, kurie padės nustatyti ar teka srovė ir ar įrenginys veikia. Be kita ko, jums pageidaujant, jums reikia stabilizatorių, specialaus jungiklio programinei įrangai iš naujo nustatyti ir sąsajos keitiklius.

Jungiantis pirmą kartą svarbu patikrinti, ar tam tinka išmanusis telefonas ar kompiuteris. Tiesiog įjunkite srovę į modulį ir nuskaitykite jį atitinkamais įrenginiais.

Nustatymai

Norėdami sukonfigūruoti lustą, turėsite nustatyti susiejimą per USART-bluetooth, kur 34 kaištis bus prijungtas prie bendro laido. Po to, kaip norite, galite išleisti standartines AT komandas arba atnaujinti mikroschemą.

Iš dėžutės, sąsajos prisijungimo slaptažodis yra 1234, tačiau duomenų mainų greitis ribojamas iki 38400 bodų. Paruoštų HC 05 bibliotekų nėra daug, tačiau jos taikymo kryptis yra gana siaura, o tai leidžia pritaikyti bet kokią esamą programinę įrangą savo poreikiams.