Raspberry Pi și Arduino sunt cele mai populare două plăci open source din Electronics Community. Acestea sunt populare nu numai în rândul inginerilor electronici, ci și în rândul elevilor școlari și amatori, datorită simplității și simplității lor. Chiar și unor persoane tocmai le-a plăcut Electronica din cauza Raspberry Pi și Arduino. Aceste placi au puteri mari și se poate construi un proiect foarte complicat și Hi-fi în câțiva pași simpli și puțină programare.
Am creat numeroase proiecte și tutoriale Arduino, de la cele foarte simple la cele complicate. De asemenea, am creat Seria de Tutoriale Raspberry Pi, de unde oricine poate începe să învețe de la „zero”. Aceasta este o mică contribuție la comunitatea electronică din partea noastră, iar acest portal s-a dovedit a fi o resursă de învățare excelentă pentru electronică. Așadar, astăzi aducem împreună aceste două plăci grozave prin interfața Arduino cu Raspberry Pi.
În acest tutorial, vom stabili o comunicare în serie între Raspberry Pi și Arduino Uno. PI are doar 26 de pini GPIO și zero canale ADC, așa că atunci când facem proiecte precum imprimanta 3D, PI nu poate face toate interacțiunile singure. Deci, avem nevoie de mai mulți pini de ieșire și funcții suplimentare, pentru a adăuga mai multe funcții la PI, stabilim o comunicare între PI și UNO. Cu aceasta putem folosi toată funcția UNO așa cum erau funcțiile PI.
Arduino este o platformă mare pentru dezvoltarea proiectelor, având multe plăci precum Arduino Uno, Arduino Pro mini, Arduino Due etc. Deși există multe plăci pe platforma Arduino, dar Arduino Uno a primit multe aprecieri, pentru ușurința de a face proiecte. Mediul de dezvoltare a programului bazat pe Arduino este o modalitate ușoară de a scrie programul în comparație cu alții.
Componente necesare:
Aici folosim Raspberry Pi 2 Model B cu Raspbian Jessie OS și Arduino Uno. Toate cerințele de bază privind hardware-ul și software-ul, referitoare la Raspberry Pi, sunt discutate anterior, le puteți căuta în Introducerea Raspberry Pi, în afară de asta avem nevoie:
- Pinii de conectare
- Rezistor 220Ω sau 1KΩ (2 bucăți)
- LED
- Buton
Explicația circuitului:
Așa cum se arată în schema de circuite de mai sus, vom conecta UNO la portul USB PI folosind cablul USB. Există patru porturi USB pentru PI; îl puteți conecta la oricare dintre ele. Un buton este conectat pentru a inițializa comunicația serială și LED-ul (clipire) pentru a indica faptul că datele sunt trimise.
Explicație de lucru și programare:
Partea Arduino Uno:
Mai întâi să programăm UNO, Conectați mai întâi UNO la computer și apoi scrieți programul (secțiunea Verificați codul de mai jos) în software-ul Arduino IDE și încărcați programul în UNO. Apoi deconectați UNO de la PC. Atașați UNO la PI după programare și conectați un LED și butonul la UNO, așa cum se arată în schema de circuit.
Acum, programul de aici inițializează comunicarea în serie a UNO. Când apăsăm butonul atașat la UNO, UNO trimite câteva caractere către PI în serie prin portul USB. LED-ul atașat la PI clipește pentru a indica caracterele trimise.
Raspberry Pi Partea:
După aceea, trebuie să scriem un program pentru PI (Verificați secțiunea Cod de mai jos), pentru a primi aceste date fiind trimise de UNO. Pentru asta trebuie să înțelegem câteva comenzi enunțate mai jos.
Urmează să importăm fișiere seriale din bibliotecă, această funcție ne permite să trimitem sau să primim date în serie sau prin port USB.
import serial
Acum, trebuie să precizăm portul dispozitivului și rata de biți pentru ca PI să primească datele de la UNO fără erori. Comanda de mai jos afirmă că, permitem comunicarea serială de 9600 biți pe secundă pe portul ACM0.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Pentru a afla portul la care UNO este atașat, mergeți la terminalul PI și intrați
ls / dev / tty *
Veți avea lista tuturor dispozitivelor atașate pe PI. Acum conectați Arduino Uno la Raspberry Pi cu cablu USB și introduceți din nou comanda. Puteți identifica cu ușurință portul atașat UNO din lista afișată.
Comanda de mai jos este utilizată ca buclă pentru totdeauna, cu această comandă instrucțiunile din această buclă vor fi executate continuu.
În timp ce 1:
După primirea datelor în serie, vom afișa caracterele pe ecranul PI.
print (ser.readline ())
Deci, după ce butonul, atașat la UNO, este apăsat, vom vedea caractere imprimate pe ecranul PI. Prin urmare, am stabilit o strângere de mână de comunicare de bază între Raspberry Pi și Arduino.