Raspberry Pi og Arduino er de to mest populære open source boards i Electronics Community. De er ikke kun populære blandt elektronikingeniører, men også blandt skolestuderende og hobbyister på grund af deres lethed og enkelhed. Selv nogle mennesker lige begyndte at kunne lide elektronik på grund af Raspberry Pi og Arduino. Disse kort har store kræfter, og man kan opbygge meget kompliceret og Hi-fi-projekt i få enkle trin og lidt programmering.
Vi har oprettet et antal Arduino-projekter og vejledninger, fra meget enkle til komplicerede. Vi har også oprettet Series of Raspberry Pi Tutorials, hvorfra alle kan begynde at lære fra 'bunden'. Dette er et lille bidrag til Electronics Community fra vores side, og denne portal har vist sig at være en god læringsressource for elektronik. Så i dag bringer vi disse to fantastiske brædder sammen af Interfacing Arduino med Raspberry Pi.
I denne vejledning opretter vi en seriekommunikation mellem Raspberry Pi og Arduino Uno. PI har kun 26 GPIO-ben og nul ADC-kanaler, så når vi laver projekter som 3D-printer, kan PI ikke udføre alle interaktioner alene. Så vi har brug for flere outputstifter og yderligere funktioner, for at tilføje flere funktioner til PI opretter vi en kommunikation mellem PI og UNO. Med det kan vi bruge alle funktionerne i UNO, som de var PI-funktioner.
Arduino er en stor platform til projektudvikling, der har mange tavler som Arduino Uno, Arduino Pro mini, Arduino Due osv. De er ATMEGA controller baserede tavler designet til elektroniske ingeniører og hobbyister. Selvom der er mange tavler på Arduino-platformen, men Arduino Uno fik mange påskønnelser for sin lette at udføre projekter. Arduino-baseret programudviklingsmiljø er en nem måde at skrive programmet på sammenlignet med andre.
Nødvendige komponenter:
Her bruger vi Raspberry Pi 2 Model B med Raspbian Jessie OS og Arduino Uno. Alle de grundlæggende hardware- og softwarekrav, vedrørende Raspberry Pi, er tidligere diskuteret, du kan slå det op i Raspberry Pi Introduktion, bortset fra at vi har brug for:
- Tilslutningsstifter
- 220Ω eller 1KΩ modstand (2 stykker)
- LED
- Knap
Forklaring af kredsløb:
Som vist i kredsløbsdiagrammet ovenfor, tilslutter vi UNO til PI USB-porten ved hjælp af USB-kabel. Der er fire USB-porte til PI; du kan forbinde den til en hvilken som helst af dem. Der er tilsluttet en knap til at initialisere seriel kommunikation og LED (blink) for at indikere, at data sendes.
Arbejds- og programmeringsforklaring:
Arduino Uno del:
Lad os først programmere UNO, Tilslut UNO til pc'en først, og skriv derefter programmet (Tjek kode nedenfor) i Arduino IDE-softwaren, og upload programmet til UNO. Afbryd derefter UNO fra pc. Fastgør UNO til PI efter programmering og tilslut en LED og knap til UNO, som vist i kredsløbsdiagrammet.
Nu initialiserer programmet her UNO's serielle kommunikation. Når vi trykker på knappen knyttet til UNO, sender UNO få tegn til PI serielt gennem USB-porten. LED'en, der er knyttet til PI, blinker for at indikere de tegn, der sendes.
Hindbær Pi-del:
Derefter skal vi skrive et program til PI (afsnittet Tjek kode nedenfor) for at modtage disse data sendes af UNO. Til det er vi nødt til at forstå et par kommandoer, der er angivet nedenfor.
Vi skal importere seriefiler fra biblioteket, denne funktion giver os mulighed for at sende eller modtage data serielt eller via USB-port.
importer serie
Nu er vi nødt til at angive enhedsporten og bithastigheden for at PI kan modtage dataene fra UNO uden fejl. Nedenstående kommando siger, at vi muliggør seriel kommunikation på 9600 bits pr. Sekund på ACM0-porten.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
For at finde ud af den havn, som UNO er knyttet til, skal du gå til terminalen på PI og gå ind
ls / dev / tty *
Du vil have listen over alle tilsluttede enheder på PI. Tilslut nu Arduino Uno til Raspberry Pi med USB-kabel, og indtast kommandoen igen. Du kan let identificere den vedhæftede UNO-port fra den viste liste.
Nedenstående kommando bruges som evigt løkke, med denne kommando udføres udsagnene inde i denne løb kontinuerligt.
Mens 1:
Efter at have modtaget dataene serielt, viser vi tegnene på PI-skærmen.
print (ser.readline ())
Så når der trykkes på knappen, der er knyttet til UNO, ser vi tegn, der udskrives på PI-skærmen. Derfor har vi oprettet et grundlæggende kommunikationshåndtryk mellem Raspberry Pi og Arduino.