- Krav
- Installere PyFirmata i Arduino ved hjelp av Raspberry Pi
- Kode Forklaring
- Fading LED på Arduino ved hjelp av pyFirmata
Selv om Raspberry Pi og Arduino er to forskjellige maskinvarer når det gjelder applikasjoner og struktur, men de blir begge ansett som to konkurrerende maskinvareplattformer med åpen kildekode. De har begge veldig sterkt fellesskap og støtte. I dag vil vi endre ting litt, og vise deg hvordan vi kan dra nytte av dem begge. Hvis du har både Arduino og Raspberry pi-brett, vil denne artikkelen vise deg hvordan du bruker Raspberry pi og Python for å kontrollere Arduino.
Vi vil bruke PyFirmata firmware for å gi kommandoer til Arduino ved hjelp av Raspberry Pi python-skript. PyFirmata er i utgangspunktet en forhåndsbygd bibliotekspakke med python-program som kan installeres i Arduino for å tillate seriell kommunikasjon mellom et python-skript på hvilken som helst datamaskin og en Arduino. Denne pythonpakken kan gi tilgang til å lese og skrive hvilken som helst pin på Arduino. Så her vil vi kjøre pythonprogram på Arduino ved hjelp av Raspberry pi.
Så i denne opplæringen vil vi dra nytte av dette biblioteket og vil bruke dette i vårt Arduino-kort for å kontrollere Arduino ved hjelp av Raspberry Pi.
Krav
- Raspberry Pi med Raspbian OS installert i den
- Arduino Uno eller annet Arduino-brett
- Arduino USB-kabel
- LED
I denne opplæringen bruker jeg ekstern skjerm ved hjelp av HDMI-kabel for å koble til Raspberry Pi. Hvis du ikke har skjerm, kan du bruke SSH-klient (Putty) eller VNC-server for å koble til Raspberry pi ved hjelp av bærbar PC eller datamaskin. Hvis du opplever problemer, følg vår Bli stirret med Raspberry Pi Guide.
Installere PyFirmata i Arduino ved hjelp av Raspberry Pi
For å laste opp PyFirmata firmware i Arduino, må vi installere Arduino IDE i Raspberry Pi. Følg disse trinnene for å installere:
Trinn 1: - Koble Raspberry Pi til internett. Åpne kommandoterminal og skriv inn følgende kommando og trykk enter
sudo apt - get - y install arduino python - seriell mercurial
Vent noen minutter, det vil ta tid. Denne kommandoen vil installere Arduino IDE i Raspberry Pi.
Trinn 2: - Nå vil vi installere pyFirmata-filer ved hjelp av den gitte github:
git klon https://github.com/tino/pyFirmata
Kjør deretter følgende kommando:
cd pyFirmata sudo python setup.py installere
Trinn 3: - Vi har installert alle nødvendige filer og oppsett.
Nå kobler du Arduino-kortet med Raspberry Pi ved hjelp av USB-kabel og starter Arduino IDE ved å skrive arduino i terminalvinduet.
Trinn 4: - Skriv deretter inn lsusb- kommandoen for å sjekke om Arduino er koblet til bringebær-pi.
I Arduino IDE, gå til verktøy og velg tavle og seriell port.
Trinn 5: - Last opp PyFirmata-firmware på Arduino ved å klikke på File -> Eksempler -> Firmata -> Standard Firmata, og klikk deretter på opplastingsknapp. Som vist under.
Vi har installert pyFirmata-fastvaren i Arduino-kortet. Nå kan vi kontrollere Arduino ved hjelp av Raspberry Pi.
For demonstrasjon vil vi blinke og falme en LED på Arduino ved å skrive pythonkoder i Raspberry Pi.
Kode Forklaring
For kodingsdel, bør du lese dokumentasjon av pyFirmata for bedre forståelse. Vi vil bruke pyFirmata-funksjoner til å skrive koden vår. Du finner pyFirmata-dokumentasjon ved å følge lenken.
Så la oss begynne å skrive koden
Åpne favoritt teksteditoren din på Raspberry Pi og importer pyFirmata-biblioteket.
importer pyfirmata
Definer pin på Arduino for å koble til LED
led_pin = 9
Nå må vi skrive serieportnavn som Arduino styret er koblet til med pyfirmata.Arduino () funksjon og deretter foreta en forekomst ved å tilordne porten i styret variabel.
bord = pyfirmata.Arduino ("/ dev / ttyACM0") utskrift "Koden kjører"
I mens løkke, gjør led pin HØY og lav ved hjelp av board.digital.write () funksjon og gi forsinkelse ved hjelp av board.pass_time () -funksjonen.
mens True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Koden vår er klar, lagre denne koden ved å legge .py- utvidelsen til filnavnet.
Åpne kommandoterminalen og skriv python blink.py for å kjøre koden på Arduino-kortet. Forsikre deg om at Arduino-kortet ditt er koblet til Raspberry Pi-kortet ditt ved hjelp av USB-kabel.
Nå kan du se Blinkende LED på Arduino-kortet.
Komplett kode for blinkende LED ved hjelp av pyFirmata er gitt på slutten.
Fading LED på Arduino ved hjelp av pyFirmata
Nå vil vi skrive kode for å falme LED for å gjøre deg mer kjent med pyFirmata-funksjonene. Denne koden er enkel som forrige. Du må bruke to til løkker, en for å øke lysstyrken og en for å redusere lysstyrken.
I denne koden har vi definert pinnene på forskjellige måter som led = board.get_pin ('d: 9: p') der d betyr digital pin . Dette er funksjonen til pyFirmata-biblioteket. Les dokumentasjonen for mer informasjon.
Komplett kode for Fading LED ved hjelp av pyFirmata er gitt på slutten.
Nå kan du legge til flere sensorer i systemet ditt og gjøre det mer kult, sjekk de andre Arduino-prosjektene våre og prøv å bygge dem ved hjelp av Raspberry pi og python-skript.