„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ą.
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:
Modulis turi šiuos kontaktus:
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ų.
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:
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:
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.
Š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“.
HC-05 Bluetooth modulis galės priimti komandas tik tada, jei šie nuosekliojo prievado parametrai bus tinkamai sukonfigūruoti:
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.
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.
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.
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 |
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ą.
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.
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:
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.
Kaip arduino maitinimo šaltinį patartina naudoti ne USB, o išorinį 9 V maitinimo šaltinį.
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:
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:
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.
Smeigtukai ant lentų yra atsakingi už:
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:
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.
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.