Ako programovať a ovládať Arduino pomocou Pythonu

Ako programovať a ovládať Arduino pomocou Pythonu

Python vzal kódovací svet útokom. Popri nástupe tohto nového jazyka prekvitala aj elektronická scéna pre domácich majstrov. Vývojové dosky a jednodoskové počítače od spoločností ako Arduino a Raspberry Pi zmenili spôsob, akým ľudia vyrábajú domácu elektroniku. Nebolo by úžasné, keby ste mohli naprogramovať Arduino s Pythonom?





ako odstrániť všetky obrázky na počítači Mac

Nie je lepší pocit, ako spojiť dve skvelé veci. Je smutné, že nie je možné priamo programovať Arduino pomocou Pythonu, pretože dosky nemajú žiadnu možnosť integrovanej interpretácie jazyka. Čo je však možné, je priama kontrola cez USB pomocou programu Python.





Tento článok vám ukáže, ako nastaviť Arduino UNO (aj keď tu môže fungovať akákoľvek doska kompatibilná s Arduino), aby bolo programované a ovládané z príkazového riadka pomocou programov Python. Tento návod je napísaný pre Windows 10, ale funguje aj pre Mac a Linux. Tento pracovný postup by ste dokonca mohli použiť na ovládanie Arduina priamo z Raspberry Pi a dosiahnuť tak dokonalý zážitok z dvojitého down-down-DIY.





Nastavenie Arduina pre Python

Na dnešný projekt použijeme Arduino Uno spolu s rozhraním pyFirmata pre Python. Na to môžete použiť takmer akúkoľvek dosku kompatibilnú s Arduino, aj keď v čase písania článku bolo rozhraním pyFfirmata podporované iba Arduino Uno, Mega, Due a Nano. Ak už ste guruom v Pythone, môžete do pyFirmata pridať svoju vlastnú podporu na doske - ak áno, určite aktualizujte ich GitHub!

Ak ste to ešte neurobili, nainštalujte si Arduino IDE. Ak ste vo svete mikrokontrolérov úplne noví, naši sprievodca pre začiatočníkov do Arduina vám pomôže dostať všetko na svoje miesto.



Pripojte dosku Arduino a otvorte IDE. Uistite sa, že ste v priečinku vybrali správnu dosku a port Nástroje Ponuka. Naložte Štandardné potvrdenie ukážkový náčrt a nahrajte ho na nástenku. To vám umožní ovládať Arduino priamo, pokiaľ je pripojené k počítaču prostredníctvom USB. Za predpokladu, že sa skica nahrá na vašu tabuľu bez akýchkoľvek chýb, ste pripravení pokračovať.

Python a ovládanie pomocou príkazového riadka

Na ovládanie nášho Arduina použijeme Python 3.4, pretože modul, ktorý budete inštalovať, to špecifikuje ako najnovšiu kompatibilnú verziu. Akákoľvek verzia predtým by mala fungovať dobre a novšie verzie boli hlásené, že fungujú. Python 3.4 pre Windows 10 si môžete stiahnuť z Python Software Foundation stránky. Ak chcete používať viac verzií Pythonu, pomôže vám náš sprievodca virtuálnymi prostrediami Pythonu.





Keď máte nainštalovaný Python, chceme ho pridať do premennej PATH vášho systému. To nám umožní spustiť kód Pythonu priamo z príkazového riadka bez toho, aby sme museli byť v adresári, do ktorého bol nainštalovaný. Môžete to urobiť otvorením Ovládací panel , hľadanie Životné prostredie a kliknite na Upravte premenné systémového prostredia . V spodnej časti okna vyberte Premenné prostredia . Zobrazí sa toto okno:

Ak už vidíte PATH v zozname kliknite na položku Upraviť a pridajte svoj Python a Python/skripty adresár. Ak nemáte premennú PATH, kliknite na novú a pridajte ju. Všimnite si toho, že Python bol nainštalovaný priamo do súboru C: tu. Ak ste ho nainštalovali inde, budete ho musieť upraviť, aby tomu zodpovedal. Kliknite na tlačidlo OK späť v reťazci okien a ste takmer pripravení ovládať svoje Arduino pomocou Pythonu!





Kúzelný tuk

Budete potrebovať posledný kúsok skladačky, aby sa vám Python s naším Arduinom pekne porozprával. Prichádza vo forme rozhrania Python s názvom pyFirmata . Toto rozhranie, ktoré vytvoril Tino de Bruijn, je k dispozícii na stiahnutie z githubu, hoci ho môžete nainštalovať priamo z príkazového riadka zadaním:

pip install pyfirmata

Všetko je v poriadku, malo by sa nainštalovať a vyzerať takto:

Ak to zlyhá, prejdite na pridanie Pythonu do súboru Premenné prostredia sekcii a uistite sa, že ste zadali správnu cestu k svojmu adresáru Python.

Ako sa to stane

