Kuinka ohjelmoida ja hallita Arduinoa Pythonilla

Kuinka ohjelmoida ja hallita Arduinoa Pythonilla

Python on vallannut koodausmaailman myrskyn kautta. Tämän uuden kielen nousun ohella myös DIY -elektroniikka on kukoistanut. Kehityslevyt ja yhden kortin tietokoneet yrityksiltä, ​​kuten Arduino ja Raspberry Pi ovat muuttaneet tapaa, jolla ihmiset luovat kotitekoista elektroniikkaa. Eikö olisi mahtavaa, jos voisit ohjelmoida Arduinon Pythonilla?





kuinka poistaa kaikki viestit Macista

Ei ole parempaa tunnetta kuin yhdistää kaksi hienoa asiaa. Valitettavasti on mahdotonta ohjelmoida Arduinoa suoraan Pythonilla, koska levyillä ei ole vaihtoehtoa kielen tulkitsemiseen. Mahdollista on kuitenkin USB: n suora ohjaus Python -ohjelmalla.





Tässä artikkelissa kerrotaan, miten Arduino UNO (vaikka mikä tahansa Arduino -yhteensopiva levy voi toimia täällä) voidaan ohjelmoida ja ohjata komentoriviltä Python -ohjelmien avulla. Tämä opetusohjelma on kirjoitettu Windows 10: lle, mutta toimii myös Macille ja Linuxille. Voit jopa käyttää tätä työnkulkua hallitaksesi Arduinoa suoraan Raspberry Pi: ltä, jotta saat lopullisen kaksinkertaisen DIY-kokemuksen.





Arduinon asentaminen Pythonia varten

Tämän päivän projektissa käytämme Arduino Unoa yhdessä pyFirmata -käyttöliittymän kanssa Pythonille. Voit käyttää tähän melkein mitä tahansa Arduino-yhteensopivaa levyä, vaikka kirjoitushetkellä pyFfirmata-käyttöliittymä tukee vain Arduino Unoa, Megaa, Duea ja Nanoa. Jos olet jo Python -guru, voit lisätä oman hallituksen tuen pyFirmataan - muista päivittää GitHub, jos teet sen!

Asenna Arduino IDE, jos et ole jo tehnyt niin. Jos olet täysin uusi mikrokontrollerien maailmassa, meidän aloittelijan opas Arduinolle auttaa sinua saamaan kaiken paikoilleen.



Liitä Arduino -korttisi ja avaa IDE. Varmista, että valittuna on oikea levy ja portti Työkalut valikko. Lataa StandardFirmata esimerkkiluonnos ja lataa se taululle. Tämän avulla voit hallita Arduinoa suoraan niin kauan kuin se on liitetty tietokoneeseen USB: n kautta. Jos luonnos ladataan taulullesi ilman virheitä, olet valmis siirtymään eteenpäin.

Python ja komentoriviohjaus

Käytämme Python 3.4: tä Arduinon hallintaan, koska asennettava moduuli määrittää tämän uusimmaksi yhteensopivaksi versioksi. Kaikkien tätä edeltävien versioiden pitäisi toimia hyvin, ja myöhempien versioiden on raportoitu toimivan. Voit ladata Python 3.4: n Windows 10: lle osoitteesta Python Software Foundation sivusto. Jos haluat käyttää useita Python -versioita, opas Python -virtuaaliympäristöistä voi auttaa sinua.





Kun olet asentanut Pythonin, haluamme lisätä sen järjestelmän PATH -muuttujaan. Tämän avulla voimme suorittaa Python -koodin suoraan komentoriviltä tarvitsematta olla hakemistossa, johon se on asennettu. Voit tehdä tämän avaamalla Ohjauspaneeli , etsimässä Ympäristö ja napsauta Muokkaa järjestelmän ympäristömuuttujia . Valitse ikkunan alareunasta ympäristömuuttujat . Tämä tuo esiin tämän ikkunan:

Jos näet jo PATH napsauta luettelossa muokkaa ja lisää omasi Python ja Python/Skriptit hakemistoon. Jos sinulla ei ole PATH -muuttujaa, napsauta uutta ja lisää se. Huomaa, että Python asennettiin suoraan C: tässä. Jos olet asentanut sen muualle, sinun on muokattava sitä vastaamaan tätä. Napsauta OK takaisin ikkunaketjussa ja olet melkein valmis hallitsemaan Arduinoa Pythonilla!





Taikarasva

Tarvitset viimeisen palapelin palan saadaksesi Pythonin puhumaan hienosti Arduinomme kanssa. Tämä tulee Python -käyttöliittymän muodossa pyFirmata . Tämä Tino de Bruijnin luoma käyttöliittymä on ladattavissa githubista, vaikka voit asentaa sen suoraan komentoriviltä kirjoittamalla:

pip install pyfirmata

Kaikki hyvin, sen pitäisi asentaa ja näyttää tältä:

Jos se epäonnistuu, siirry Pythonin lisäämiseen Ympäristömuuttuja ja varmista, että olet antanut oikean polun Python -hakemistoosi.

Tapahtuman tekeminen

Nyt kaikki on määritetty, ja voit luoda Python -ohjelman Arduinollesi sen testaamiseksi. Avaa haluamasi IDE. Tulemme käyttämään Eclipse tänään, mutta voit yhtä helposti käyttää mitä tahansa tekstieditoria tai jopa IDE: tä pilvessä.

Luo uusi komentosarja ja tallenna se nimellä blink.py . Rikkoen perinteitä vilkkuvalla LED -ohjelmalla, aiot luoda ohjelman, joka kysyy käyttäjältä, kuinka monta kertaa he haluavat LED -valon vilkkuvan ennen sen suorittamista. Se on lyhyt ohjelma, jonka voit lataa tästä jos haluat päästä suoraan asiaan, mutta puretaan se.

Ensinnäkin haluat tuoda tarvitsemasi tiedostosta pyFirmata moduuli yhdessä vakio Pythonin kanssa Aika moduuli.

netflix-virhekoodi m7701-1003
from pyfirmata import Arduino, util
import time

Nyt haluat asentaa Arduino -levyn. Tässä artikkelissa oletetaan, että käytät Arduino uno levy, vaikka useita muita Arduino -levyjä tuetaan. Katso pyFirmata -githubista lisätietoja aluksen tuesta.

Tarkista, mitä COM -porttia käytät Arduino IDE: ssä, ja kirjoita se koodillesi muuttujana aluksella .

board = Arduino('COM3')

Nyt määrität käyttäjän kehotteen. Ne, jotka tuntevat Pythonin, tunnistavat kaiken täällä. Tulostat kysymyksen näytölle käyttämällä tulo funktio ja tallenna vastaus muuttujana. Kun käyttäjä on antanut numeron, ohjelma ilmoittaa, kuinka monta kertaa LED vilkkuu.

loopTimes = input('How many times would you like the LED to blink: ')
print('Blinking ' + loopTimes + ' times.')

Jotta LED -valo vilkkuu tarvittavan määrän kertoja, käytä a silmukkaa varten . Jos olet uusi Pythonille , ole varovainen sisennyksen kanssa, koska toisin kuin muut kielet, välilyönnit ovat osa syntaksia. Huomaa, että nasta 13 on Arduino Unon sisäinen LED, sinun on muutettava tätä, jos korttisi on erilainen.

for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)

Heität loopTimes muuttuja kokonaislukuun, koska käyttäjän antama tieto tallennetaan automaattisesti merkkijonona. Tässä yksinkertaisessa esittelyssä oletamme, että käyttäjä syöttää numeerisen arvon. Mikä tahansa muu merkintä, kuten 'kahdeksan', aiheuttaa virheen.

Tallenna komentosarja ja avaa Komentokehote .

Vilkkuva valo ja muut ilmoitukset

Kaikki on valmis menemään, sinun tarvitsee vain navigoida komentosarjan sijaintiin ja suorittaa se. Tee tämä kirjoittamalla cd [polku komentosarjan hakemistoon] ja sitten kirjoittamalla python blink.py .

Kaikki hyvin, ohjelmasi alkaa pienellä viiveellä, kun Arduino käynnistyy, pyytää numeroa ja vilkkuu sitten monta kertaa sisäisen LED -valon avulla.

Ohjelman tuloksen pitäisi näyttää tältä:

Heti kun painat enter -näppäintä valitun välähdysmäärän jälkeen, Arduinon tulee suorittaa tilauksesi.

Pieniä alkuja

Tämä projekti on ollut paljain luuleminen kommunikoimaan Pythonin ja Arduino -levyn välillä. Tämä lähestymistapa on hyvin erilainen kuin tavallinen työnkulku, kun skriptejä ladataan itse Arduinolle, mutta se avaa aivan uuden tavan työskennellä alustan kanssa, varsinkin jos pidät Python -ohjelmointikielestä.

Jos käytät a Linux -palvelin kotona tämä tapa kommunikoida Arduino -levyjen kanssa voisi laajentaa kyseisen palvelimen täydelliseksi DIY Home Automation -järjestelmäksi. Yhdistämällä mikrokontrolleria ohjaavat Python -komentosarjat DIY -automaatiopiiriin, NAS -tallennuslaatikkosi voi ottaa käyttöön kokonaan uusia hyödyllisiä toimintoja.

kuinka tyhjentää muisti tietokoneesta

Jotta se olisi lopullinen DIY -kokemus, miksi ei rakenna oma NAS -laatikko ja käytät sitä myös laitteiden hallintaan? Kuvittele, kuinka siistiä olisi painaa Play -painiketta Plex -palvelimellasi ja saada valot sammumaan automaattisesti!

Hallitsetko Arduinoa jo Pythonin avulla? Onko olemassa hämmästyttäviä ratkaisuja, joista emme vain tiedä vielä? Kerro meille alla olevassa kommenttiosassa!

Jaa Jaa Tweet Sähköposti 5 vinkkiä VirtualBox Linux -koneiden lataamiseen

Oletko kyllästynyt virtuaalikoneiden heikkoon suorituskykyyn? Tässä on, mitä sinun pitäisi tehdä parantaaksesi VirtualBox -suorituskykyäsi.

Lue seuraava
Liittyvät aiheet
  • tee-se-itse
  • Ohjelmointi
  • Arduino
  • Kodin automatisointi
  • Python
Kirjailijasta Ian Buckley(216 artikkelia julkaistu)

Ian Buckley on freelance -toimittaja, muusikko, esiintyjä ja videotuottaja, joka asuu Berliinissä, Saksassa. Kun hän ei kirjoita tai ei ole lavalla, hän hieroo DIY -elektroniikkaa tai koodia toivoessaan tulla hulluksi tiedemieheksi.

Lisää Ian Buckleyltä

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi