„Bluetooth“ modulio kištukas. „Arduino“ mokymo programos: „Smartphone“ įrenginių valdymas manekenams

Norėdami belaidžiu būdu keistis informacija tarp įvairių prietaisų nedideliais atstumais, galite naudoti „Bluetooth“ technologiją. Šiems tikslams Kinijos pramonė gamina įvairius „Bluetooth“ modulius, tarp kurių HC-05 ir HC-06 modeliai sulaukė didelio populiarumo. Vienu metu „Aliexpress“ nusipirkau HC-06, su kuriuo atliksiu tolesnius eksperimentus, taip pat prijungsiu jį prie Kinijos kolegos „Arduino“.

Tiesiogiai pats „Bluetooth“ modulis. Kaip toks jis gali būti naudojamas įvairiuose įrenginiuose, kur jis yra lituojamas tiesiai į lentą. Modulis turi 34 kaiščius, įskaitant: kaiščius, skirtus prisijungti prie kompiuterio per UART, garso perdavimą naudojant PCM metodą (impulso kodo moduliacija), analoginį įėjimą ir išvestį, kontaktus, skirtus prisijungti prie USB jungties, SPI sąsają ir bendrosios paskirties prievadus. Tiesą sakant, ne visus šiuos kaiščius galima naudoti, užblokuota prieiga prie garso perdavimo kaiščių (5–8), analoginės įvesties ir išvesties (9, 10), taip pat prie kontaktų grupės, skirtos prisijungti prie USB (15, 20).

HC-06 yra pastatytas ant BC417 lusto („BlueCore4-External device“), „Bluetooth“ specifikacijos V2.0. Laive taip pat yra 26 MHz kvarco ir 8 MB „flash“ atmintis. Maitinimas tiekiamas iš 3,3 V įtampos.

Savo dizainui patogiausia naudoti modulį su duona, ant kurio rodomi reikalingi kontaktai jungtims, taip pat yra įtampos stabilizatorius, leidžiantis maitinti nuo 5 voltų.
Pirkdami tokius modulius galite susidurti su skirtingomis jų etiketėmis. Tiesą sakant, tai yra tas pats įrenginys, kuris skiriasi firmware, kuris nustato modulio režimą (pagrindinis / pavaldusis).

Skirtumas tarp HC-05 ir HC-06 yra tas, kad HC-05 gali būti naudojamas kaip pagrindinis ar vergas. Šie režimai nustatomi naudojant AT komandas. Modulio plokštės mygtukas ją perjungia į komandų įvesties režimą AT. Pagrindinis režimas leidžia moduliui pačiam aptikti tokį įrenginį ir organizuoti ryšį su juo. HC-06 modulis gali veikti tik vienu fiksuoto vergo režimu.

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

Kaiščių žymėjimas ant HC-06 plokštės.

VALSTYBĖ - patikrinti modulio būseną. Ant šio kontakto yra dubliuojamas signalas, kurį rodo borto šviesos diodas. Jei jis mirksi labai greitai, modulis yra aktyvus. Ryšio nustatymo 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 8mA.
RX - gauti duomenis.
TX - duomenų perdavimas.
BND - jungiasi prie žemės.
+ 5 V - maitinimas +5 voltai
- įjungti / išjungti modulį. Jei šiam kontaktui taikoma 1 logika (5 voltai), modulis išsijungs, jei logika 0 pritaikyta arba neprisijungta prie šio kontakto, modulis veiks.

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

Norėdami pakeisti šiuos duomenis, turite prijungti modulį prie kompiuterio ir įvesti AT komandas naudodami terminalo programą. Tai galima padaryti naudojant USB į COM adapterį su TTL lygiais. Šiems tikslams tinka adapteris PL2303HX, CH340G ar kitam panašiam. Šiuo metu USB adapterio tvarkyklė jau turėtų būti įdiegta kompiuteryje.

Mes sujungiame kontaktus taip:

HC-06 USB į COM adapterį
+ 5 V + 5 V
BND BND
RX TX
TX RX

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

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

Įveskite komandą didžiosiomis raidėmis “ AT", Jei įrenginys sėkmingai prijungtas, atsakymas turėtų būti grąžintas" Gerai". Numatytasis perdavimo greitis yra 9600 baudos.

Norėdami patikrinti programinės aparatinės įrangos versiją, įveskite komandą „ AT + VERSIJA", Mano atveju atsakymas buvo grąžintas" OKlinvorV1.8».

Komanda " AT + NAMEyyy„Kur woo - savavališkas simbolių rinkinys lotynų kalba, galime pakeisti pavadinimą, pagal kurį bus rastas mūsų „Bluetooth“ įrenginio modulis (pagal nutylėjimą HC-06). Savo pavyzdyje įvedžiau „ AT + NAMEfox", Atsakymas grąžinamas OKsetname.

Komanda " AT + PINxxxx„Kur xxxx- savavališkas skaičių rinkinys, galite pakeisti PIN kodą (pagal nutylėjimą 1234). Atsakymas pateikia „ OKsetPIN».

Komanda " AT + BAUDx„Kur x - reikšmė nuo 1 iki 9, galite pakeisti duomenų perdavimo spartą (pagal nutylėjimą 9600).

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

Tarkime, jei vykdysime komandą „ AT + BAUD8", Kur 8 yra 115200 duomenų perdavimo sparta, atsakymas grįš" Gerai115200».

HC-06 prijungimas prie „Arduino“.

1 pavyzdys. Užpildykime „Arduino“ eskizą, kurio pagalba per „Bluetooth“ modulį įjungsime ir išjungsime šviesos diodą, prijungtą prie „Arduino“ 13 kaiščio.

int duomenys;
int LED \u003d 13;
negaliojanti sąranka ()
{
Serijos pradžia (9600);
pinMode (LED, OUTPUT);
„digitalWrite“ (LED, HIGH);
}
tuščia kilpa ()
{
jei (Serial.available ())
{
duomenys \u003d Serial.read ();
jei (duomenys \u003d\u003d "1")
{
„digitalWrite“ (LED, HIGH);
}
jei (duomenys \u003d\u003d "0")
{
„digitalWrite“ (LED, LOW);
}
}
}

Jei lentoje neturite šio šviesos diodo, prijunkite jį prie kaiščio 13 pagal schemą, rezistoriaus reikšmes galima paimti nuo 220 Ohm iki 1 kOhm.

Atjunkite „Arduino“ ir prijunkite „HC-06“. kontaktas TX modulis prijungtas prie kontakto RX „Arduino“ (0 kontaktas UNO lentoje) ir kaištis RX, susisiekti TX (1 kaištis). Kontaktai + 5 V ir BND, yra prijungti prie atitinkamų „Arduino“ kaiščių.

Surinkta struktūra. Įjungus „Arduino“ maitinimą, HC-06 šviesos diodas turėtų greitai mirksėti.

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

Pavyzdys bus rodomas sistemoje „Windows XP“. Bet kuris USB „Bluetooth“ adapteris turi būti prijungtas prie kompiuterio ir jame turi būti įdiegtos tvarkyklės.

Mano atveju aš naudojau šį adapterį.

Prijungus prie kompiuterio, dėkle (šalia laikrodžio) pasirodo atitinkama piktograma.

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

Mes įjungėme jungiklį " Įrenginys įdiegtas ir paruoštas atrasti"Ir spustelėkite" Toliau».

Aptiktų įrenginių sąraše pasirodys mūsų „Bluetooth“ modulis 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 elementą " Naudokite raktą iš dokumentų:». Pagal numatytuosius nustatymus tai yra „1234“ bet pakeičiau į „9999“. Spustelėkite „ Toliau».

„Bluetooth“ modulis sėkmingai užmezgė ryšį su kompiuteriu, kurį galite rasti atitinkamame lange. Atkreipkite dėmesį, kad užmezgus ryšį tarp dviejų „Bluetooth“ įrenginių, kompiuteryje bus sukurti du nauji virtualūs COM prievadai (jie bus rodomi įrenginių tvarkytuvėje), vienas skirtas išeinantiems duomenims, kitas - gaunamiesiems. Mums reikia prievado išeinantiems duomenims, mano atveju tai COM45.

Atidarykite kai kurią terminalo programą, naudosiu „Arduino IDE“. Nustatymuose pasirinkite išeinantį prievadą (turiu COM45), atidarykite Serijinis uosto monitorius", Įvedame komandos kintamąjį" 1 "Ir" 0 ". Pagal komandą „1“ šviesos diodas užsidega, „0“ - užgęsta.

„Arduino“ valdymas per „HC-06“ išmaniuoju telefonu.

Tikriausiai visi šiuolaikiniai išmanieji telefonai jau turi įmontuotą „Bluetooth“. Belieka tik įdiegti terminalo programą. Mano atveju aš naudojau „Lumia 640 DS“, su įdiegta „Windows mobile 10“... Aš naudoju "" kaip terminalo programą. „Android“ išmaniuosiuose telefonuose viskas yra ta pati, nes programą galite naudoti „ „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 technologija („Bluetooth low energy“), „Bluetooth 4.0“ specifikacija. Ryškus atstovas yra HM-10 modulis.

HC-06 derinimas su išmaniuoju „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 kvadratas»Norėdami 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ų toje srityje ir parodys jų pavadinimus. Mano pavyzdyje buvo rastas modulis HC-06, 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į.

