Raspberry Pi i Arduino dvije su najpopularnije ploče otvorenog koda u Electronics Community. Nisu popularni samo među inženjerima elektronike već i među učenicima škola i hobistima zbog njihove lakoće i jednostavnosti. Čak su i neki ljudi upravo počeli voljeti elektroniku zbog Raspberry Pi-a i Arduina. Te ploče imaju velike moći, a u nekoliko jednostavnih koraka i malo programiranja može se izraditi vrlo kompliciran i Hi-fi projekt.
Stvorili smo niz Arduino projekata i vodiča, od vrlo jednostavnih do složenih. Također smo stvorili seriju tutorijala za Raspberry Pi, odakle svatko može početi učiti od početka. Ovo je mali doprinos Elektroničkoj zajednici s naše strane i ovaj se portal pokazao kao odličan resurs za učenje elektronike. Dakle, danas okupljamo ove dvije sjajne ploče povezivanjem Arduina s Raspberry Pi.
U ovom uputstvu uspostavit ćemo serijsku komunikaciju između Raspberry Pi i Arduino Uno. PI ima samo 26 GPIO pinova i nula ADC kanala, pa kad radimo projekte poput 3D pisača, PI ne može sam obavljati sve interakcije. Dakle, trebamo više izlaznih pinova i dodatne funkcije, za dodavanje više funkcija u PI uspostavljamo komunikaciju između PI i UNO. Uz to možemo koristiti sve funkcije UNO-a kao što su to bile PI funkcije.


Arduino je velika platforma za razvoj projekata, koja ima mnogo ploča poput Arduino Uno, Arduino Pro mini, Arduino Due itd. Oni su ploče zasnovane na ATMEGA kontroleru dizajnirane za elektroničke inženjere i hobiste. Iako na platformi Arduino postoji mnogo ploča, ali Arduino Uno je dobio puno zahvalnosti zbog jednostavnosti izvođenja projekata. Okružje za razvoj programa temeljeno na Arduinu jednostavan je način za pisanje programa u usporedbi s drugima.
Potrebne komponente:
Ovdje koristimo Raspberry Pi 2 Model B s Raspbian Jessie OS i Arduino Uno. Svi osnovni hardverski i softverski zahtjevi, u vezi s Raspberry Pi, prethodno su raspravljeni, možete ih potražiti u Uvodu o Raspberry Pi, osim onoga što nam treba:
- Spojne igle
- Otpor 220Ω ili 1KΩ (2 komada)
- LED
- Dugme
Objašnjenje sklopa:

Kao što je prikazano na gornjoj shemi spojeva, spojit ćemo UNO na PI USB priključak pomoću USB kabela. Postoje četiri USB porta za PI; možete ga povezati s bilo kojim od njih. Spojen je gumb za inicijalizaciju serijske komunikacije i LED (treptaj) koji pokazuje da se podaci šalju.
Objašnjenje rada i programiranja:
Arduino Uno dio:
Prvo programirajmo UNO, Prvo spojite UNO s računalom, a zatim napišite program (odjeljak za provjeru koda u nastavku) u Arduino IDE softver i prenesite program na UNO. Zatim odvojite UNO od računala. Priključite UNO na PI nakon programiranja i spojite LED i gumb na UNO, kao što je prikazano na shemi spojeva.
Sada program ovdje pokreće serijsku komunikaciju UNO-a. Kada pritisnemo gumb pričvršćen na UNO, UNO serijski šalje nekoliko znakova na PI putem USB porta. LED dioda pričvršćena na PI trepće kako bi ukazala na znakove koji se šalju.
Dio Raspberry Pi:
Nakon toga moramo napisati program za PI (odjeljak za provjeru koda u nastavku), da bismo primili ove podatke koje šalje UNO. Za to moramo razumjeti nekoliko naredbi navedenih u nastavku.
Uvozit ćemo serijsku datoteku iz knjižnice, ova funkcija omogućuje nam slanje ili primanje podataka serijski ili putem USB priključka.
uvoz serijski
Sada moramo navesti priključak uređaja i brzinu prijenosa podataka za PI da prima podatke od UNO-a bez ikakvih pogrešaka. Sljedeća naredba navodi da omogućavamo serijsku komunikaciju od 9600 bitova u sekundi na ACM0 priključku.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Da biste saznali luku na koju je UNO priključen, idite na terminal PI i uđite
ls / dev / tty *
Imat ćete popis svih priključenih uređaja na PI. Sada spojite Arduino Uno na Raspberry Pi USB kabelom i ponovo unesite naredbu. UNO priključeni priključak možete lako prepoznati s prikazanog popisa.
Ispod se koristi naredba zauvijek, s ovom naredbom će se izrazi unutar ove petlje kontinuirano izvršavati.
Dok je 1:
Nakon serijskog primanja podataka prikazivat ćemo znakove na zaslonu PI.
ispis (ser.readline ())
Dakle, nakon pritiska gumba, pričvršćenog na UNO, vidjet ćemo znakove koji se ispisuju na PI zaslonu. Stoga smo uspostavili osnovno komunikacijsko rukovanje između Raspberry Pi i Arduino.
