Raspberry Pi og Arduino er de to mest populære open source-tavlene i Electronics Community. De er ikke bare populære blant elektronikkingeniører, men også blant skolelever og hobbyister på grunn av deres letthet og enkelhet. Selv noen begynte å like elektronikk på grunn av Raspberry Pi og Arduino. Disse tavlene har store krefter, og man kan bygge veldig komplisert og Hi-fi-prosjekt i få enkle trinn og lite programmering.
Vi har laget flere Arduino-prosjekter og opplæringsprogrammer, fra veldig enkle til kompliserte. Vi har også laget serier med Raspberry Pi-opplæringsprogrammer, hvorfra alle kan begynne å lære fra grunnen av. Dette er et lite bidrag til Electronics Community fra vår side, og denne portalen har vist seg som en god læringsressurs for elektronikk. Så i dag bringer vi disse to flotte brettene sammen av Interfacing Arduino med Raspberry Pi.
I denne opplæringen vil vi etablere en seriekommunikasjon mellom Raspberry Pi og Arduino Uno. PI har bare 26 GPIO-pinner og null ADC-kanaler, så når vi gjør prosjekter som 3D-skriver, kan ikke PI gjøre alle interaksjonene alene. Så vi trenger flere utgangspinner og tilleggsfunksjoner, for å legge til flere funksjoner til PI, etablerer vi en kommunikasjon mellom PI og UNO. Med det kan vi bruke alle funksjonene til UNO som de var PI-funksjoner.
Arduino er en stor plattform for prosjektutvikling, og har mange tavler som Arduino Uno, Arduino Pro mini, Arduino Due etc. De er ATMEGA-kontrollerbaserte tavler designet for elektroniske ingeniører og hobbyister. Selv om det er mange tavler på Arduino-plattformen, men Arduino Uno fikk mange takknemlighet for sin enkle å gjøre prosjekter. Arduino-basert programutviklingsmiljø er en enkel måte å skrive programmet i forhold til andre.
Nødvendige komponenter:
Her bruker vi Raspberry Pi 2 Model B med Raspbian Jessie OS og Arduino Uno. Alle de grunnleggende maskinvare- og programvarekravene, angående Raspberry Pi, er tidligere diskutert, du kan slå opp i Raspberry Pi Introduksjon, annet enn det vi trenger:
- Koble pinner
- 220Ω eller 1KΩ motstand (2 deler)
- LED
- Knapp
Kretsforklaring:
Som vist i kretsdiagrammet ovenfor, kobler vi UNO til PI USB-porten ved hjelp av USB-kabel. Det er fire USB-porter for PI; du kan koble den til en av dem. En knapp er koblet til for å initialisere seriell kommunikasjon og LED (blink) for å indikere at data sendes.
Arbeid og programmering Forklaring:
Arduino Uno del:
La oss først programmere UNO, Koble UNO til PC-en først, og skriv deretter programmet (Sjekk koden nedenfor) i Arduino IDE-programvaren og last opp programmet til UNO. Koble deretter UNO fra PC. Fest UNO til PI etter programmering og koble en LED og knapp til UNO, som vist i kretsskjemaet.
Nå initialiserer programmet her den serielle kommunikasjonen til UNO. Når vi trykker på knappen som er festet til UNO, sender UNO få tegn til PI serielt gjennom USB-porten. LED-en som er koblet til PI-en, blinker for å indikere tegnene som sendes.
Raspberry Pi-del:
Etter det må vi skrive et program for PI (sjekk koden nedenfor) for å motta disse dataene blir sendt av UNO. For det må vi forstå noen få kommandoer som er angitt nedenfor.
Vi skal importere seriefiler fra biblioteket, denne funksjonen gjør det mulig for oss å sende eller motta data serielt eller via USB-port.
importer seriell
Nå må vi oppgi enhetsporten og bithastigheten for at PI skal motta dataene fra UNO uten feil. Kommandoen nedenfor sier at vi muliggjør seriell kommunikasjon på 9600 bits per sekund på ACM0-porten.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
For å finne ut porten som UNO er tilknyttet, går du til terminalen på PI og går inn
ls / dev / tty *
Du vil ha listen over alle tilkoblede enheter på PI. Koble nå Arduino Uno til Raspberry Pi med USB-kabel og skriv inn kommandoen igjen. Du kan enkelt identifisere den tilknyttede UNO-porten fra listen som vises.
Nedenfor brukes kommandoen som evig sløyfe, med denne kommandoen vil setningene i denne sløyfen utføres kontinuerlig.
Mens 1:
Etter å ha mottatt dataene serielt, vil vi vise tegnene på skjermen til PI.
skriv ut (ser.readline ())
Så etter at knappen, festet til UNO, er trykket, vil vi se tegn skrives ut på PI-skjermen. Derfor har vi etablert et grunnleggende kommunikasjonshåndtrykk mellom Raspberry Pi og Arduino.