Pasirodys laukas komandoms įvesti ir mygtukas siuntimui. Įeiname pakaitomis “ 1 "Ir" 0 »Ir stebėkite LED kaištį 13, kuris užsidegs arba užges.

2 pavyzdys... Prijunkime tris šviesos diodus prie „Arduino“ ir pabandykime juos valdyti per „Bluetooth“ modulį „HC-06“.

Aš prijungiau šviesos diodus prie kaiščių 9, 11 ir 13, jei naudojate kitus kaiščius, jie turi būti nurodyti eskize.

int duomenys;
int LED1 \u003d 9;
int LED2 \u003d 11;
int LED3 \u003d 13;
negaliojanti sąranka ()
{
Serijos pradžia (9600);
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT);
„digitalWrite“ (LED1, HIGH);
„digitalWrite“ (LED2, HIGH);
„digitalWrite“ (LED3, HIGH);
}
tuščia kilpa ()
{
jei (Serial.available ())
{
duomenys \u003d Serial.read ();
jei (duomenys \u003d\u003d "1")
{
„digitalWrite“ (LED1, HIGH);
}
jei (duomenys \u003d\u003d "2")
{
„digitalWrite“ (LED1, LOW);
}
jei (duomenys \u003d\u003d "3")
{
„digitalWrite“ (LED2, HIGH);
}
jei (duomenys \u003d\u003d "4")
{
„digitalWrite“ (LED2, LOW);
}
jei (duomenys \u003d\u003d "5")
{
„digitalWrite“ (LED3, HIGH);
}
jei (duomenys \u003d\u003d "6")
{
„digitalWrite“ (LED3, LOW);
}
}
}

Įkeliant eskizą, HC-06 modulis turi būti atjungtas nuo „Arduino“, nes tiek kompiuteris, tiek „Bluetooth“ veikia per UART. „Arduina“ negali dirbti su keliais įrenginiais viename UART.

Paleidžiame terminalo programą ir išbandome eskizą. LED valdymo prasmė yra tokia, yra trys šviesos diodai, kurių kiekvienas gali būti įjungtas arba išjungtas. Pasirodo 6 komandos. Komandos yra skaičiai 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 kaip derinius. Pavyzdžiui: 145 - uždegti pirmąjį, užgesinti antrąjį, uždegti trečiąjį.

3 pavyzdys... Prijunkime relės modulį iš straipsnio "" prie "Arduino" ir pabandykime valdyti galingą apkrovą per "Bluetooth". Tiesą sakant, turėsime „išmanųjį kištuką“. Į relės modulius galima prijungti ir valdyti iš toli įvairias apkrovas (lempos, siurbliai, ventiliatoriai).

Artimiausiu metu pasirodys šio pavyzdžio eskizas.

Labai dažnai jūsų projektuose reikia nuotolinio valdymo arba duomenų perdavimo iš jūsų telefono programėlių.

Vienas iš populiariausių ir labiausiai paplitusių keitimosi duomenimis per „Bluetooth“ būdų .

Šiandien mes analizuosime paprastus pavyzdžius, kaip galite prijungti „Bluetooth“ modulį į „Arduino“ ir sukonfigūruokite nuotolinį valdymą iš telefono.

Mums reikia:

  • Laidų rinkinys PAPA-MAMA
  • „HC-06 Bluetooth“

Prijunkite „Bluetooth“ „Arduino“ mikrovaldiklio modulis yra patogiausias naudojant PAPA-MAMA laidus.

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

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

Dabar turite parašyti bandomąjį programos kodą:

Įkeliant eskizą būtina atjungti „Bluetooth“ modulį nuo „arduino“ mikrovaldiklio. Priešingu atveju eskizas nebus įrašytas, nes „Bluetooth“ ryšys modulis naudoja tas pačias RX ir TX prievadus kaip ir USB.

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

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

„Bluetooth“ ryšys su telefonu

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. Rasti sutrikimų sąraše " HC-06 " ir prisijungti prie jo.
  3. Telefonas paprašys PIN kodo. turite įvesti " 1234 "arba" 0000 "
  4. Hurra. Prietaisas prijungtas.

Dabar turite atsisiųsti „Bluetooth“ terminalą į savo telefoną. Mes pažvelgsime į „Android“ platformos pavyzdį.



Galite įdiegti skirtingus „Bluetooth“ terminalus, paprastai jie skiriasi tik skirtingais dizainais, funkcionalumas nuo to nesikeičia. Taip pat galite rasti „ios“ produktų terminalą.

Įdiegę terminalą, paleiskite jį, pasirinkite „Bluetooth“ modulį HC-06 ir prisijunkite prie jo.

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

Darbo demonstravimas:


Namų darbai:

  • Pakeiskite eskizą taip, kad šviesos diodas įsijungtų ir išsijungtų naudodamas tą pačią komandą, pvz., „G“.
  • Norėdami pridėti eskizą ir išmokyti konvertuoti tekstinius duomenis, gaunamus per „Bluetooth“, į skaitmeninius ir įdiegti dimerį, apšvieskite šviesos diodą naudodami PWM, esant tam tikram ryškumui nuo 0 iki 254, ateinančiam per „Bluetooth“.

Šiandien mes susipažinsime su nebrangiu belaidžio duomenų perdavimo moduliu „Bluetooth“.

„Bluetooth“ Yra belaidžių asmeninių tinklų produkto specifikacija, leidžianti belaidį duomenų perdavimą tarp kelių įrenginių.

Mūsų modulis yra pavadintas HC-05... Tai yra vienas iš panašių modulių HC-03 - HC-09 atstovų.

Šie moduliai leidžia perduoti duomenis be laidų, negalvojant apie tai, kaip paprastai veikia „Bluetooth“ protokolas, apie jo laukus ir kitas subtilybes. Šie moduliai, tinkamai sukonfigūruoti, užtikrina duomenų perdavimą taip, kad kodą rašantis programuotojas algoritmą rašo taip, lyg jis dirbtų su laidine UART sąsaja. Todėl tampa kuo patogiau rašyti kodą, todėl ši modulių linija įgijo tokį didžiulį populiarumą tarp pradedančiųjų programuotojų ir ne tik.

Taigi ir jūs, ir aš, neatsilikime nuo jų ir šiek tiek pailsėkime nuo tinklo protokolų ir išstudijuokime tokį modulį. Taip pat buvo daug asmeninio pobūdžio prašymų, taip pat viešų pokalbių, kad tokių modulių neaplenkčiau ir jomis neparašyčiau jokių pamokų.

Moduliai turi šias pagrindines charakteristikas:

  • „Bluetooth“ lustas - BC417143 gamyba ĮSA įmonė,
  • duomenų perdavimo protokolas - „Bluetooth 2.0 + EDR“,
  • 2 klasė, kuri atitinka duomenų perdavimą iki 10 m spinduliu,
  • serijinio uosto profilis ( SPP), kuris užtikrina suderinamumą su visais šį profilį palaikančiais įrenginiais,
  • nepastovi 8 MB talpos „flash“ atmintis,
  • radijo kanalas 2,4 - 2,4835 MHz,
  • uSB sąsaja 1.1 / 2.0,
  • uART sąsaja su reguliuojamu duomenų perdavimo greičiu.

Be to, kartu su šiomis charakteristikomis verta atkreipti dėmesį į tai, kad modulyje yra daug kojų, o tai leidžia jį naudoti platesniu spektru. Pažiūrėkime į modulio kaiščių schemą

Čia matome GPIO, SPI, USB, PCM kojas.

Tiesa, kol kas dirbsime tik su „USART“ sąsaja, kurios pagalba ne tik perduosime keletą naudingų duomenų, bet ir sukonfigūruosime savo modulį.

Pirmiausia tai padarysime todėl, kad turėsime to paties tipo modulius (jų turiu 4!), Kuriuose HC-05 modulis prilituotas ant dar vienos plokštės, ant kurios išdėstyti tik 6 kontaktai. Tai yra viskas, ką aš turiu apytiksliai (vaizdas iš viršaus ir iš apačios)

Lentos apačioje pažymėta kojų paskirtis, mes su jomis susidursime, kai sujungsime modulį.

Antra, mes nedirbsime su kitais daugeliu kontaktų, nes ne kiekviena programinė įranga leidžia mums tai padaryti.

Apskritai, pasirinkimas atitiko HC-05 dar ir dėl to, kad šis modulis yra puikiai sukonfigūruojamas valdyti tiek pagrindinį, tiek pavaldų įrenginį.

Modulis sukonfigūruotas tolesniam darbui su duomenimis naudojant AT komandas. Mes, manau, visi daugiau ar mažiau esame susipažinę su tuo, kas yra šios komandos, mes šiek tiek su jais susipažinome dirbdami su „Wi-Fi“ moduliu. Žinoma, šios komandos visiems įrenginiams yra skirtingos, todėl puslapio apačioje pridėsiu dokumentą su visu komandų sąrašu. Taip pat nenuostabu internete rasti šaltinių, kur šių komandų aprašymas išverstas į rusų kalbą, ir yra net keletas jų naudojimo pavyzdžių. Čia nenagrinėsime visiško komandų vertimo, nagrinėsime tik tas komandas, kurias turėsime naudoti. Nors jų sąrašas nebus toks platus, tačiau vėliau grįšime prie šių modulių, tikiuosi, dar ne kartą ir tada praplėsime šio modulio žinias. Tuo tarpu moduliui pateiksime tik trumpą ekskursiją. Aišku, išbandysime darbe, ne be jo.

