- Tarvittavat materiaalit:
- Pythonin asentaminen tietokoneellesi:
- PySerialin hankkiminen Pythonissa:
- Ensimmäinen Arduino Python -ohjelma:
- LED-ohjain Pythonilla ja Arduinolla:
Arduino on aina ollut tehokas ja helppokäyttöinen oppimis- / kehitysalusta avoimen lähdekoodin laitteistokehityksessä. Nykypäivän nykyaikaisessa maailmassa jokainen laitteisto toimii korkean tason yleiskäyttöisellä ohjelmointikielellä, jotta se olisi tehokkaampi ja käyttäjäystävällisempi. Yksi tällainen kieli on Python. Python on tulkittu, olioihin suuntautunut, korkean tason ohjelmointikieli, jossa on dynaaminen semantiikka ja korkean tason sisäänrakennetut tietorakenteet yhdistettynä dynaamiseen kirjoittamiseen ja dynaamiseen sidontaan, mikä tekee siitä erittäin houkuttelevan nopean sovelluskehityksen kannalta.
Arduinon ja Pythonin voiman yhdistäminen avaa ovia monille mahdollisuuksille, koska pythonilla on lisääntynyt tuottavuus ja kyky olla vuorovaikutuksessa muiden alustojen, kuten openCV, Matlab jne. Kanssa. Joten tässä opetusohjelmassa opimme, kuinka voimme asentaa pythonin tietokoneellemme ja kuinka sitä käytetään Arduinon kanssa Arduinon sisäisen LEDin vaihtamiseksi.
Joten, aloitetaan….
Tarvittavat materiaalit:
- Arduino Uno (tai mikä tahansa Arduino-levy)
- Tietokone Internet-yhteydellä
Pythonin asentaminen tietokoneellesi:
Tämän opetusohjelman ensimmäinen vaihe olisi tietysti Pythonin asentaminen tietokoneellemme. Alla mainitut vaiheet koskevat vain Windows-käyttäjiä, joilla on joko 32- tai 64-bittinen käyttöjärjestelmä. MAC: n ja Linuxin asennusprosessi on erilainen.
- Napsauta 32-bittistä Python-2.7.9 ja tämä asentaa 32-bittisen Python IDLE: n tietokoneellesi. Älä lataa 64-bittistä versiota tai päivitettyjä versioita, koska ne eivät tue Arduino-kirjastoja. Vaikka tietokoneesi olisi 64-bittinen, voit käyttää itse 32-bittistä Pythonia.
- Avaa ladattu exe-tiedosto ja seuraa ohjeita. Älä muuta hakemistoa, johon python asennetaan. Oletuksena se on C: \ Python27 ja jätä se sellaisenaan.
- Asennuksen aikana saatat saada varoituksen virustorjunnalta (jos sellainen on), napsauta sitten Salli.
Siinä se !, python on asennettu onnistuneesti tietokoneellemme. Voit vahvistaa sen etsimällä Windowsin hakukentästä ”Python IDLE” ja avaamalla sen.
Kun avaat, sinun pitäisi saada seuraava näyttö. Tätä ikkunaa kutsutaan nimellä Python Shell, ja me kutsumme sitä nyt nimellä " Python shell ".
Tätä näyttöä kutsutaan nimellä Python Shell. Voit koodata suoraan tähän ja saada tulosteen samalle näytölle tai luoda uuden tiedoston ja kirjoittaa ohjelman sinne ja vahvistaa ohjelman täällä. Tulemme myöhemmin käsittelemään python-ohjelman luomisen yksityiskohtia, nyt tarkistetaan, toimiiko python.
Voit tehdä niin kirjoittamalla “ print (1 + 1) ” ja painamalla Enter-näppäintä. Sinun pitäisi nähdä tulos tulostuvan alla olevan kuvan mukaisesti.
PySerialin hankkiminen Pythonissa:
Seuraava vaihe on pyserialin asentaminen. PySerial on Python-sovellusliittymämoduuli, jota käytetään sarjatietojen lukemiseen ja kirjoittamiseen Arduinoon tai mihin tahansa muuhun mikrokontrolleriin.
Napsauta Pyserial Windows ladataksesi PySerial. Tuloksena oleva lataus on exe-tiedosto, joka voidaan asentaa suoraan. Älä muuta asetuksia asennuksen aikana. Jätä se oletushakemistoon ja oletusasetuksiin.
Tarkista nyt, onko PySerial asennettu oikein. Voit tehdä tämän avaamalla Python Shell uudelleen ja kirjoittamalla
tuo sarja . Jos kirjasto on asennettu onnistuneesti, sinun ei pitäisi saada virheilmoituksia, kuten alla olevassa kuvassa näkyy. Jos saat virheitä, lähetä ne kommenttiosioon ja yritämme korjata sen.
Tässä opetusohjelmassa oletetaan, että olet perehtynyt Arduinoon ja sinulla on kokemusta projektien lataamisesta Arduinoon. Joten anna meidän siirtyä suoraan Python-ohjelmaamme. Jos olet aloittelija Arduinolla, tarkista Arduino-projektimme ja aloita LED-merkkivalon vilkkumisesta Arduinolla.
Ensimmäinen Arduino Python -ohjelma:
Kuten aiemmin sanoimme, ohjaamme sisäänrakennettua Arduino-kortin LEDiä Python-komentosarjalla. Aloitetaan Arduino-koodilla.
Ohjelma Arduinolle:
Tämän Arduino python -opetusohjelman täydellinen ohjelma on tämän sivun lopussa. Lue lisää tietääksesi kuinka se toimii.
Sisällä setup toiminto me alustaa sarjaliikennejärjestelmää 9600 siirtonopeus ja vakuuttaa, että käytämme sisäänrakennettua johti tuotantoon ja käännä sitä alhaisena ohjelman alkamisesta. Olemme myös lähettäneet tervetuloviestin pythonille sarjapainatuksella alla olevan kuvan mukaisesti:
void setup () {Sarja.alku (9600); // alusta sarja-COM 9600 baudinopeudella pinMode (LED_BUILTIN, OUTPUT); // tee LED-tappi (13) lähtöön digitalWrite (LED_BUILTIN, LOW); Serial.println ("Hei!, Olen Arduino"); }
Loop- toiminnon sisällä luemme mitä tahansa sarjaan tulevaa dataa ja määritetään arvo muuttujalle "data". Tämän muuttujan ("data") arvon perusteella vaihdamme sisäänrakennettua lediä alla olevan kuvan mukaisesti.
void loop () {while (Sarja.available ()) {data = Sarja.lue (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Python-ohjelma:
Tämän opetusohjelman täydellinen python-ohjelma on tämän sivun lopussa. Lue lisää tietääksesi kuinka kirjoittaa ja käyttää samaa.
- Avaa Python-kuori (Python IDLE) ja napsauta Tiedosto-> Uusi
- Tämä avaa uuden tekstitiedoston, johon voit kirjoittaa ohjelmasi.
- Ennen kuin kirjoitamme mitään, tiedosto voidaan tallentaa painamalla Ctrl + S. Kirjoita mikä tahansa nimi ja napsauta Tallenna. Tämä tallentaa tiedostosi automaattisesti.py-laajennukseen.
- Kirjoita nyt ohjelma tai liitä tämän sivun lopussa annettu python-koodi. Selitys samalle annetaan alla ja suorita lopuksi ohjelma.
Ohjelmassa ensimmäinen askel olisi tuoda sarja- ja aikakirjasto. Sarjakirjastoa, kuten aiemmin mainittiin, käytetään sarjatietojen lukemiseen ja kirjoittamiseen, ja aikakirjastoa käytetään viiveiden luomiseen ohjelmaamme. Nämä kaksi kirjastoa voidaan tuoda ohjelmaamme seuraavilla kahdella rivillä:
tuo sarja # Sarja tuotu sarjaliikenteen tuontiaikaa varten # Edellyttää viivetoimintojen käyttöä
Seuraava askel olisi alustaa sarjaobjekti sarjakirjastomme avulla. Tässä ohjelmassa olemme nimenneet sarjaobjektimme nimellä “ArduinoSerial” . Tässä rivissä on mainittava COM-portin nimi, johon Arduino on kytketty ja millä baudinopeudella se toimii, kuten alla on esitetty.
ArduinoSerial = sarja. Sarja ('com18', 9600)
Huomaa: On erittäin tärkeää mainita oikea COM-portin nimi. Se löytyy tietokoneesi Laitehallinnasta.
Heti kun sarjaobjekti on alustettu, meidän pitäisi pitää ohjelmaa kahden sekunnin ajan, jotta sarjaliikenne muodostetaan. Tämä voidaan tehdä käyttämällä alla olevaa riviä:
aika. unessa (2)
Nyt voimme lukea tai kirjoittaa mitä tahansa Arduino Boardillemme.
Seuraava rivi lukee kaiken Arduinosta tulevan ja tulostaa sen kuori-ikkunaan
tulosta ArduinoSerial.readline ()
Voit myös määrittää arvon muuttujalle ja käyttää sitä laskelmissa.
Seuraava rivi kirjoittaa parametrin arvon Arduino Boardille.
ArduinoSerial.write ('1')
Tämä rivi kirjoittaa '1' Arduinoon. Voit lähettää mitä tahansa desimaaleista merkkijonoihin samalla rivillä.
Palataksemme nyt ohjelmaamme, äärettömän vaikka -silmukan sisällä, meillä on seuraavat rivit
var = raw_input () #get-syöte käyttäjän kirjoittamasta "syötit" -vaihtoehdosta, var # tulostaa vahvistuksen syötteen, jos (var == '1'): # Jos arvo on 1 ArduinoSerial.write ('1') #send 1 print ("LED palaa") time.sleep (1) if (var == '0'): # Jos arvo on 0 ArduinoSerial.write ('0') #send 0 print ("LED sammutettu") aika.unessa (1)
Rivi var = raw_input saa minkä tahansa Shell-komentosarjaan kirjoitetun arvon ja määrittää arvon muuttujalle var .
Myöhemmin, jos arvo on 1, se tulostaa '1' sarjassa Arduinoon ja jos 0 se '0' sarjassa Arduinoon. Arduino-ohjelmassamme oleva koodi (jota on käsitelty edellä) vaihdamme LED-arvon vastaanotetun arvon perusteella.
Kun koko ohjelma on valmis, komentosarjan pitäisi näyttää tältä alla
Nyt valitse Suorita -> Suorita Moduuli tai paina F5 tämä saattaa pyytää tallentamaan ohjelman ja käynnistää sen.
LED-ohjain Pythonilla ja Arduinolla:
Tämän projektin toiminta on melko suoraviivaista. Lataa ohjelma Arduinoon ja varmista, että se on kytketty samaan COM-porttiin kuin python-ohjelmassa mainitaan. Käynnistä sitten Python-ohjelma yllä mainitulla tavalla.
Tämä käynnistää python-komentosarjakoodin alla olevan kuvan mukaisesti. Vasemmanpuoleinen ikkuna on kuori-ikkuna, joka näyttää tuloksen, ja oikea ikkuna on komentosarja, joka näyttää ohjelman.
Kuten näette, Arduino-ohjelmaan syötetty merkkijono "Hei !, Olen Arduino" vastaanotetaan Pythonissa ja näytetään sen kuori-ikkunassa.
Kun kuori-ikkuna pyytää syöttämään arvoja, voimme syöttää joko 0 tai 1. Jos lähetämme 1, Arduino Boardin LED syttyy ja jos lähetämme 0, Arduino Boardin LED sammuu. Näytetään onnistuneesti yhteys Arduino-ohjelmamme ja Pythonin välillä.
Alla on kaksi ohjelmaa, yksi ladattava ja suoritettava Arduinosta ja toinen Python Shellistä Windowsissa.
Toivottavasti ymmärrät projektin ja pystyit saamaan sen toimimaan. Jos ei, lähetä ongelmasi alla olevaan kommenttiin ja autan mielelläni. Seuraavassa projektissamme opimme, mitä muuta voi tehdä hienosti Pythonin ja Arduinon kanssa tutkimalla syvälle muihin python-moduuleihin, kuten Vpython, gamepython jne. Siihen asti pysy kuulolla….