Raspberry Pi och Arduino är de två mest populära open source-korten i Electronics Community. De är inte bara populära bland elektronikingenjörer utan också bland skolelever och hobbyister på grund av deras enkelhet och enkelhet. Även vissa människor började bara tycka om elektronik på grund av Raspberry Pi och Arduino. Dessa kort har stora krafter, och man kan bygga mycket komplicerat och Hi-fi-projekt i några enkla steg och lite programmering.
Vi har skapat ett antal Arduino-projekt och handledning, från mycket enkla till komplicerade. Vi har också skapat serie Raspberry Pi-handledning, varifrån vem som helst kan börja lära sig från grunden. Detta är ett litet bidrag till Electronics Community från vår sida och denna portal har visat sig vara en bra lärande resurs för elektronik. Så idag tar vi samman dessa två fantastiska brädor genom Interfacing Arduino med Raspberry Pi.
I denna handledning skapar vi en seriekommunikation mellan Raspberry Pi och Arduino Uno. PI har bara 26 GPIO-stift och noll ADC-kanaler, så när vi gör projekt som 3D-skrivare kan PI inte göra alla interaktioner ensamma. Så vi behöver fler utgångsstift och ytterligare funktioner, för att lägga till fler funktioner till PI, skapar vi en kommunikation mellan PI och UNO. Med det kan vi använda all funktion av UNO som de var PI-funktioner.
Arduino är en stor plattform för projektutveckling, med många styrelser som Arduino Uno, Arduino Pro mini, Arduino Due etc. De är ATMEGA-styrbaserade kort utformade för elektroniska ingenjörer och hobbyister. Även om det finns många styrelser på Arduino-plattformen, men Arduino Uno fick många uppskattningar, för att det är enkelt att göra projekt. Arduino-baserad programutvecklingsmiljö är ett enkelt sätt att skriva programmet jämfört med andra.
Komponenter som krävs:
Här använder vi Raspberry Pi 2 Model B med Raspbian Jessie OS och Arduino Uno. Alla grundläggande hårdvaru- och mjukvarukrav, avseende Raspberry Pi, har tidigare diskuterats, du kan slå upp det i Raspberry Pi-introduktionen, annat än vad vi behöver:
- Anslutningsstift
- 220Ω eller 1KΩ motstånd (2 delar)
- LED
- Knapp
Kretsförklaring:
Som visas i kretsschemat ovan ansluter vi UNO till PI USB-porten med USB-kabel. Det finns fyra USB-portar för PI; du kan ansluta den till någon av dem. En knapp är ansluten för att initiera seriekommunikationen och lysdioden (blinka) för att indikera att data skickas.
Arbets- och programmeringsförklaring:
Arduino Uno-del:
Låt oss först programmera UNO, Anslut UNO till datorn först och skriv sedan programmet (Kontrollera kodavsnittet nedan) i Arduino IDE-programvaran och ladda upp programmet till UNO. Koppla sedan bort UNO från PC. Fäst UNO till PI efter programmering och anslut en LED och knapp till UNO, som visas i kretsschemat.
Nu initialiserar programmet här UNO: s seriekommunikation. När vi trycker på knappen kopplad till UNO skickar UNO få tecken till PI seriellt via USB-porten. Lysdioden som är ansluten till PI blinkar för att indikera vilka tecken som skickas.
Raspberry Pi-del:
Därefter måste vi skriva ett program för PI (avsnittet Kontrollera kod nedan) för att få dessa uppgifter skickade av UNO. För det måste vi förstå några kommandon som anges nedan.
Vi kommer att importera seriefiler från biblioteket, den här funktionen gör det möjligt för oss att skicka eller ta emot data seriellt eller via USB-port.
importera serie
Nu måste vi ange enhetsporten och bithastigheten för PI för att ta emot data från UNO utan några fel. Nedanstående kommando anger att vi möjliggör seriekommunikation på 9600 bitar per sekund på ACM0-porten.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
För att ta reda på porten som UNO är ansluten till, gå till terminalen på PI och gå in
ls / dev / tty *
Du kommer att ha en lista över alla anslutna enheter på PI. Anslut nu Arduino Uno till Raspberry Pi med USB-kabel och skriv in kommandot igen. Du kan enkelt identifiera den anslutna UNO-porten från listan som visas.
Nedan kommandot används som alltid loop, med detta kommando kommer uttalandena inuti denna loop att köras kontinuerligt.
Medan 1:
Efter att ha tagit emot data seriellt kommer vi att visa tecknen på PI-skärmen.
skriva ut (ser.readline ())
Så efter att knappen, kopplad till UNO, har tryckts in ser vi tecken skrivs ut på PI-skärmen. Därför har vi skapat en grundläggande kommunikationshandskakning mellan Raspberry Pi och Arduino.