- Cerințe hardware
- Configurarea modulelor XBee folosind XCTU
- Programarea și testarea comunicării XBee folosind Arduino
În tutoriale anterioare am aflat despre protocolul ZigBee și arhitectura acestuia și, de asemenea, am aflat despre comunicarea fără fir între două module Xbee. Acum, în acest tutorial vom interfața modulul XBee cu placa Arduino Uno. XBee conectat cu placa Arduino va acționa ca un receptor și va comunica fără fir cu alt modul XBee care este conectat în serie cu laptopul utilizând o placă Explorer. Deci, să explorăm mai departe comunicarea wireless Arduino utilizând XBee.
Cerințe hardware
- 1 x Arduino Uno
- 2 x module XBee Pro S2C (se poate utiliza orice alt model)
- 1 x bord de explorare Xbee (opțional)
- 1 x placa Xbee Breakout (opțional)
- Cabluri USB
- LED-uri
Configurarea modulelor XBee folosind XCTU
După cum am aflat în tutoriale anterioare, că modulul XBee poate acționa ca un coordonator, un router sau un dispozitiv End, dar trebuie configurat pentru a funcționa în modul dorit. Deci, înainte de a utiliza modulele XBee cu Arduino, trebuie să configurăm aceste module folosind software-ul XCTU.
Pentru a conecta modulul XBee la laptop, se folosește un convertor USB în serie sau o placă de explorare special concepută. Conectați modulul XBee la placa Explorer și conectați-l la laptop folosind cablul USB.
Dacă nu aveți niciun convertor sau placă de explorare, atunci o placă Arduino poate fi utilizată ca dispozitiv USB către serie care poate comunica cu ușurință cu XBee și laptop. Încărcați schița goală pe placa Arduino și acum se poate comporta ca un convertor USB în serie.
Conexiunile pentru interfața modulului ZigBee cu Arduino sunt prezentate în diagrama circuitului.
Conexiuni:
- Tx (pin2) din XBee -> Tx din placa Arduino
- Rx (pin3) al Xbee -> Rx al plăcii Arduino
- Gnd (pin10) al Xbee -> GND al plăcii Arduino
- Vcc (Pin1) al Xbee -> 3.3v al plăcii Arduino
Aici, în acest tutorial, se utilizează o placă Explorer pentru a configura modulele XBee.
Descărcați software-ul XCTU de pe acest link și instalați-l. După descărcarea și instalarea software-ului XCTU, deschideți-l și asigurați-vă că modulul XBee este conectat corect. Verificați portul COM al plăcii Arduino în managerul de dispozitive.
Pasul 1: - Acum, faceți clic pe butonul de căutare. Aceasta vă va arăta toate dispozitivele RF conectate la laptop. În cazul nostru, va afișa un singur modul XBee.
Pasul 2: - Selectați portul serial al plăcii Explorer / plăcii Arduino și faceți clic pe Următorul.
Pasul 3: - În fereastra următoare, setați parametrii portului USB așa cum se arată mai jos și faceți clic pe Finalizare.
Pasul 4: - Selectați dispozitivul descoperit și faceți clic pe Adăugare dispozitiv selectat . Acest proces va adăuga modulul XBee la tabloul de bord XCTU.
Pasul 5: - Acum, puteți configura modulul XBee în această fereastră. Folosiți fie comenzi AT, fie puneți manual datele. După cum puteți vedea, pe panoul din stânga apare R, ceea ce înseamnă că Xbee este în modul router. Trebuie să-l facem coordonator pentru partea de emițător.
Mai întâi, actualizați firmware-ul făcând clic pe Actualizare firmware.
Pasul 6: - Alegeți familia de produse a dispozitivului dvs., care este disponibilă pe partea din spate a modulului XBee. Selectați setul de funcții și versiunea de firmware așa cum este evidențiat mai jos și faceți clic pe Actualizare.
Pasul 7: - Acum, trebuie să dați datele ID, MY și DL pentru a face conexiunea cu alte XBee. ID-ul rămâne același pentru ambele module. Numai schimbul de date MY și DL, adică MY pentru receptorul XBee devine DL al transmițătorului XBee (coordonator) și DL pentru receptorul XBee devine MY al transmițătorului XBee. Faceți CE ca coordonator și apoi apăsați butonul Scrie. Așa cum se arată mai jos.
ATDL |
ATMY |
||
Coordonator XBee 1 |
|||
Dispozitiv final XBee 2 |
Pasul 8: - După ce ați scris datele de mai sus pe partea transmițătorului, conectați-le de pe placa de explorare și conectați-le la al doilea modul XBee. Repetați același proces ca mai sus, doar modificările sunt DL, MY și CE. Pe măsură ce vom face al doilea XBee ca dispozitiv End, deci în meniul derulant CE, selectați dispozitivul End și apăsați butonul Write.
Pasul 9: - Acum, modulele noastre XBee sunt pregătite pentru interfață cu placa Arduino. Vom conecta transmițătorul XBee la laptopul și receptorul XBee cu placa Arduino. Apoi dați comenzi părții receptorului folosind laptopul.
Diagrama circuitului pentru partea receptorului:
Conexiuni:
- Tx (pin2) al XBee -> Rx al plăcii Arduino
- Rx (pin3) de Xbee -> Tx de pe placa Arduino
- Gnd (pin10) al Xbee -> GND al plăcii Arduino
- Vcc (Pin1) al Xbee -> 3.3v al plăcii Arduino
Dacă utilizați placa Arduino pentru a conecta transmițătorul ZigBee la laptop, conexiunile vor fi aceleași ca și pentru programarea ZigBee.
Programarea și testarea comunicării XBee folosind Arduino
Acum, vom scrie un cod pentru ca receptorul Arduino să pornească LED-ul ori de câte ori partea receptorului primește „a” și să clipească LED-ul ori de câte ori primește „b”, pentru alte caractere LED-ul va rămâne OFF.
Codul este simplu și ușor de înțeles. Vom verifica doar caracterele primite folosind funcția Serial.available () și vom stoca acest caracter într-o variabilă utilizând Serial.read (); funcționează și potrivește-l cu „a” și „b”. Dacă potrivirea este corectă, atunci efectuați sarcina specificată în condiție. Codul complet pentru partea Receiver este dat în cele din urmă. Încărcați codul în partea Receiver Arduino. Scoateți firele Tx și Rx ale XBee înainte de a încărca.
Acum, ne-am pregătit cu toții să testăm emițătorul și receptorul. Pentru a da comanda părții transmițătorului, vom folosi terminalul consolei XCTU. Faceți clic pe pictograma Consolei lângă opțiunea de setări. Apoi, faceți clic pe butonul Deschidere pentru a conecta XBee la laptop.
Introduceți „a” în jurnalul Consolei. Veți vedea că LED-ul se va aprinde timp de 2 secunde și după aceea introduceți „b” pentru a face ledul să clipească de 5 ori.
De asemenea, puteți conecta transmițătorul XBee la placa Arduino, doar schimbați puțin codul receptorului. În locul funcției Serial.read (), utilizați funcția Serial.println () pentru a trimite caracterele.
Verificați videoclipul demonstrativ prezentat mai jos.
Această configurație XBee-Arduino poate fi utilizată pentru a crea multe aplicații wireless utile, cum ar fi sistemul de automatizare a casei, camera de chat etc.