Kako programirati in nadzorovati Arduino s Pythonom

Kako programirati in nadzorovati Arduino s Pythonom

Python je z viharjem prevzel svet kodiranja. Poleg vzpona tega novega jezika se je razvila tudi elektronska scena DIY. Razvojne plošče in enosmerni računalniki podjetij, kot so Arduino in Raspberry Pi sta spremenila način ustvarjanja domače elektronike. Ali ne bi bilo super, če bi lahko programirali Arduino s Pythonom?





izjema sistemske storitve zaustavitvene kode windows 10

Ni lepšega občutka kot združiti dve kul stvari. Na žalost je nemogoče neposredno programirati Arduino s Pythonom, saj plošče nimajo možnosti za vgrajeno interpretacijo jezika. Možen pa je neposreden nadzor preko USB -ja s programom Python.





Ta članek vam bo pokazal, kako nastaviti Arduino UNO (čeprav lahko tukaj deluje katera koli združljiva plošča Arduino), ki ga lahko programirate in nadzirate iz ukazne vrstice s programi Python. Ta vadnica je napisana za Windows 10, deluje pa tudi za Mac in Linux. S tem potekom dela lahko celo upravljate Arduino neposredno iz Raspberry Pi za vrhunsko izkušnjo dvojnega spuščanja.





Nastavitev vašega Arduina za Python

Za današnji projekt bomo skupaj z vmesnikom pyFirmata za Python uporabljali Arduino Uno. Za to lahko uporabite skoraj katero koli ploščo, združljivo z Arduino, čeprav v času pisanja podpira vmesnik pyFfirmata samo Arduino Uno, Mega, Due in Nano. Če ste že guru Python, lahko pyFirmati dodate svojo podporo za ploščo - če želite, posodobite njihov GitHub!

Če tega še niste storili, namestite Arduino IDE. Če ste v svetu mikrokrmilnikov popolnoma novi, je naš vodnik za začetnike po Arduinu vam bo pomagal postaviti vse na svoje mesto.



Priključite svojo ploščo Arduino in odprite IDE. Prepričajte se, da ste v datoteki izbrali pravilno ploščo in vrata Orodja meni. Naložite Standardna firma primer skice in jo naložite na tablo. Tako boste lahko neposredno upravljali Arduino, če je povezan z računalnikom prek USB -ja. Če ste brez napak naložili skice, ste pripravljeni nadaljevati.

Python in nadzor ukazne vrstice

Za nadzor našega Arduina bomo uporabili Python 3.4, saj modul, ki ga boste namestili, to določa kot najnovejšo združljivo različico. Kakršna koli različica pred tem bi morala delovati v redu, novejše različice pa naj bi delovale. Python 3.4 za Windows 10 lahko prenesete iz Python Software Foundation spletnem mestu. Če želite zagnati več različic Pythona, vam bo v pomoč naš vodnik po virtualnih okoljih Python.





Ko namestite Python, ga želimo dodati v spremenljivko PATH vašega sistema. Tako bomo lahko zagnali kodo Python neposredno iz ukazne vrstice, ne da bi morali biti v imeniku, v katerem je bila nameščena. To lahko storite tako, da odprete Nadzorna plošča , iskati Okolje in kliknite na Uredite spremenljivke sistemskega okolja . Na dnu okna izberite Okoljske spremenljivke . To bo prikazalo to okno:

Če že vidite POT na seznamu kliknite uredi in dodajte svojo Python in Python/Skripti imenik. Če nimate spremenljivke PATH, kliknite novo in jo dodajte. Upoštevajte, da je bil Python nameščen neposredno v C: tukaj. Če ste ga namestili drugje, ga morate spremeniti, da bo to odražalo. Kliknite V redu nazaj po okenski verigi in skoraj ste pripravljeni nadzirati svoj Arduino s Pythonom!





Čarobna mast

Potrebovali boste še zadnji del sestavljanke, da se Python lepo pogovarja z našim Arduinom. To je v obliki vmesnika Python, imenovanega pyFirmata . Ta vmesnik, ki ga je ustvaril Tino de Bruijn, je na voljo za prenos iz github -a, čeprav ga lahko namestite neposredno iz ukazne vrstice tako, da vnesete:

pip install pyfirmata

Če je vse v redu, bi bilo treba namestiti in izgledati tako:

Če ne uspe, nadaljujte z dodajanjem Pythona v Spremenljivka okolja in se prepričajte, da ste svojemu imeniku Python dali pravo pot.

Ustvarjanje tega

Zdaj je vse nastavljeno in za svoj Arduino lahko ustvarite program Python, da ga preizkusite. Odprite IDE po vaši izbiri. Uporabljali bomo Mrk danes, vendar bi lahko prav tako preprosto uporabili kateri koli urejevalnik besedil ali celo IDE v oblaku.