Tuo tarpu prijunkime savo modulį prie TTL-USB adapterio, kurį savo ruožtu prijungsime prie kompiuterio.

Mes prisijungsime pagal šią schemą

TTL-USB adapterio HC-05 modulis

VCC VCC

GND GND

TXD RXD

RXD TXD

Praktiškai tai atrodys maždaug taip

Prijunkime adapterį prie kompiuterio, aš jums nepasakysiu, kaip dirbti su tokio tipo adapteriais, mes nuolat su jais dirbame. Paleiskime terminalo programą, naudosiuosi „CoolTerm“ programa, nes joje yra lankstesni nustatymai duomenims perduoti iš klaviatūros, o norint įvesti komandas, kiekviena eilutė turi būti baigta linijos tiekimo ir vežimo grąžinimo kodu perdavimo metu.

Eikime į programos nustatymus ir pirmiausia sukonfigūruokite prievadą

Šis 38400 greitis buvo pasirinktas todėl, kad modulis veikia tokiu greičiu, kai gauna AT komandas.

Dabar kairėje mes pasirenkame elementą Gauti ir įjunkite vieną mygtuką ten, ir įjunkite kitą

Pirmasis mygtukas skirtas perduotoms komandoms užbaigti eilutės tiekimo ir vežimo grąžinimo simboliais, o antrasis - taip pat, kad įvesdami į priėmimo terminalo langą matytume ir savo įvestas komandas.

Išsaugokime nustatymus ir bandykime prisijungti. Jei viskas pavyks, tada jis atsijungs, nes dabar mūsų modulis veikia duomenų perdavimo režimu, o jei dar nebuvo sukonfigūruotas, greičiausiai mes net nežinome jo adreso, nustatymų. Greitai mirksintis mėlynas šviesos diodas rodo, kad modulis yra šiame režime. Todėl turime kažkaip perkelti modulį į AT komandų perdavimo būseną.

Norėdami tai padaryti, kol kas atjungsime adapterį nuo USB prievado ir prijungsime laidą prie „HC-05“ modulio kojos RAKTAS... Kažkas gali turėti kitokį vardą, bet manau, kad jo nemaišysite. Prijunkite laidą taip ir panašiai

Prijunkite šį laidą prie maitinimo šaltinio pliuso (su VCC koja)

Ir neatleisdami kontakto, prijungiame adapterį prie kompiuterio USB prievado ir po kurio laiko (po sekundės ar dviejų) atjungiame savo RAKTINĮ kontaktą nuo VCC kontakto, nuimdami laidą. Modulis turės pereiti į AT komandų priėmimo režimą, kurį patvirtins labai lėtas šviesos diodo mirksėjimo greitis.

Eikime į terminalo programą, prisijunkite prie uosto ir pabandykite išsiųsti komandą AT, į kurį modulis turėtų mums atsakyti "GERAI"

Modulis atsakė, tada viskas yra teisinga.

Kad nesupainiotumėte su kažkieno nustatytais ir atliktais nustatymais, surinksime visus nustatymus įvesdami komandą „ AT + ORGL". Nustatymuose turėtų būti nustatyti šie parametrai:

  • Įrenginio tipas: 0
  • Teirautis kodas: 0x009e8b33
  • Modulio darbo režimas: vergo režimas
  • Ryšio režimas: Prisijunkite prie nurodyto „Bluetooth“ įrenginio
  • Nuoseklus parametras: perdavimo sparta: 38400 bitų / s; Stop bit: 1 bit; Pariteto bitai: Nėra.
  • Slaptažodis: „1234“
  • Įrenginio pavadinimas: „H-C-2010-06-01“

Tik nustatymai nebus taikomi iš karto. Modulį reikia iš naujo įkelti. Patogu tai padaryti įvedus komandą „ AT + RESET„, Reaguodamas į tai, modulis bus paleistas iš naujo ir vėl persijungs į duomenų perdavimo režimą ir kol kas negalės gauti komandų. Kad jis juos priimtų, atliksime tuos pačius veiksmus, kaip ir aukščiau, kad modulis vėl persijungtų į AT komandų priėmimo režimą. Yra dar vienas būdas, bet kol kas jo nenaudosime.

Dabar patikrinkime kai kuriuos mūsų modulio parametrus.

Norėdami sužinoti programinės aparatinės įrangos versiją, įveskite komandą „ AT + VERSIJA?", Į kurį modulis turės atsakyti maždaug taip

Jei programinės aparatinės įrangos versija nėra žemesnė už šią versiją, galime būti tikri, kad šis modulis su tokia programine aparatine įranga gali dirbti pagrindiniu režimu.

Sužinokite įrenginio adresą naudodami komandą " AT + ADDR?«

Šiuo adresu mes nustatysime savo įrenginį pagrindiniame įrenginyje. Kaip pagrindinį įrenginį paimsime įprastą išmanųjį telefoną, tačiau tai šiek tiek vėliau. Mums dar reikia gerai žaisti su komandomis.

Taip pat paprašykime įrenginio pavadinimo naudodami komandą „ AT + NAME?Į kurį daugelis modulių, įskaitant mano, reaguoja tik tada, kai ant KEY kojos yra aukštas lygis, tai yra, kai laidas yra prijungtas. Padarykime tai

Pabandykime pakeisti šį pavadinimą, nes tai nėra labai patogu, tam įveskite komandą „AT + NAME: Desired_name“. Šią komandą galima įvesti be aukšto lygio KEY kojoje

Patikrinkime, ar vardas pasikeitė, tik nepamirškite apie aukštą KEY kojos lygį

Pavadinimas puikiai pritaikytas.

Patikrinkime slaptažodį naudodami komandą „ AT + PSWD?«

Slaptažodis gali būti pakeistas taip pat, kaip ir vardas.

Dabar mes sužinome įrenginio tipą (vergas ar pagrindinis) naudodami komandą " AT + VAIDMUO?«

0 reiškia vergą. Tipą taip pat galima pakeisti bet kuriuo metu. Bet mums to dar nereikia, nes dirbsime su įrenginiu kaip vergu.

Atstatykime suporuotus įrenginius naudodami komandą „ AT + RMAAD«

Dabar sužinokime „USART“ sąsajos nustatymus naudodami komandą „ AT + UART?«

Šie nustatymai reiškia 38400 kbps greitį, 1 stop bitą ir be pariteto.

Šioje lentelėje pateikiamos galimos USART nustatymų parinktys

Pakeiskime, pavyzdžiui, duomenų perdavimo greitį naudodami komandą „ AT + UART \u003d 115200,0,0«

Tik šie nustatymai įsigalios iš naujo paleidus modulį ir bus aktualūs tik duomenų perdavimo režimui; AT komandos modulio modulio nustatymai išliks tie patys - 38400.

Perkraukime modulį naudodami komandą „ AT + RESET", Po kurio modulis persijungs į duomenų perdavimo režimą.

Konfigūruokime terminalo programos prievadą tam tikram greičiui ir prisijunkime prie jo

Pabandykime įvesti komandą, į kurią mūsų modulis nereaguos, nes režimas nėra tas pats

Tačiau nenusiminkime. Pasirodo, kad norint išsiųsti komandas į modulį, nereikia jo perjungti į šį režimą. Galite įgalinti AT komandų perdavimo palaikymą duomenų perdavimo režimu. Trumpam laikui (pakanka mažiau nei sekundės) palieskite laidą, kuris yra prijungtas prie modulio teigiamos magistralės KEY kontakto, ir modulis persijungs į AT komandų palaikymo režimą. Tiesa, to negalime nustatyti pagal šviesos diodo mirksėjimo pobūdį, jis mirks taip pat greitai. Be to, komandų palaikymo režimu negalėsime prisijungti prie pagrindinio įrenginio. Nepaisant to, kai kuriems nustatymams nereikia nuolat ištraukti laido iš USB jungties ir perkonfigūruoti prievadą terminalo programoje. Tai jau gerai. Padarykime tai ir įsitikinkite, kad modulis taip pat gaus komandas, kaip ir komandų priėmimo režime

Norėdami pašalinti šią paramą ir kad modulis galėtų prisijungti, tiesiog paleiskite jį iš naujo naudodami komandą „ AT + RESET". Padarykime tai

Puiku! Mes jau žinome, kaip ką nors padaryti. Iš esmės mes sukonfigūravome modulį perduoti duomenis pagrindiniu režimu.

Dabar išmanusis telefonas, kurį šiandien turime, veiks kaip pagrindinis įrenginys. Kiekvienas, turintis „Android“, tai padarys, jei tik buvo kokia nors „Bluetooth“ terminalo programa. Aš įdiegiau šį. Man tai atrodė patogu

Pirma, ji yra nemokama, nereikia iš anksto sukurti ryšio, be to, ji turi keletą mygtukų su eilutėmis, kurias išsaugojome iš anksto.

Atsisiųskite ir įdiekite programą ir paleiskite ją. Paspauskite SCAN mygtuką ir mūsų modulis turėtų būti rodomas rastų įrenginių sąraše

Pasirinkite šį įrenginį ir pateksite į poros kūrimo dialogą, kuriame turėsite įvesti slaptažodį (turime „1234“) ir sutikti spustelėdami mygtuką „Gerai“.

Ar norėtumėte belaidžiu būdu įjungti / išjungti šviesas namuose? Jei taip, tada tokiam projektui galite naudoti „Arduino“, „Bluetooth“ modulį HC-06, relę ir žinias apie grandinių pagrindus.

Šiame straipsnyje aptarsime „HC-06“ „Bluetooth“ modulio sąveikos su „Arduino“ pagrindus. Panagrinėkime duomenų perdavimo ir priėmimo per „Bluetooth“ pavyzdžius, naudodami LED įjungimo / išjungimo pavyzdį.

Įgyvendinant rimtesnes automatizuotas sistemas, tokias kaip „išmanieji namai“, šie pagrindai bus naudingi.

Pradėti naudotis HC-06 lengva. Viskas, ką reikia žinoti, yra ryšio kaiščių vieta. HC-06 turi šešis kaiščius: pabudimas, VCC, GND, TXD, RXD ir State. Scenoje mes naudojame 4 kaiščius: VCC, GND, TXD ir RXD.


Toliau parodyta, kaip „Bluetooth“ modulis yra prijungtas prie „Arduino“.


HC-06 veikia kaip nuoseklusis prievadas, per kurį jūs siunčiate ir gaunate duomenis. Tai reiškia, kad naudodamiesi serijinio monitoriaus langu „Arduino IDE“ arba „Bluetooth“ programoje savo kompiuteryje ar telefone, galite stebėti ir valdyti savo projektą. Pavyzdžiui, galite naudoti „Teraterm“ kaip terminalą. Prieš įkeldami eskizą į „Arduino“, atjunkite „HC-06“ modulį. Kadangi modulis keičiasi duomenimis naudodamas „tx / rx“ kaiščius, įkelti eskizą neveiks. Atsisiuntę eskizą, galite prijungti „Bluetooth“ modulį.

„Arduino“ ir „HC-06“ aido eskizas

Šis eskizas suteikia jums galimybę siųsti „Arduino“ per „Bluetooth“ eilutę ir gauti atsakymą, kuris rodomas serijiniame monitoriuje.

Pastaba... Jei naudojate „Arduino Mega“, pakeiskite kodo eilutę, kol (Serial.available ()); iki (Serial.available ()\u003e 0); Priešingu atveju eskizas neveiks.

LED eskizas „Arduino“ ir „HC-06“

Ši programa suteikia galimybę įjungti / išjungti šviesos diodą siunčiant komandas „Arduino“ per „Bluetooth“.

HC-06 sąveika su kompiuteriu

Žemiau pateiktame vaizdo įraše parodyta, kaip prijungti HC-06 prie asmeninio kompiuterio ar kito „Bluetooth“ įrenginio.

Pastaba... Vaizdo įrašas atsisiųstas, kad programa, kurią naudojate kaip nuoseklųjį monitorių (šiuo konkrečiu atveju „Teraterm“), prisijungs prie „INCOMING com“ prievado. Tai nėra teisinga. Būtina naudoti OUTGOING com prievadą.

Prijungę HC-06, atidarykite „Teraterm“ arba kitą tinkamą terminalą. Pasirinkite nuoseklųjį prievadą, kuris yra atsakingas už ryšį su HC-06 (daugiau informacijos rasite vaizdo įraše).

Sėkmingai prijungę „HC-06“, galite siųsti duomenis į „Arduino“ ir iš jo. Jei įkėlėte antrą eskizą, galite įjungti / išjungti šviesos diodą siųsdami atitinkamai simbolius „n“ ir „f“.

Aidos pavyzdys

LED pavyzdys

HC-06 taikymo sritis yra praktiškai neribota. Galima valdyti bet kokias robotines sistemas ir procesus. Tikimės, kad pirmiau minėti darbo su „Bluetooth“ moduliu HC-06 pagrindai jums bus naudingi įgyvendinant „Arduino“ projektus.

Palikite komentarus, klausimus ir pasidalykite savo asmenine patirtimi žemiau. Diskusijoje dažnai gimsta naujos idėjos ir projektai!

Ar jums reikia nuotoliniu būdu valdyti „Arduino“ plokštę, keistis duomenimis su kitais „Bluetooth“ įrenginiais? „Bluetooth“ moduliai HC-05, HC06 padės susidoroti su šia užduotimi.

Pirmoje straipsnio dalyje kalbėsime apie tai, kaip užmegzti belaidį ryšį tarp „Arduino“ ir kompiuterio, o antroje - kaip užmegzti ryšį tarp „Arduino“ ir „Android“ telefono. ...

Šis straipsnis bus neatsiejama tolesnio nuotoliniu būdu valdomo automobilio surinkimo dalis.

Pakartokite komponentus (pirkite iš Kinijos):

HC-05/06 moduliai yra pliki „Bluetooth“ su papildomais dirželiais.

Būtent: jie sumontuoti ant pagrindo, ant kurio yra stabilizatorius nuo 5 iki 3,3 voltų, šviesos diodas, nurodantis modulio būseną (nesvarbu, ar prijungtas ryšys, ar ne), ir kondensatoriai ant maitinimo linijų. Taip pat ant plokštės yra sumontuotas „mosfet“ tranzistorius (Q1), kuris prireikus gali nutraukti „Bluetooth“ maitinimo grandinę, tuo būdu jį išjungdamas, tačiau tai nebus įtraukta į mūsų apžvalgą.

Iš priekinės pusės modulis atrodo taip

„Arduino“ ryšys

„Bluetooth HC-05/06“ Arduino
VCC + 5 V
BND BND
TX RX
RX TX

Įjungus modulį, įmontuotas šviesos diodas pradeda mirksėti.

1) Su kompiuteriu (WIN7 operacinė sistema)

2) Su telefonu (ANDROID OS)

Abiem atvejais tai turėsime padaryti 2 veiksmai: suporuokite modulį ir įrenginį, valdykite jį per terminalą.

1 dalis. Kompiuterio jungtis (WIN7)

Jei jūsų kompiuteryje nėra įmontuoto „Bluetooth“, galite jį naudoti. Tai nebus sunku rasti ryšio salonuose ar radijo rinkose.

Įdiegę „Bluetooth“ tvarkykles, galite pradėti dirbti.

. 1 žingsnis

Einame į valdymo skydą, spustelėkite „Bluetooth“ piktogramą ir pasirinkite „Rodyti„ Bluetooth “įrenginius“

Po kurio laiko kompiuteris ieškos ir pamatysite savo modulį (jūsų modulis gali turėti kitą pavadinimą).

Mes pasirenkame antrą variantą - „Įveskite įrenginio susiejimo kodą“

HC-06 šis kodas yra 1234

Viskas baigiasi tokiu vaizdu.

Ir už jo yra dar vienas

Pirmasis sąrankos žingsnis baigtas

Jei pamiršite, kurį COM prievadą apibrėžėte „Bluetooth“, visada galite jį pamatyti atlikdami šiuos veiksmus:

Veiksmai

P.S. Arba pažiūrėkite į įrenginių tvarkytuvę

... 2 žingsnis

Duomenims perduoti gali būti naudojamas bet kuris terminalas. Aš naudojau paprastą ir nemokamą „Termitą“.

Kaip pavyzdį pakeisime „Arduino“ plokštės „LED 13“ šviesos diodo būseną. Jis įsijungs, kai bus gautas „W“ simbolis, ir išsijungs, kai bus „S“. Žemiau pateiktą eskizą reikia įkelti į „Arduino“ lentą. Pilant į lentą, reikia atjungti maitinimą iš „Bluetooth“ modulio, užpildę, vėl prijunkite.

programos kodo pavyzdys:

int val; int LED \u003d 13; tuštuma sąranka () { Serijinis pradžia (9600); pinMode (LED, OUTPUT); ) tuštuma kilpa () (jei ( Serijinis .pasiekiama ()) (val \u003d Serijinis .skaityti (); // Su „W“ simboliu įjunkite šviesos diodą jei (val \u003d\u003d "W") (digitalWrite (LED, HIGH);) // Su „S“ simboliu išjunkite šviesos diodą if (val \u003d\u003d "S") (digitalWrite (LED, LOW);))) Atidarykite programą " Termitas"

Nustatymuose pasirinkite mūsų prievadą, greitį (9600).

Taip pat galite patikrinti modulį be „Arduino“, tiesiog sutrumpindami TX ir RX kaiščius. Termitų ženklai išsiuntė simbolius mėlyna spalva, gavo žalia spalva. Tie. jei su trumpais išvestimis mes siuntėme ir gavome tą patį, tai reiškia, kad modulis veikia tinkamai. Tai parodyta žemiau esančioje nuotraukoje.

2 dalis. Prijungimas prie telefono („Android“)

„Samsung Galaxy Ace 2“, pagrįstas „Android“ operacine sistema, bus laikomas bandomuoju asmeniu.

... 1 žingsnis

Mes prisijungiame prie telefono

... 2 žingsnis

Kaip terminalą vėl pasirinksime paprastą ir nemokamą, bet jau „Bluetooth“ terminalą “

P.S. Jei nepavyksta prisijungti, atjunkite „Bluetooth“ maitinimą ir vėl prijunkite.