Smartphone Arduino Coms / Monitor serial prin Bluetooth HC-05, HC-06: 4 pași (cu imagini)
Smartphone Arduino Coms / Monitor serial prin Bluetooth HC-05, HC-06: 4 pași (cu imagini)
Anonim
Smartphone Arduino Coms / Monitor serial prin Bluetooth HC-05, HC-06
Smartphone Arduino Coms / Monitor serial prin Bluetooth HC-05, HC-06

Acest lucru este incredibil de util dacă doriți să testați schița într-un mediu real, departe de computer. Rezultatul este că smartphone-ul dvs. acționează la fel ca monitorul serial Arduino de pe computer. Modulele HC-05 și HC-06 Bluetooth sunt disponibile pentru aproximativ 3 GBP pe eBay și există multe aplicații gratuite pentru smartphone-uri din care să alegeți. Există câteva capcane pe care sperăm să le evităm urmând exemplele de aici. Aplicația gratuită pentru smartphone utilizată aici poate salva și textul primit într-un fișier pentru utilizare ulterioară. Nu este necesară nicio modificare a schițelor dvs. deoarece sunt utilizați aceiași pini seriali.

Am folosit acest lucru prima dată când am testat un dispozitiv care măsoară distanța pe care o dau mașinile atunci când mă depășesc cu bicicleta. Am putut să înregistrez măsurătorile de distanță luate de 30 de ori pe secundă pe telefonul meu, unde au fost salvate într-un fișier. Am analizat acest lucru mai târziu cu un videoclip pe care l-am înregistrat folosind o cameră sport și aplicația de urmărire care mi-au dat viteza și locația.

Vei avea nevoie:

  • Arduino-ul tău preferat (Uno folosit aici)
  • Modul Bluetooth HC-05 sau HC-06
  • Un smartphone (telefon Android utilizat aici) și aplicație Bluetooth gratuită

Pași:

  • Instalați aplicația Bluetooth gratuită
  • Configurați modulul Bluetooth
  • Conectați Bluetooth la Arduino
  • Încărcați schița de exemplu
  • Sistem de testare

Pasul 1: Instalați aplicația Bluetooth

Există multe aplicații Bluetooth disponibile și multe sunt gratuite. Folosesc telefoane Android, dar mă aștept ca același lucru să fie valabil și pentru celelalte sisteme. Am decis să folosesc BlueTerm 2, deoarece oferă și opțiunea de a înregistra datele primite în fișier. De asemenea, mi s-a părut foarte ușor de utilizat. Așadar, accesați Google Play și solicitați descărcarea BlueTerm 2.

Când aveți aplicația instalată, vă puteți conecta la dispozitive Bluetooth. Rețineți că dispozitivul Bluetooth trebuie mai întâi asociat cu telefonul înainte de a putea fi utilizat în orice aplicație:

Activați BlueTooth: merg prin Setări> Bluetooth.

Telefonul va afișa dispozitivele deja asociate și, după câteva secunde, va afișa dispozitivele disponibile. Numele ar putea apărea inițial ca un set de numere, mai degrabă decât numele dispozitivului. Oricum, selectându-l, se afișează numele și se solicită codul PIN care este de obicei 1234.

Acum porniți BlueTerm 2. Faceți clic pe setări, apoi faceți clic pe Conectare dispozitiv și selectați după cum este necesar. Puteți pur și simplu să porniți un modul HC-05 / HC-06 în această etapă și să verificați procesul de asociere, dacă doriți (atașați alimentarea negativă la sol și 5v la Vcc).

Imagine
Imagine

Pasul 2: Configurați modulul Bluetooth - Partea 1 - Conexiuni și HC-06

Dacă sunteți fericit să folosiți numele implicit și rata de transmisie, puteți sări peste acest pas. Valorile implicite sunt numele: HC-05 sau HC-06 și baud: 9600. Avantajul reconfigurării modulului este că pot fi selectate rate de transmisie mai rapide și numele poate fi setat la ceva mai ușor de recunoscut.

Configurarea are nevoie de comenzi pentru a fi trimise de la un computer la modul printr-o conexiune serială. O legătură serială USB FDTI este ideală, mai ales dacă are o opțiune de 3.3v. Cu toate acestea, plăcile Arduino au un convertor USB în serie și, prin urmare, acesta poate fi folosit și aceasta este metoda prezentată aici. Pentru a face acest lucru, cel mai bine este să dezactivăm portul serial al procesorului principal Arduino, astfel încât să putem comunica între PC și modulul Bluetooth fără interferențe.

Schița pentru a dezactiva seria Arduino are pur și simplu instrucțiunile:

pinMode (0, INPUT):

pinMode (1, INPUT);

în secțiunea de configurare {}.

Am atașat schița NoSerial.ino. Creați un folder numit „NoSerial” în folderul de schițe și adăugați NoSerial.ino la acesta. Porniți ID-ul Arduino, navigați la Fișier> Sketchbook> schițe> NoSerial pentru a deschide schița. Selectați tipul de placă și Port din meniul Instrumente și faceți clic pe butonul de descărcare.

Conexiune pentru configurare

Cu schița încărcată, putem conecta acum modulul Bluetooth la placa Arduino. Conexiunile Tx și Rx sunt schimbate în comparație cu ceea ce vom face mai târziu, deoarece vrem să comunicăm cu portul PC pentru monitorul serial și nu cu procesorul principal Arduino. PC-ul Tx este conectat la Arduino Rx și invers.

Rețineți că modulele Bluetooth au niveluri de 3.3v pentru Tx și Rx. Prin urmare, ar trebui utilizat un divizor de tensiune pentru intrarea Bluetooth Rx la conectarea la sisteme de 5v. Ieșirea Bluetooth 3.3v Tx este de obicei detectată bine de sistemele de 5v și, prin urmare, poate fi conectată direct.

Am descoperit că un divizor de tensiune care utilizează rezistențe 3k3 și 6k8 funcționează până la 115200 rate de transmisie în serie.

Modulele HC05 și HC06 au regulatoare de tensiune la bord și, prin urmare, funcționează cu Vcc conectat la 5v.

Deci conectați-vă:

  • Rezistor 3k3 la D0
  • Rezistor 6k8 la sol
  • Conectați celelalte capete ale celor două rezistențe împreună și la pinul Rx de pe modulul Bluetooth
  • Conectați pinul Tx al modulului Bluetooth la D1
  • Conectați pinul de masă al modulului Bluetooth la GND Conectați pinul de masă al modulului Bluetooth la GND
  • Conectați pinul Vcc al modulului Bluetooth la 5v

Vedeți imaginea pentru detalii.

Imagine
Imagine

Pentru a configura modulul, acesta trebuie setat în modul AT. Procedura este diferită pentru modulele HC-05 și HC-06.

HC-06

Acestea sunt cele mai ușoare. Se setează în modul AT dacă nu sunt asociate cu niciun dispozitiv. Cu toate acestea, setarea de transmisie va fi indiferent de valoarea normală de funcționare. Acesta este în mod normal 9600 când este furnizat. Dacă acest lucru nu funcționează, încercați 38400 sau celelalte tarife obișnuite.

Conectați cablul USB de la PC la Arduino și porniți Arduino IDE. LED-ul Bluetooth va clipi rapid (~ 4Hz) în modul AT.

Deschideți monitorul serial Arduino prin Instrumente> Monitor serial. Setați baudul la 9600 și setați „Fără sfârșit de linie”.

Acum introduceți AT și faceți clic pe Trimitere. Dacă totul funcționează, veți vedea „OK” returnat pe monitor. Dacă nu se întoarce nimic, verificați cablarea și încercați diferite setări Baud.

Cu un OK care confirmă comunicări bune, putem schimba numele și stabili propria rată Baud.

Introduceți AT + NAMEARDUINO și faceți clic pe trimitere. Aceasta setează numele modulului la ARDUINO. Orice alt text poate fi folosit. Rețineți că nu există spații în comandă.

Răspunsul trebuie să fie OKsetname. Acest lucru se adaugă la OK trimis mai devreme

Acum introduceți AT + BAUD8. Aceasta setează baudul la 115200.

Răspunsul ar trebui să fie OK115200. Dacă trebuie trimise mai multe comenzi AT, setarea de transmisie a monitorului serial trebuie schimbată la 115200.

Se pot stabili alte tarife. Baud4 este 9600, Baud5 este 19200, Baud6 38400, Baud7 57600. Există setări mai mari decât 115200, dar verificați mai întâi dacă PC-ul și Arduino le pot accepta (ale mele nu pot depăși 128000). Notă - Dacă setați o rată prea mare, nu veți putea comunica cu aceasta pentru a o restabili !!!

Imagine
Imagine

Pasul 3: Configurați modulul Bluetooth - Partea 2 - HC-05 și testul inițial

HC-05

Acestea au complicația de a fi setate manual în modul AT. Manualul spune că, dacă modul AT este declanșat după pornire, setarea Baud va continua la rata deja stabilită pentru comunicațiile normale. Nu am reușit să funcționeze! Dacă totuși modul AT este setat la putere pe baud este setat la 38400. Prin urmare, această din urmă opțiune este cea mai fiabilă, deoarece putem fi siguri că baudul este 38400.

Deschideți monitorul serial Arduino prin Instrumente> Monitor serial. Setați baudul la 38400 și setați „Carriage Return”.

Următorul pas este introducerea plăcii în modul AT. Aici apar cele mai multe probleme din cauza diferențelor dintre plăcile de transport.

Procesul fundamental este să țineți pinul „Key” (pinul 34) la câteva secunde la pornire.

Placa mea are un buton pentru a face acest lucru (cei doi pini de conectare suplimentari sunt EN și STATE). Deconectați firul Vcc de la modulul Bluetooth. Apoi, ținând apăsat butonul, reaplicați 5v la Vcc. LED-ul ar trebui să clipească la intervale de aproximativ 2 secunde. Țin apăsat butonul până la al doilea flash.

Unele plăci au un pin cheie ca unul dintre cei 6 pini ai modulului. Dacă da, legați acest lucru la 3.3v în timpul alimentării.

Unele plăci nu au niciuna și utilizatorii au fost nevoiți să lipească un buton între pinul cheie (34) și 3,3v (pinul 12). Vezi manualul atașat.

Cu LED-ul care clipește încet putem verifica comunicațiile. Introduceți AT și faceți clic pe Trimitere. Răspunsul ar trebui să fie OK. Am constatat că acest răspuns a fost continuu repetat până când am trimis o linie goală - trebuie doar să faceți clic pe trimitere. Dacă primiți EROARE: (0), apoi trimiteți o linie goală și apoi trimiteți AT.

Acum setați un nume nou. Introduceți AT + NAME = ARDUINO Răspunsul trebuie să fie OK. Cu toate acestea, în cazul meu, modulul a fost resetat din modul AT (LED-ul clipește rapid). Nu am putut găsi cauza și acest lucru s-a întâmplat și când am folosit o conexiune serial FDTI, mai degrabă decât Arduino. M-am întors în modul AT ca înainte: Deconectați cablul de alimentare la placă și reconectați-mă în timp ce butonul a fost apăsat. Verificările ulterioare au arătat că numele a fost schimbat.

Apoi setați Baud. Introduceți AT + UART = 115200, 1, 0 Răspunsul trebuie să fie OK. Cu toate acestea, uneori a ieșit din modul AT ca mai sus.

Setarea UART poate fi verificată cu comanda: AT + UART? Răspunsul trebuie să fie OK și + UART = 115200, 1, 0

Testul inițial

În această etapă avem PC-ul cu conexiune serială la modulul Bluetooth. Deci, un test inițial opțional se poate face pornind aplicația smartphone BlueTerm 2 (presupunând că modulul a fost deja asociat cu telefonul). Conectează-te la ARDUINO. Setați Arduino Serial Monitor la 115200 baud. Tastați „Hello World” și faceți clic pe trimitere. Acest lucru ar trebui să apară acum pe BlueTerm 2. Acum tastați „Bună ziua” în BlueTerm 2. Acesta ar trebui să apară acum în Serial Monitor.

Imagine
Imagine
Imagine
Imagine

Pasul 4: Conectați modulul Bluetooth la Arduino

Mai întâi trebuie să încărcăm schița de testare Arduino. BTtest.ino atașat trimite un număr la fiecare 0,5s și apoi îl incrementează, trecând la 0 de la 255. Creați un folder numit BTtest în folderul dvs. de schițe și adăugați BTtest.ino

Conexiunea serială Arduino este, de asemenea, utilizată pentru descărcarea schițelor. Deci, cele două fire ale modulului Bluetooth trebuie deconectate, astfel încât să nu interfereze.

După descărcarea schiței, reconectați modulul Bluetooth. Rețineți totuși că Tx și Rx de pe Arduino trebuie schimbate în comparație cu configurația anterioară.

Deci conectați-vă:

  • Rezistor 3k3 la D1
  • Rezistor 6k8 la sol
  • Conectați celelalte capete ale celor două rezistențe împreună și la pinul Rx de pe modulul Bluetooth
  • Conectați pinul Tx al modulului Bluetooth la D0
  • Conectați pinul de masă al modulului Bluetooth la GND Conectați pinul de masă al modulului Bluetooth la GND
  • Conectați pinul Vcc al modulului Bluetooth la 5v

Vedeți imaginea pentru detalii.

Imagine
Imagine

Acum porniți Arduino. Nu trebuie să fie conectat la un computer.

Asociați placa cu smartphone-ul dacă nu este deja conectat (consultați Instalarea aplicației Bluetooth de mai sus). Apoi porniți BlueTerm 2, faceți clic pe setări, apoi faceți clic pe Conectare dispozitiv și selectați ARDUINO. Ar trebui să vedeți ecranul umplut cu numere care cresc de la 0 la 255.

Imagine
Imagine

Sper că veți găsi acest lucru la fel de util ca mine.

Mike

Provocare Bluetooth
Provocare Bluetooth
Provocare Bluetooth
Provocare Bluetooth

Locul doi în provocarea Bluetooth