Ustvarite nov skript in ga shranite kot blink.py . Če prekinete tradicijo s standardnim utripajočim programom LED, boste ustvarili program, ki uporabnika pozove, kolikokrat naj utripa LED, preden ga izvede. To je kratek program, ki ga lahko prenesite tukaj če želite priti naravnost do tega, pa ga razčlenimo.

Najprej boste želeli uvoziti, kar potrebujete, iz pyFirmata modul, skupaj s standardnim Pythonom Čas modul.

naredi slikovni kolaž za facebook
from pyfirmata import Arduino, util
import time

Zdaj boste želeli nastaviti ploščo Arduino. Ta članek predpostavlja, da uporabljate Arduino uno ploščo, čeprav je podprtih več drugih Arduino plošč. Za podrobnosti o podpori na krovu se obrnite na pyFirmata github.

Preverite, katera vrata COM uporabljate v Arduino IDE in jih vnesite v svojo kodo kot spremenljivko deska .

board = Arduino('COM3')

Zdaj boste nastavili poziv uporabnika. Tisti, ki poznajo Python, bodo tukaj prepoznali vse. Natisnete vprašanje na zaslon z vnos funkcijo in odgovor shranite kot spremenljivko. Ko uporabnik vnese številko, program poroča, kolikokrat bo LED utripala.

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

Če želite, da LED -dioda ustrezno številokrat utripa, uporabite a za zanko . Če ste novo v Pythonu , bodite previdni pri zamiku, saj so za razliko od drugih jezikov presledki del sintakse. Upoštevajte, da je pin 13 vgrajena LED za Arduino Uno, to boste morali spremeniti, če je vaša plošča drugačna.

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

Predvajali boste loopTimes spremenljivko na celo število, saj se bo vnos uporabnika samodejno shranil kot niz. V tem preprostem predstavitvi predvidevamo, da bo uporabnik vnesel številčno vrednost. Vsak drug vnos, na primer 'osem', bo povzročil napako.

Shranite skript in odprite datoteko Ukazni poziv .

Utripajoče luči in druga razodetja

Vse je pripravljeno, vse, kar morate storiti, je, da se pomaknete do mesta, kjer je skript, in ga zaženete. To naredite tako, da vnesete cd [pot do imenika skripta] in nato tipkanje python blink.py .

Če je vse v redu, se bo vaš program zagnal z rahlo zamudo, ko se Arduino inicializira, vas pozove, da vnesete številko, nato pa to večkrat utripa z vgrajeno LED diodo.

Izhod programa bi moral izgledati tako:

Takoj, ko pritisnete enter po izbranem številu utripov, mora Arduino izvesti vaša naročila.

Majhni začetki

Ta projekt je bil začetek komunikacije med Pythonom in ploščo Arduino. Ta pristop se zelo razlikuje od običajnega poteka dela nalaganja skriptov v sam Arduino, vendar odpira povsem nov način dela s platformo, še posebej, če vam je všeč programski jezik Python.

Če uporabljate a Strežnik Linux doma bi lahko ta način komuniciranja z Arduino ploščami razširil ta strežnik v polnopravni sistem za domačo avtomatizacijo DIY. Z združevanjem skriptov Python, ki nadzorujejo mikrokrmilnik, z avtomatskim vezjem DIY, bi lahko vaša shranjevalna škatla NAS prevzela povsem nov nabor uporabnih funkcij.

dolgčas mi je, kaj lahko storim na internetu

Zakaj bi bilo to vrhunsko doživetje DIY, zakaj ne zgradite lastno škatlo NAS in z njim upravljate tudi svoje naprave? Predstavljajte si, kako kul bi bilo pritisniti play na strežniku Plex in naj se luči samodejno izklopijo!

Ali že upravljate Arduino z uporabo Pythona? Ali obstajajo neverjetna rešitev, za katera še ne vemo? Sporočite nam v spodnjem oddelku za komentarje!

Deliti Deliti Cvrkutati E-naslov 5 nasvetov za polnjenje vaših strojev VirtualBox Linux

Ste naveličani slabe zmogljivosti, ki jo ponujajo virtualni stroji? Tukaj je tisto, kar morate storiti za povečanje zmogljivosti VirtualBox.

Preberite Naprej
Sorodne teme
  • DIY
  • Programiranje
  • Arduino
  • Domača avtomatizacija
  • Python
O avtorju Ian Buckley(216 objavljenih člankov)

Ian Buckley je samostojni novinar, glasbenik, izvajalec in video producent, ki živi v Berlinu v Nemčiji. Ko ne piše ali na odru, se ukvarja z elektroniko ali kodo DIY v upanju, da bo postal nor znanstvenik.

Več od Iana Buckleyja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite