Ce este un modul bluetooth? Conexiune modul bluetooth HC 06

Suntem ocupați să dezvoltăm o aplicație Android pentru a controla încărcările pe Arduino. Dar, după cum înțelegeți cu toții, pur și simplu nu vă puteți conecta unul la altul - aveți nevoie de un canal de comunicare și care este cel mai accesibil și mai ieftin canal pe care îl avem? Bluetooth desigur! Vom vorbi mai departe despre asta.
Astăzi rezolvăm problemele de producție - conectarea modulului Bluetooth HC-06. Principala sa diferență față de HC-05 este că este demontat și oferă doar capacitățile minime necesare.

În general, HC-06 poate fi gândit ca un extender UART fără fir. Deoarece ne conectăm la el de pe un PC prin Bluetooth, îl vedem ca pe un port COM și atunci când ne conectăm la contacte avem un UART pur. Aproape tot ce vine dintr-o parte iese din cealaltă. Cu excepția comenzilor AT de la contacte.

Comenzile AT sunt o moștenire a modemurilor vechi care datează din 1977. Sunt comenzi cu șir scurt, de exemplu „AT”, „AT-NAME”, „AT-PIN”. De obicei, introducerea unei comenzi se finalizează cu tasta Enter. Dar de data aceasta totul este puțin diferit și întreaga comandă trebuie primită în aproximativ o secundă. Din acest motiv, programele care ne permit să scriem direct de la tastatură în port nu sunt potrivite pentru configurare (puteți încerca din clipboard, dar există șansa unei defecțiuni). Avem nevoie de capacitatea de a trimite întregul șir pe un semnal.

Armat Setul de instrumente pentru port COM, setăm viteza la 9600 și numărul portului corespunzător. Apoi pregătim prima linie „AT”. Îl trimitem și primim un răspuns „OK”. Acesta este deja un semn bun. Nu am confundat RX și TX și nu am greșit cu viteza. În continuare, probabil că veți dori să dați un nume modulului dvs. Scriem: „AT-NAMEhome” și primim ca răspuns ceva de genul „OKhome”. Schimbăm codul de acces astfel: „AT-PIN010203”, și obținem: „OKsetpin”
In regula, atunci. Aceasta completează configurarea inițială.

Nu rata actualizările! Abonați-vă la grupul nostru

Pentru a schimba fără fir informații între diferite dispozitive pe distanțe scurte, puteți utiliza tehnologia Bluetooth. În aceste scopuri, industria chineză produce diverse module Bluetooth, printre care modelele HC-05 și HC-06 au devenit foarte populare. La un moment dat, am achiziționat un HC-06 de pe Aliexpress, pe care îl voi efectua experimente suplimentare, precum și îl voi conecta la analogul meu chinezesc al Arduino.

Direct modulul Bluetooth în sine. În această formă, poate fi folosit în diverse dispozitive, unde este lipit direct în placă. Modulul are 34 de pini, inclusiv: pini pentru conectarea la un computer prin UART, transmisie audio folosind metoda PCM (modularea codului de impulsuri), intrare și ieșire analogică, pini pentru conectarea la un conector USB, interfață SPI, precum și general- porturi de scop. De fapt, nu toți acești pini sunt disponibili pentru utilizare; acces la pinii de transmisie audio (5-8), intrare și ieșire analogică (9, 10), precum și la grupul de contacte pentru conectarea la USB (15, 20) este blocat.

HC-06 este construit pe un cip BC417 (dispozitiv BlueCore4-External), specificație Bluetooth V2.0. Există, de asemenea, cuarț de 26 MHz și memorie flash de 8 MB la bord. Alimentarea este furnizată de la 3,3V.

Pentru modelele dvs., cel mai convenabil este să utilizați un modul cu o placă de breadboard, pe care sunt afișate contactele necesare pentru conexiuni și există, de asemenea, un stabilizator de tensiune care vă permite să fiți alimentat de la 5 volți.
Când achiziționați astfel de module, este posibil să întâlniți diferite marcaje. În esență, acesta este același dispozitiv, care diferă în firmware-ul care determină modul modulului (master / slave).

