- Krav
- Installation af PyFirmata i Arduino ved hjælp af Raspberry Pi
- Kode Forklaring
- Fading LED på Arduino ved hjælp af pyFirmata
Selvom Raspberry Pi og Arduino er to forskellige hardware med hensyn til deres applikationer og struktur, men de betragtes begge som to konkurrerende open source-hardwareplatforme. De har begge meget stærkt samfund og støtte. I dag vil vi ændre tingene lidt og vise dig, hvordan vi kan drage fordel af dem begge. Hvis du har både Arduino og Raspberry pi-kort, viser denne artikel dig, hvordan du bruger Raspberry pi og Python til at styre Arduino.
Vi bruger PyFirmata firmware til at give kommandoer til Arduino ved hjælp af Raspberry Pi python-script. PyFirmata er dybest set en forudbygget bibliotekspakke med python-program, som kan installeres i Arduino for at muliggøre seriel kommunikation mellem et python-script på enhver computer og en Arduino. Denne python-pakke kan give adgang til at læse og skrive enhver pin på Arduino. Så her kører vi python-program på Arduino ved hjælp af Raspberry pi.
Så i denne vejledning vil vi drage fordel af dette bibliotek og bruge dette i vores Arduino-kort til at styre Arduino ved hjælp af Raspberry Pi.
Krav
- Raspberry Pi med Raspbian OS installeret i den
- Arduino Uno eller ethvert andet Arduino-kort
- Arduino USB-kabel
- LED
I denne vejledning bruger jeg ekstern skærm ved hjælp af HDMI-kabel til at oprette forbindelse til Raspberry Pi. Hvis du ikke har skærm, kan du bruge SSH-klient (Putty) eller VNC-server til at oprette forbindelse til Raspberry pi ved hjælp af bærbar computer eller computer. Hvis du finder nogen problemer, skal du følge vores Bliv stirret med Raspberry Pi Guide.
Installation af PyFirmata i Arduino ved hjælp af Raspberry Pi
For at uploade PyFirmata-firmware i Arduino skal vi installere Arduino IDE i Raspberry Pi. Følg disse trin for at installere:
Trin 1: - Tilslut Raspberry Pi til internettet. Åbn kommandoterminal, og skriv følgende kommando, og tryk på Enter
sudo apt - get - y installer arduino python - seriel mercurial
Vent et par minutter, det tager tid. Denne kommando installerer Arduino IDE i din Raspberry Pi.
Trin 2: - Nu installerer vi pyFirmata-filer ved hjælp af den givne github:
git- klon https://github.com/tino/pyFirmata
Kør derefter følgende kommando:
cd pyFirmata sudo python setup.py installation
Trin 3: - Vi har installeret alle de nødvendige filer og opsætninger.
Tilslut nu dit Arduino-kort med Raspberry Pi ved hjælp af USB-kabel og start Arduino IDE ved at skrive arduino i terminalvinduet.
Trin 4: - Skriv derefter lsusb- kommandoen for at kontrollere, om Arduino er forbundet med din hindbær pi.
I Arduino IDE skal du gå til værktøjer og vælge dit tavle og seriel port.
Trin 5: - Upload PyFirmata-firmwaren på Arduino ved at klikke på File -> Eksempler -> Firmata -> Standard Firmata, og klik derefter på upload-knappen. Som vist nedenfor.
Vi har med succes installeret pyFirmata-firmwaren i Arduino-kortet. Nu kan vi styre vores Arduino ved hjælp af Raspberry Pi.
Til demonstration vil vi blinke og falme en LED på Arduino ved at skrive pythonkoder i Raspberry Pi.
Kode Forklaring
For kodningsdel skal du læse dokumentation for pyFirmata for bedre forståelse. Vi bruger pyFirmata-funktioner til at skrive vores kode. Du kan finde pyFirmata-dokumentation ved at følge linket.
Så lad os begynde at skrive koden
Åbn din yndlings teksteditor på Raspberry Pi, og importer pyFirmata-biblioteket.
importer pyfirmata
Definer pin på Arduino for at forbinde LED
led_pin = 9
Nu er vi nødt til at skrive seriel port navn på hvilke Arduino bord er tilsluttet via pyfirmata.Arduino () funktion og derefter foretage en instans ved at tildele havn i bord variabel.
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Koden kører"
I mens sløjfe skal du gøre ledet ben HØJ og lav ved hjælp af board.digital.write () -funktionen og give forsinkelse ved hjælp af board.pass_time () -funktionen.
mens True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Vores kode er klar, gem denne kode ved at sætte .py- udvidelsen til filnavnet.
Åbn kommandoterminalen og skriv python blink.py for at køre koden på Arduino-kortet. Sørg for, at dit Arduino-kort er forbundet med dit Raspberry Pi-kort ved hjælp af USB-kabel.
Nu kan du se Blinkende LED på Arduino-kortet.
Komplet kode til blinkende LED ved hjælp af pyFirmata er angivet i slutningen.
Fading LED på Arduino ved hjælp af pyFirmata
Nu vil vi skrive kode til falmning af LED'en for at gøre dig mere fortrolig med pyFirmata-funktionerne. Denne kode er let som den foregående. Du skal bruge to til sløjfer, en til at øge lysstyrken og en anden til at mindske lysstyrken.
I denne kode har vi defineret benene på forskellig måde som led = board.get_pin ('d: 9: p') hvor d betyder digital pin . Dette er funktionen af pyFirmata-biblioteket. Læs dokumentationen for flere detaljer.
Komplet kode til Fading LED ved hjælp af pyFirmata er angivet i slutningen.
Nu kan du tilføje flere sensorer til dit system og gøre det mere sejt, tjek vores andre Arduino-projekter og prøv at opbygge dem ved hjælp af Raspberry pi og python-script.