- Krav
- Installera PyFirmata i Arduino med Raspberry Pi
- Kodförklaring
- Fading LED på Arduino med pyFirmata
Även om Raspberry Pi och Arduino är två olika hårdvaror när det gäller applikationer och struktur, men båda betraktas som två konkurrerande hårdvaruplattformar med öppen källkod. De har båda mycket stark gemenskap och stöd. Idag kommer vi att ändra saker något och visa dig hur vi kan dra nytta av dem båda. Om du har både Arduino och Raspberry pi-kort, kommer den här artikeln att visa dig hur du använder Raspberry pi och Python för att styra Arduino.
Vi kommer att använda PyFirmata firmware för att ge kommandon till Arduino med hjälp av Raspberry Pi python-skript. PyFirmata är i grunden ett förbyggt bibliotekspaket med python-program som kan installeras i Arduino för att möjliggöra seriell kommunikation mellan ett python-skript på vilken dator som helst och en Arduino. Detta pythonpaket kan ge åtkomst till att läsa och skriva valfri stift på Arduino. Så här kommer vi att köra pythonprogram på Arduino med Raspberry pi.
Så i den här handledningen kommer vi att utnyttja detta bibliotek och använda det i vårt Arduino-kort för att styra Arduino med Raspberry Pi.
Krav
- Raspberry Pi med Raspbian OS installerat i den
- Arduino Uno eller något annat Arduino-kort
- Arduino USB-kabel
- LED
I denna handledning använder jag extern bildskärm med hjälp av HDMI-kabel för att ansluta till Raspberry Pi. Om du inte har bildskärm kan du använda SSH-klient (Putty) eller VNC-server för att ansluta till Raspberry pi med en bärbar dator eller dator. Om du stöter på några problem så följ vår Bli stirrad med Raspberry Pi-guide.
Installera PyFirmata i Arduino med Raspberry Pi
För att ladda upp PyFirmata-firmware i Arduino måste vi installera Arduino IDE i Raspberry Pi. Följ dessa steg för att installera:
Steg 1: - Anslut Raspberry Pi till internet. Öppna kommandoterminalen och skriv följande kommando och tryck enter
sudo apt - get - y install arduino python - seriell mercurial
Vänta några minuter, det tar tid. Detta kommando installerar Arduino IDE i din Raspberry Pi.
Steg 2: - Nu installerar vi pyFirmata-filer med den github som anges:
git- klon https://github.com/tino/pyFirmata
Kör sedan följande kommando:
cd pyFirmata sudo python setup.py installera
Steg 3: - Vi har installerat alla nödvändiga filer och inställningar.
Anslut nu ditt Arduino-kort med Raspberry Pi med USB-kabel och starta Arduino IDE genom att skriva arduino i terminalfönstret.
Steg 4: - Då typ lsusb kommandot för att kontrollera om Arduino är ansluten med hallon pi.
I Arduino IDE, gå till verktyg och välj ditt kort och Serial Port.
Steg 5: - Ladda upp PyFirmata-firmware på Arduino genom att klicka på Arkiv -> Exempel -> Firmata -> Standard Firmata och klicka sedan på uppladdningsknappen. Enligt nedanstående.
Vi har framgångsrikt installerat firmware för pyFirmata i Arduino-kortet. Nu kan vi styra vår Arduino med Raspberry Pi.
För demonstration kommer vi att blinka och tona en LED på Arduino genom att skriva pythonkoder i Raspberry Pi.
Kodförklaring
För kodningsdel bör du läsa dokumentation av pyFirmata för bättre förståelse. Vi använder pyFirmata-funktioner för att skriva vår kod. Du hittar pyFirmata-dokumentationen genom att följa länken.
Så låt oss börja skriva koden
Öppna din favorittextredigerare på Raspberry Pi och importera pyFirmata-biblioteket.
importera pyfirmata
Definiera stift på Arduino för att ansluta lysdioden
led_pin = 9
Nu måste vi skriva serieportnamn som Arduino ombord är ansluten med pyfirmata.Arduino () funktion och sedan göra en instans genom att tilldela hamn ombord variabel.
kort = pyfirmata.Arduino ("/ dev / ttyACM0") skriv ut "Koden körs"
I medan slinga, gör lett stift HÖG och låg användning board.digital.write) ( funktion och ge fördröjning med användning board.pass_time () funktion.
medan True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Vår kod är klar, spara den här koden genom att sätta .py- tillägget i filnamnet.
Öppna kommandoterminalen och skriv python blink.py för att köra koden på Arduino-kortet. Se till att ditt Arduino-kort är anslutet till ditt Raspberry Pi-kort med USB-kabel.
Nu kan du se Blinkande LED på Arduino-kortet.
Komplett kod för blinkande LED med pyFirmata ges i slutet.
Fading LED på Arduino med pyFirmata
Nu kommer vi att skriva kod för att bleka lysdioden för att göra dig mer bekant med pyFirmata-funktionerna. Den här koden är lätt som den tidigare. Du måste använda två för öglor, en för att öka ljusstyrkan och en annan för att minska ljusstyrkan.
I den här koden har vi definierat stiften på olika sätt som led = board.get_pin ('d: 9: p') där d betyder digital stift . Detta är funktionen hos pyFirmata-biblioteket. Läs dokumentationen för mer information.
Komplett kod för Fading LED med pyFirmata ges i slutet.
Nu kan du lägga till fler sensorer i ditt system och göra det coolare, kolla våra andra Arduino-projekt och försök bygga dem med Raspberry pi och python-skript.