Diferența dintre HC-05 și HC-06 este că HC-05 poate fi folosit ca master sau slave. Aceste moduri sunt setate folosind comenzi AT. Un buton de pe placa modulului îl comută în modul de intrare comandă AT. Modul master permite modulului să detecteze singur un astfel de dispozitiv și să organizeze comunicarea cu acesta. Modulul HC-06 poate funcționa doar într-un singur mod slave fix.

Există și modele HC-03 și HC-04, dar sunt produse în scopuri industriale.

Desemnarea contactelor pe placa HC-06.

STAT- verificarea starii modulului. Acest pin dublează semnalul care este afișat de LED-ul încorporat în placă. Dacă clipește foarte repede, modulul este într-o stare activă. În modul de comunicare, curentul este de 30-40 mA. Când modulul stabilește comunicarea cu un alt dispozitiv, LED-ul pur și simplu se aprinde. În modul de transfer de date, curentul este de 8 mA.
RX- primirea datelor.
TX- transfer de date.
GND- se conectează la masă.
+5V- alimentare +5 Volti
RO- porniți/opriți modulul. Dacă aplicați 1 logic (5 volți) acestui contact, modulul se va opri; dacă aplicați 0 logic sau nu vă conectați la acest contact, modulul va funcționa.

Implicit, HC-06 are un nume pentru detectarea de către alte dispozitive " HC-06", cu cod PIN " 1234 ».

Pentru a modifica aceste date, trebuie să conectați modulul la computer și să introduceți comenzi AT folosind un program terminal. Acest lucru se poate face folosind un adaptor USB la COM cu niveluri TTL. Un adaptor pentru PL2303HX, CH340G sau altul similar este potrivit pentru aceste scopuri. Până în acest moment, driverul pentru adaptorul USB ar trebui să fie deja instalat pe computer.

Conectăm contactele după cum urmează:

HC-06 Adaptor USB la COM
+5V +5V
GND GND
RX TX
TX RX

Când conectați acest ansamblu la computer, LED-ul roșu de pe placa modulului Bluetooth va începe să clipească rapid. Pentru a introduce comenzi AT, puteți folosi orice program terminal; eu folosesc Arduino IDE în acest scop.

În setări, selectați numărul portului COM virtual la care este conectat adaptorul USB, în cazul meu este COM44. Hai sa deschidem fereastra" Monitor de port serial».

Introdu comanda cu majuscule „ LA", dacă dispozitivul s-a conectat cu succes, răspunsul ar trebui să revină" Bine" Rata implicită de schimb de date este de 9600 baud.

Pentru a verifica versiunea de firmware, introduceți comanda „ AT+VERSIUNE", în cazul meu răspunsul a revenit" OKlinvorV1.8».

Echipa" AT+NAMEaaaa", Unde Wow- un set arbitrar de caractere în latină, putem schimba numele cu care va fi găsit modulul dispozitivului nostru bluetooth (HC-06 implicit). În exemplul meu, am introdus „ AT+NAMEfox", răspunsul este returnat OKsetname.

Echipa" AT+PINxxxx", Unde xxxx– un set aleatoriu de numere, puteți schimba codul PIN (implicit 1234). Răspunsul revine” OKsetPIN».

Echipa" AT+BAUDx", Unde X– valoare de la 1 la 9, puteți modifica viteza de transmisie (implicit 9600).

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

De exemplu, dacă rulăm comanda „ AT+BAUD8", unde 8 este viteza de 115200 baud, răspunsul va reveni" OK115200».

Conectarea HC-06 la Arduino.

Exemplul 1. Să încărcăm o schiță pe Arduino, cu care vom aprinde și stinge LED-ul, lipit pe pinul 13 al Arduino, prin modulul Bluetooth.

int date;
int LED = 13;
void setup()
{
Serial.begin(9600);
pinMode(LED, IEȘIRE);
digitalWrite(LED, HIGH);
}
buclă goală ()
{
dacă (Serial.available())
{
date = Serial.read();
dacă (date == "1")
{
digitalWrite(LED, HIGH);
}
dacă (date == "0")
{
digitalWrite (LED, LOW);
}
}
}

Dacă nu aveți acest LED pe placă, conectați-l la pinul 13 conform diagramei; valorile rezistenței pot fi luate de la 220 Ohm la 1 kOhm.

Dezactivați Arduino și conectați HC-06. a lua legatura TX conectați modulul la contact RX Arduino (pinul 0 de pe placa UNO) și pinul RX, a contacta TX(pin 1). Contacte +5VȘi GND, conectați-vă la pinii Arduino corespunzători.

Structură asamblată. Odată ce Arduino este alimentat, LED-ul de pe HC-06 ar trebui să clipească rapid.

Controlul Arduino prin HC-06 folosind un computer.

Voi arăta un exemplu pe Windows XP. Orice adaptor USB Bluetooth trebuie să fie conectat la computer și driverele instalate pe acesta.

În cazul meu, am folosit acest adaptor.

Când este conectat la un computer, în tavă apare o pictogramă corespunzătoare (lângă ceas).

Faceți clic dreapta pe această pictogramă și selectați „ Adăugați un dispozitiv Bluetooth».

Setați comutatorul " Dispozitivul este instalat și gata pentru a fi descoperit" și faceți clic pe " Mai departe».

Modulul nostru Bluetooth va apărea în lista de dispozitive detectate, cu noul nume pe care l-am schimbat mai devreme. Selectați-l și faceți clic pe „ Mai departe».

În fereastra următoare, introduceți codul PIN pentru a vă conecta la modul selectând „ Utilizați cheia de acces din documentație:». Valoarea implicită este „1234” dar l-am schimbat în „9999”. Faceți clic pe " Mai departe».

Modulul Bluetooth a comunicat cu succes cu computerul, ceea ce poate fi văzut în fereastra corespunzătoare. Vă rugăm să rețineți că atunci când se formează o conexiune între două dispozitive Bluetooth, două porturi COM virtuale noi vor fi create pe computer (vor fi afișate în managerul de dispozitive), unul pentru datele de ieșire, celălalt pentru datele de intrare. Vom avea nevoie de un port pentru datele de ieșire, în cazul meu este COM45.

Să deschidem din nou un program terminal, voi folosi IDE-ul Arduino. În setări, selectați portul de ieșire (am COM45), deschideți „ Monitorul portului serial", introduceți comenzile" 1 " Și " 0 " La comanda „1” LED-ul se aprinde, la „0” se stinge.

Controlați Arduino prin HC-06 folosind un smartphone.

Probabil că toate smartphone-urile moderne au deja Bluetooth încorporat. Tot ce rămâne este să instalați programul terminal. In cazul meu a fost folosit Lumia 640DS, cu instalat Windows Mobile 10. Folosesc „” ca program terminal. Pe smartphone-urile Android totul este similar; puteți folosi „ Terminal Bluetooth».

Pentru posesorii de smartphone-uri Apple, nu va fi posibil să lucreze cu modulele Bluetooth HC-05 și HC-06 (Bluetooth V2.0); pentru aceștia va trebui să utilizați adaptoare cu tehnologie BLE (Bluetooth low energy), specificație Bluetooth 4.0 . Un reprezentant proeminent este modulul HM-10.

Asociem HC-06 cu Bluetooth-ul smartphone-ului.

1. În „ Parametrii» smartphone selectați elementul « Dispozitive».
2. Următorul " Bluetooth și alte dispozitive».
3. Porniți glisorul Bluetooth al smartphone-ului și faceți clic pe „ plus pătrat» pentru a căuta și adăuga un nou dispozitiv Bluetooth, în cazul nostru HC-06.

4. În secțiunea „ Adăugați dispozitivul"Selectați "".
5. Smartphone-ul va căuta dispozitive Bluetooth în zonă și va afișa numele acestora. În exemplul meu, a fost găsit modulul HC-06, pe care l-am redenumit în „ vulpe».

6. Introduceți codul PIN al dispozitivului la care ne conectăm, apăsați butonul „ Conectați».

Instalați și lansați programul terminal „”. Modulul HC-06 conectat la smartphone este afișat în listă, selectați-l.

Va apărea un câmp pentru introducerea comenzilor și un buton pentru trimitere. Introduceți alternativ „ 1 " Și " 0 „și urmăriți LED-ul de pe pinul 13, care se va aprinde sau se va stinge.

Exemplul 2. Să conectăm trei LED-uri la Arduino și să încercăm să le controlăm prin modulul Bluetooth HC-06.

Am conectat LED-urile la pinii 9, 11 și 13; dacă folosiți alți pini, aceștia trebuie să fie indicați în schiță.

int date;
int LED1 = 9;
int LED2 = 11;
int LED3 = 13;
void setup()
{
Serial.begin(9600);
pinMode(LED1, IEȘIRE);
pinMode(LED2, IEȘIRE);
pinMode(LED3, IEȘIRE);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
}
buclă goală ()
{
dacă (Serial.available())
{
date = Serial.read();
dacă (date == "1")
{
digitalWrite(LED1, HIGH);
}
dacă (date == "2")
{
digitalWrite(LED1, LOW);
}
dacă (date == "3")
{
digitalWrite(LED2, HIGH);
}
dacă (date == "4")
{
digitalWrite(LED2, LOW);
}
dacă (date == "5")
{
digitalWrite(LED3, HIGH);
}
dacă (date == "6")
{
digitalWrite (LED3, LOW);
}
}
}

La încărcarea unei schițe, modulul HC-06 trebuie deconectat de la Arduino, deoarece atât computerul, cât și Bluetooth funcționează prin UART. Arduino nu poate funcționa cu mai multe dispozitive pe un singur UART.

Lansăm programul terminal și încercăm schița în acțiune. Semnificația controlului cu LED-uri este următoarea: există trei LED-uri, fiecare dintre acestea putând fi fie pornit, fie oprit. Rezultă 6 echipe. Echipele sunt numerele de la 1 la 6 ( 1, 3, 5 - aprinde 1, 2 si 3 LED-uri. 2, 4, 6 - a rambursa). Numerele pot fi introduse pe rând sau în combinații. De exemplu: 145 - aprindeți primul, stingeți al 2-lea, aprindeți al 3-lea.

Exemplul 3. Să conectăm modulul releu din articolul „” la Arduino și să încercăm să controlăm o sarcină puternică prin Bluetooth. În esență, vom avea o „priză inteligentă”. Puteți conecta diverse sarcini (becuri, pompe, ventilatoare) la modulele de relee și le puteți controla de la distanță.

O schiță pentru acest exemplu va apărea în curând.

Căutați o modalitate ușoară de a vă controla dispozitivul fără fir de la distanță folosind bluetooth? Utilizați modulul bluetooth HC-06.

Din partea unui dispozitiv controlat, cum ar fi un Arduino, acest modul arată ca o interfață serială obișnuită. Prin urmare, puteți depana toate comunicațiile cu dispozitivul de pe computer și apoi pur și simplu conectați acest modul Bluetooth și totul va funcționa așa cum ar trebui.

Cu HC-06, puteți controla robotul direct de pe smartphone. Instalând unul dintre numeroasele programe de control bluetooth pe telefon sau tabletă, îl poți transforma într-un adevărat joystick avansat, iar robotul tău se va putea întoarce ascultător după întoarcerea smartphone-ului. În același mod, vă puteți conecta la dispozitivul dvs. de pe un laptop sau de pe orice alt dispozitiv care se poate conecta la dispozitive Bluetooth.

Domeniul de aplicare al acestui modul nu se limitează la management. Poate fi folosit și pentru a trimite citiri de la diverși senzori.

Tensiunea de funcționare a acestui modul bluetooth este de 3,3V, dar intrările sale sunt tolerante la 5V, deci este compatibil cu toate plăcile Arduino.

Conexiune

Pinii modulului pot fi conectați la o placă de breadboard sau Arduino folosind fire mamă-mascul. Și cu Troyka Shield prin fire de la femeie la femeie.

Conexiunea este standard pentru dispozitivele conectate printr-o interfață serială:

  • Pinul RX al modulului este conectat la pinul TX al dispozitivului țintă
  • Pinul TX al modulului este conectat la pinul RX al dispozitivului țintă

Setări

Toate setările implicite pot fi modificate folosind comenzile AT.

Modulul Bluetooth HC-06 poate funcționa numai în modul slave. Aceasta înseamnă că nu se poate conecta singur la alte dispozitive Bluetooth.

Echipamente

Firele nu sunt incluse. Pentru a vă conecta la electronica de control, utilizați fire de placa cu conectori mamă pe partea modulului sau

Doriți să porniți/stingiți fără fir luminile din casa dvs.? Dacă da, atunci pentru un astfel de proiect puteți utiliza Arduino, modulul bluetooth HC-06, relee și cunoștințe despre elementele de bază ale proiectării circuitelor.

În acest articol ne vom uita la elementele de bază ale interacțiunii modulului bluetooth HC-06 cu Arduino. Să ne uităm la exemple de transmitere și primire de date prin Bluetooth folosind exemplul de pornire/oprire a unui LED.

Pentru implementarea unor sisteme automate mai serioase, cum ar fi o „casă inteligentă”, aceste elemente de bază vor fi utile.

Începeți cu HC-06 este destul de ușor. Tot ce trebuie să știți este locația contactelor pentru conectare. HC-06 are șase pini: wakeup, VCC, GND, TXD, RXD și State. În această etapă, folosim 4 contacte: VCC, GND, TXD și RXD.


Mai jos este arătat exact cum este conectat modulul Bluetooth la Arduino.


HC-06 acționează ca un port serial prin care trimiteți și primiți date. Adică, folosind fereastra monitorului serial din Arduino IDE sau o aplicație Bluetooth de pe computer sau telefon, îți poți monitoriza și gestiona proiectul. De exemplu, puteți utiliza Teraterm ca terminal. Înainte de a încărca schița pe Arduino, dezactivați modulul HC-06. Deoarece modulul schimbă date folosind contacte tx/rx, nu va fi posibilă încărcarea schiței. După descărcarea schiței, puteți conecta modulul bluetooth.

Schiță eco pentru Arduino și HC-06

Această schiță vă oferă posibilitatea de a trimite un șir la Arduino prin bluetooth și de a primi un răspuns care este afișat pe monitorul serial.

Notă. Dacă utilizați Arduino Mega, schimbați linia de cod în timp ce(Serial.available()); pe while(Serial.available()>0);. În caz contrar, schița nu va funcționa.

Schiță LED pentru Arduino și HC-06

Acest program vă permite să porniți/opriți un LED trimițând comenzi către Arduino prin Bluetooth.

Interacțiunea HC-06 cu un computer

Videoclipul de mai jos arată cum să conectați HC-06 la un computer personal sau la alt dispozitiv compatibil Bluetooth.

Notă. Videoclipul descărcat arată că programul pe care îl utilizați ca monitor serial (Teraterm în acest caz particular) se conectează la portul COM INCOMING. Nu este corect. Trebuie să utilizați portul COM OUTGOING (ieșire).

După conectarea HC-06, deschideți Teraterm sau un alt terminal adecvat. Selectați portul serial care este responsabil pentru schimbul de date cu HC-06 (explicații mai detaliate despre acest lucru sunt în videoclip).

După conectarea cu succes a HC-06, puteți trimite date către Arduino și înapoi. Dacă ați încărcat a doua schiță, veți putea aprinde/opri LED-ul trimițând caracterele „n” și respectiv „f”.

Exemplu Echo

Exemplu de LED

Domeniul de aplicare al HC-06 este în esență nelimitat. Puteți controla orice sisteme și procese robotizate. Sperăm că noțiunile de bază ale lucrului cu modulul bluetooth HC-06 vă vor fi utile în proiectele dvs. Arduino.

Lasă-ți comentariile, întrebările și împărtășește-ți experiențele personale mai jos. Noi idei și proiecte se nasc adesea în discuții!

Foarte des, în proiectele dvs. este nevoie de control de la distanță sau de transfer de date de la gadgeturile dvs. telefonice.

Una dintre cele mai populare și răspândite metode de schimb de date prin Bluetooth .

Astăzi ne vom uita la exemple simple despre cum să conectați Bluetooth modulul la Arduino și configurați controlul de la distanță de pe telefon.

Noi vom avea nevoie:

  • Set de fire MALE-MAMA
  • HC-06 Bluetooth

Conectați Bluetooth Modulul pentru microcontrolerul Arduino este cel mai convenabil folosind cablarea MALE-MAMALE.

Arduino Bluetooth
Pin 1 (TX) RXD
Pin 0 (RX) TXD
GND GND
5V VCC

Ai grijă, trebuie să te conectezi TX -> RXD ,RX -> TXD .

Acum trebuie să notați codul de testare al programului:

La încărcarea schiței, este necesar ca modulul Bluetooth să fie deconectat de la microcontrolerul arduino. În caz contrar, schița nu va fi înregistrată din cauza conexiunii cu Bluetooth Modulul comunică prin aceleași porturi RX și TX ca USB.

Val int; int LED = 13; void setup() ( Serial.begin(9600); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); ) void loop() (if (Serial.available()) (val = Serial.read(); / / Când caracterul este „1”, porniți LED-ul dacă (val == „1”) ( digitalWrite(LED, HIGH); ) // Când caracterul este „0”, stingeți LED-ul dacă (val == "0") ( digitalWrite(LED, LOW ); ) ) )

După ce schița este înregistrată și Bluetooth Modulul este conectat la Arduino, puteți trece la pasul următor.

Conectarea Bluetooth la telefon

Este recomandabil să folosiți nu USB ca sursă de alimentare pentru arduino, ci o sursă de alimentare externă de 9 V.

  1. Activați Bluetooth pe telefon și căutați dispozitive noi
  2. Găsim în lista tulburărilor " HC-06" și conectați-vă la el.
  3. Telefonul va cere un cod PIN. trebuie sa intri " 1234 " sau " 0000 "
  4. Ura. Dispozitivul este conectat.

Acum trebuie să descărcați terminalul bluetooth pe telefon. Ne vom uita la exemplul platformei Android.



Puteți instala diferite terminale bluetooth, de regulă, acestea diferă doar în diferite modele, funcționalitatea nu se schimbă. De asemenea, puteți găsi un terminal pentru produsele iOS.

După ce am instalat terminalul, îl lansăm, selectăm modulul nostru bluetooth HC-06 și ne conectăm la el.

Este timpul să încercăm proiectul în acțiune. Scriem numărul „0” în terminal și trimitem. LED-ul L care se află pe placa Arduino lângă pinul 13 ar trebui să se stingă. Acum trimitem numărul „1” prin terminal și LED-ul L ar trebui să se aprindă.

Demonstrație de lucru:


Teme pentru acasă:

  • Schimbați schița astfel încât LED-ul să se aprindă și să se stingă folosind aceeași comandă, de exemplu „G”.
  • Completați schița și învățați-o să convertească datele text care vin prin bluetooth în date digitale și implementați un dimer, aprindeți un LED folosind PWM, la o luminozitate dată de la 0 la 254 care vine prin bluetooth.