Teraz je všetko nastavené a môžete si pre svoj Arduino vytvoriť program Python, ktorý to otestuje. Otvorte IDE podľa vášho výberu. Budeme používať Zatmenie dnes, ale rovnako ľahko môžete použiť ľubovoľný textový editor alebo dokonca IDE v cloude.

Vytvorte nový skript a uložte ho ako blink.py . Prelomením tradície pomocou štandardného programu s blikajúcimi LED diódami vytvoríte program, ktorý používateľa vyzve, koľkokrát chce, aby dióda LED pred vykonaním blikala. Je to krátky program, ktorý môžete stiahnuť tu ak sa chcete dostať priamo k tomu, ale rozoberme si to.

Najprv budete chcieť importovať to, čo potrebujete, z pyFirmata modul spolu so štandardným Pythonom Čas modul.

najlepšie bezplatné stránky na sledovanie filmov
from pyfirmata import Arduino, util
import time

Teraz budete chcieť nastaviť dosku Arduino. Tento článok predpokladá, že používate príponu Arduino uno doska, aj keď je podporovaných niekoľko ďalších dosiek Arduino. Podrobnosti o podpore na palube nájdete na serveri pyFirmata github.

Skontrolujte, ktorý port COM používate v IDE Arduino, a zadajte ho do kódu ako premennú doska .

board = Arduino('COM3')

Teraz nastavíte používateľskú výzvu. Tí, ktorí poznajú Python, tu rozpoznajú všetko. Otázku vytlačíte na obrazovku pomocou vstup funkciu a odpoveď uložte ako premennú. Akonáhle používateľ zadá číslo, program oznámi, koľkokrát LED dióda bliká.

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

Ak chcete, aby LED dióda blikla príslušný počet krát, použite a pre slučku . Ak ste novinka v Pythone , dávajte pozor na odsadenie, pretože na rozdiel od iných jazykov sú medzery súčasťou syntaxe. Všimnite si toho, že pin 13 je vstavaná dióda LED pre Arduino Uno, budete to musieť zmeniť, ak sa vaša doska líši.

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

Odhodíte loopTimes tu premennú na celé číslo, pretože vstup od používateľa sa automaticky uloží ako reťazec. V tejto jednoduchej ukážke predpokladáme, že používateľ zadá číselnú hodnotu. Akýkoľvek iný záznam, ako napríklad „osem“, spôsobí chybu.

Uložte skript a otvorte súbor Príkazový riadok .

Blikajúce svetlá a iné zjavenia

Všetko je pripravené, všetko, čo musíte urobiť, je prejsť tam, kde je skript, a spustiť ho. Vykonajte to zadaním cd [cesta k adresáru skriptu] a potom písať python blink.py .

Všetko je v poriadku, váš program sa spustí s malým oneskorením pri inicializácii Arduina, vyzve vás na zadanie čísla a potom mnohokrát zabliká pomocou vstavanej diódy LED.

Výstup programu by mal vyzerať takto:

Akonáhle stlačíte kláves Enter po zvolenom počte bliknutí, Arduino by mal vykonať vaše objednávky.

Malé začiatky

Tento projekt bol základným kameňom komunikácie medzi Pythonom a doskou Arduino. Tento prístup sa veľmi líši od bežného pracovného postupu odosielania skriptov do samotného Arduina, napriek tomu otvára úplne nový spôsob práce s platformou, najmä ak máte radi programovací jazyk Python.

Ak použijete a Server Linux doma by tento spôsob komunikácie s doskami Arduino mohol rozšíriť tento server na plnohodnotný systém domácej automatizácie DIY. Kombináciou skriptov Pythonu ovládajúcich mikrokontrolér s automatizačným obvodom pre domácich majstrov môže váš úložný box NAS získať úplne novú sadu užitočných funkcií.

môžeš na instagrame vidieť, kto ťa prestal sledovať?

Aby to bol dokonalý kutilský zážitok, prečo nie vybudujte si vlastný NAS box a používať ho aj na ovládanie svojich spotrebičov? Predstavte si, aké by bolo skvelé stlačiť tlačidlo prehrávania na serveri Plex a nechať automaticky zhasnúť svetlá!

Ovládate už Arduino pomocou Pythonu? Existujú úžasné riešenia, o ktorých ešte nevieme? Dajte nám vedieť v sekcii komentárov nižšie!

zdieľam zdieľam Tweet E -mail 5 tipov, ako nabiť svoje počítače VirtualBox Linux

Ste unavení z nízkeho výkonu, ktorý ponúkajú virtuálne počítače? Tu je to, čo by ste mali urobiť, aby ste zvýšili výkon svojho VirtualBoxu.

Čítajte ďalej
Súvisiace témy
  • DIY
  • Programovanie
  • Arduino
  • Domáca automatizácia
  • Python
O autorovi Ian Buckley(216 publikovaných článkov)

Ian Buckley je nezávislý novinár, hudobník, performer a producent videa žijúci v Berlíne v Nemecku. Keď nepíše alebo je na javisku, pohráva si s elektronikou alebo kódom pre domácich majstrov v nádeji, že sa stane šialeným vedcom.

Viac od Iana Buckleyho

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber