- Nødvendige materialer:
- Installere Python på datamaskinen din:
- Få PySerial i Python:
- Vårt første Arduino Python-program:
- Kontrollerende LED med Python og Arduino:
Arduino har alltid vært en kraftig og enkel å bruke lærings- / utviklingsplattform når det gjelder utvikling av åpen kildekode. I dagens moderne verden drives hver maskinvare av et høyt nivå generelt programmeringsspråk for å gjøre det mer effektivt og brukervennlig. Et slikt språk er Python. Python er et tolket, objektorientert, høyt nivå programmeringsspråk med dynamisk semantikk med høyt nivå innebygd datastruktur, kombinert med dynamisk skriving og dynamisk binding, gjør det veldig attraktivt for Rapid Application Development.
Å kombinere kraften til Arduino og Python vil åpne dører for mange muligheter siden python har økt produktivitet med sin evne til å samhandle med andre plattformer som openCV, Matlab osv. Så i denne veiledningen vil vi lære hvordan vi kan installere python på datamaskinen vår. og hvordan du bruker den med Arduino for å veksle den innebygde LED-lampen til Arduino.
Så, la oss komme i gang….
Nødvendige materialer:
- Arduino Uno (eller andre Arduino-brett)
- Datamaskin med Internett-tilkobling
Installere Python på datamaskinen din:
Åpenbart ville det første trinnet i denne opplæringen være å installere Python på datamaskinen vår. Trinnene nevnt nedenfor gjelder bare for Windows-brukere som kjører enten 32-biters eller 64-biters OS. Installasjonsprosedyren for MAC og Linux er forskjellig.
- Klikk på 32-bit Python-2.7.9 og dette vil installere 32-bit Python IDLE på datamaskinen din. Ikke last ned 64-bitersversjonen eller oppdaterte versjoner, siden de ikke gir støtte for våre Arduino-biblioteker. Selv om datamaskinen din fungerer på 64-bit, kan du bruke 32-bit Python selv.
- Åpne den nedlastede exe-filen og følg instruksjonene. Ikke endre katalogen der pythonet blir installert. Det vil være C: \ Python27 som standard og la det være som sådan.
- Mens installasjonen foregår, kan du få en advarsel fra antivirusprogrammet ditt (hvis noen), i så fall klikker du på tillat.
Det er det !, python er vellykket installert på datamaskinen vår. Du kan bekrefte det ved å søke etter "Python IDLE" i Windows- søkeboksen og åpne den.
Når du åpner, bør du få følgende skjerm. Dette vinduet kalles Python Shell, og vi vil referere til det som " Python shell " fra nå.
Denne skjermen kalles Python Shell. Du kan direkte kode inn her og få utdata på samme skjerm eller opprette en ny fil og skrive programmet der og bekrefte programmet her. Vi vil senere komme inn i detaljene for å lage et pythonprogram, for nå, la oss sjekke om python fungerer.
For å gjøre det, skriv bare “ print (1 + 1) ” og trykk enter. Du bør se at resultatet blir skrevet ut som vist nedenfor.
Få PySerial i Python:
Neste trinn er å installere pyserial. PySerial er en Python API-modul som brukes til å lese og skrive serielle data til Arduino eller andre mikrokontroller.
Klikk på Pyserial Windows for å laste ned PySerial. Den resulterende nedlastingen vil være en exe-fil som kan installeres direkte. Ikke endre noen innstillinger mens du installerer. La det være til standardkatalogen og standardinnstillingene.
La oss nå sjekke om PySerial er riktig installert. For å gjøre dette, åpne Python Shell igjen og skriv inn
importer seriell . Hvis biblioteket ble installert, skulle du ikke få noen feilmeldinger som vist på bildet nedenfor. Hvis du får feil, legg dem inn i kommentarseksjonen, og vi vil prøve å løse det.
Denne opplæringen forutsetter at du er kjent med Arduino og har erfaring i å laste opp prosjekter til Arduino. Så la oss hoppe direkte inn i Python-programmet vårt. Hvis du er nybegynner med Arduino, sjekk våre Arduino-prosjekter og start fra LED Blinking with Arduino.
Vårt første Arduino Python-program:
Som sagt tidligere, vil vi kontrollere den innebygde Arduino-tavle-LED-en ved hjelp av Python-skript. La oss starte med Arduino-koden.
Program for Arduino:
Hele programmet for denne Arduino python-opplæringen er gitt på slutten av denne siden. Les videre for å vite hvordan det fungerer.
Inne i setup -funksjonen vi initialisere seriell kommunikasjon på 9600 baud rate og erklærer at vi skal bruke den innebygde ført som utgang og slå den lav i programstart. Vi har også sendt en velkomstmelding til python via serietrykk som vist nedenfor:
ugyldig oppsett () {Serial.begin (9600); // initialisere seriell COM ved 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // lage LED-pinnen (13) som utgang digitalWrite (LED_BUILTIN, LOW); Serial.println ("Hei! Jeg er Arduino"); }
Inne i loop- funksjonen leser vi uansett hvilke data som kommer inn i serie og tilordner verdien til variabelen “data”. Basert på verdien av denne variabelen ("data"), bytter vi den innebygde ledningen som vist nedenfor.
ugyldig sløyfe () {while (Serial.available ()) {data = Serial.read (); } hvis (data == '1') digitalWrite (LED_BUILTIN, HIGH); annet hvis (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Program for Python:
Det komplette pythonprogrammet for denne opplæringen er gitt på slutten av denne siden. Les videre for å vite hvordan du skriver og bruker det samme.
- Åpne Python Shell (Python IDLE) og klikk File-> New
- Dette åpner en ny tekstfil der du kan skrive inn programmet.
- Før vi skriver inn noe, kan du lagre filen ved å Ctrl + S. Skriv inn et hvilket som helst navn og klikk på lagre. Dette lagrer filen automatisk i ".py" -utvidelsen.
- Nå skriver du inn programmet eller limer inn pythonkoden gitt på slutten av denne siden. Forklaringen på det samme er gitt nedenfor og kjører til slutt programmet.
I vårt program vil det første trinnet være å importere serie- og tidsbiblioteket. Seriellbiblioteket som sagt tidligere vil bli brukt til å lese og skrive seriell data, og tidsbiblioteket vil bli brukt til å skape forsinkelser i programmet vårt. Disse to bibliotekene kan importeres i programmet vårt ved hjelp av følgende to linjer:
importer seriell #Serie importert for seriell kommunikasjon importtid #Krever å bruke forsinkelsesfunksjoner
Neste trinn vil være å initialisere et serielt objekt ved hjelp av vårt serielle bibliotek. I dette programmet har vi kalt vårt serieobjekt som “ArduinoSerial” . I denne linjen må vi nevne navnet på COM-porten som Arduino er koblet til, og med hvilken baudhastighet den fungerer som vist nedenfor.
ArduinoSerial = serial.Serial ('com18', 9600)
Merk: Det er veldig viktig å nevne riktig COM-portnavn. Det kan bli funnet ved å bruke Enhetsbehandling på datamaskinen din.
Så snart det serielle objektet er initialisert, bør vi holde programmet i to sekunder for å opprette seriekommunikasjonen. Dette kan gjøres ved å bruke linjen nedenfor:
time.sleep (2)
Nå kan vi lese eller skrive noe fra / til vårt Arduino Board.
Følgende linje vil lese alt som kommer fra Arduino og vil skrive det ut på skallvinduet
skriv ut ArduinoSerial.readline ()
Du kan også tilordne verdien til en variabel og bruke den til beregninger.
Følgende linje skriver verdien av parameteren til Arduino Board.
ArduinoSerial.write ('1')
Denne linjen vil skrive '1' til Arduino. Du kan sende alt fra desimaler til strenger med samme linje.
Nå når vi kommer tilbake til programmet vårt, i den uendelige mens du har en løkke, har vi følgende linjer
var = raw_input () #get input fra brukerutskrift "du skrev inn", var #print input for bekreftelse hvis (var == '1'): # hvis verdien er 1 ArduinoSerial.write ('1') #send 1 utskrift ("LED slått PÅ") tid. sov (1) hvis (var == '0'): # hvis verdien er 0 ArduinoSerial.write ('0') # send 0 utskrift ("LED slått AV") tid.sove (1)
Linjen var = raw_input får en hvilken som helst verdi som er skrevet inn i Shell-skriptet og tilordner den verdien til variabelen var .
Senere, hvis verdien er 1, vil den skrive ut '1' serielt til Arduino, og hvis 0 vil den skrive ut '0' seriell til Arduino. Koden i vårt Arduino-program (diskutert ovenfor) vil vi bytte lysdiode basert på mottatt verdi.
Når det komplette programmet er ferdig, skal skriptet ditt se slik ut nedenfor
Klikk nå på Kjør -> Kjør modul eller trykk på F5, dette kan be deg om å lagre programmet og deretter starte det.
Kontrollerende LED med Python og Arduino:
Arbeidet med dette prosjektet er ganske rett frem. Last opp programmet til Arduino og kontroller at det er koblet til samme COM-port som nevnt i python-programmet. Start deretter Python-programmet som nevnt ovenfor.
Dette vil starte et python-skallskript som vist nedenfor. Vinduet til venstre er skallvinduet som viser utdata og vinduet til høyre er skriptet som viser programmet.
Som du kan se, blir strengen “Hei !, jeg er Arduino” som er skrevet inn i Arduino-programmet mottatt av Python og vises i skallvinduet.
Når skallvinduet ber om å angi verdier, kan vi skrive inn enten 0 eller 1. Hvis vi sender 1, vil lysdioden på Arduino Board slå seg PÅ, og hvis vi sender 0, vil LED på vår Arduino Board slå seg AV. Viser en vellykket forbindelse mellom vårt Arduino-program og Python.
Det er to programmer gitt nedenfor, det ene skal lastes opp og kjøres fra Arduino, og det andre skal kjøres fra Python Shell i Windows.
Håper du forsto prosjektet og klarte å få det til å fungere. Hvis ikke, legg inn problemet ditt i kommentaren nedenfor, så hjelper jeg deg gjerne. I vårt neste prosjekt vil vi lære hva mer som kan gjøres kult med Python og Arduino ved å utforske dypt inn i andre pythonmoduler som Vpython, gamepython etc. Inntil da, hold deg oppdatert….