- Potrebné materiály:
- Inštalácia Pythonu do vášho počítača:
- Získanie PySerial v Pythone:
- Náš prvý program Arduino Python:
- Ovládanie LED pomocou Pythonu a Arduina:
Arduino bolo vždy výkonnou a ľahko použiteľnou vzdelávacou / vývojovou platformou, pokiaľ ide o vývoj hardvéru s otvoreným zdrojom. V dnešnom modernom svete je každý hardvér poháňaný univerzálnym programovacím jazykom na vysokej úrovni, aby bol efektívnejší a užívateľsky prívetivejší. Jedným z takýchto jazykov je Python. Python je interpretovaný, objektovo orientovaný programovací jazyk na vysokej úrovni s dynamickou sémantikou a integrovanými dátovými štruktúrami na vysokej úrovni, ktorý je v kombinácii s dynamickým písaním a dynamickou väzbou veľmi atraktívny pre rýchly vývoj aplikácií.
Kombinácia sily Arduina a Pythonu otvorí dvere mnohým možnostiam, pretože Python má zvýšenú produktivitu vďaka svojej schopnosti interagovať s inými platformami, ako je openCV, Matlab atď. Takže v tomto tutoriále sa dozvieme, ako môžeme nainštalovať python na náš počítač a ako ju používať s Arduinom na prepínanie palubnej LED diódy Arduino.
Takže, začnime….
Potrebné materiály:
- Arduino Uno (alebo akékoľvek dosky Arduino)
- Počítač s pripojením na internet
Inštalácia Pythonu do vášho počítača:
Prvým krokom v tomto tutoriále je zjavne inštalácia Pythonu na náš počítač. Kroky uvedené nižšie sú použiteľné iba pre používateľov systému Windows s 32-bitovým alebo 64-bitovým OS. Inštalačný postup pre systémy MAC a Linux je odlišný.
- Kliknite na 32-bitový Python-2.7.9 a tým sa do vášho počítača nainštaluje 32-bitový Python IDLE. Neťahajte 64-bitovú alebo aktualizovanú verziu, pretože neposkytujú podporu pre naše knižnice Arduino. Samotný 32-bitový Python môžete používať, aj keď váš počítač pracuje na 64-bitových verziách.
- Otvorte stiahnutý súbor exe a postupujte podľa pokynov. Nemeňte adresár, do ktorého sa python inštaluje. Predvolene to bude C: \ Python27 a nechajte to tak.
- Počas inštalácie môžete dostať varovanie od svojho antivírusového programu (ak existuje), v takom prípade kliknite na povolenie.
A je to !, python je úspešne nainštalovaný na našom počítači. Môžete to overiť vyhľadaním výrazu „Python IDLE“ vo vyhľadávacom poli Windows a jeho otvorením.
Po otvorení by sa vám mala zobraziť nasledujúca obrazovka. Toto okno sa volá Python Shell a odteraz ho budeme označovať ako „ Python shell “.
Táto obrazovka sa nazýva Python Shell. Môžete priamo kódovať tu a získať výstup na rovnakej obrazovke alebo vytvoriť nový súbor a napísať tam program a program tu overiť. Neskôr sa dostaneme k podrobnostiam vytvárania programu python, teraz si skontrolujme, či python funguje.
Za týmto účelom jednoducho napíšte „ print (1 + 1) “ a stlačte kláves Enter. Výsledok by sa mal tlačiť, ako je uvedené nižšie.
Získanie PySerial v Pythone:
Ďalším krokom je inštalácia pyserial. PySerial je modul Python API, ktorý sa používa na čítanie a zápis sériových údajov do Arduina alebo iného mikrokontroléra.
Kliknutím na Pyserial Windows si stiahnete PySerial. Výsledným stiahnutím bude súbor exe, ktorý je možné priamo nainštalovať. Počas inštalácie nemeňte žiadne nastavenie. Nechajte to na predvolený adresár a predvolené nastavenia.
Teraz skontrolujme, či je PySerial nainštalovaný správne. Ak to chcete urobiť, znova otvorte Python Shell a zadajte
importovať sériové číslo . Ak bola knižnica úspešne nainštalovaná, nemali by ste dostávať žiadne chybové správy, ako je to znázornené na obrázku nižšie. Ak sa vyskytnú nejaké chyby, uverejnite ich v sekcii komentárov a pokúsime sa ich vyriešiť.
Tento tutoriál predpokladá, že ovládate Arduino a máte skúsenosti s nahrávaním projektov do Arduina. Poďme teda priamo do nášho programu Python. Ak ste s Arduinom začiatočníci, pozrite si naše projekty Arduino a začnite od LED blikania s Arduinom.
Náš prvý program Arduino Python:
Ako už bolo povedané, budeme ovládať zabudovanú LED dosku Arduino pomocou skriptu Python. Začnime kódom Arduino.
Program pre Arduino:
Kompletný program pre tento tutoriál pre Arduino python je uvedený na konci tejto stránky. Ako to funguje, prečítajte si ďalej.
Vnútri nastavenie funkcie sme inicializácii sériovej komunikácie na 9600 prenosovú rýchlosť a vyhlasujú, že budeme pomocou vstavaného viedol ako výstup a premeniť ju nízko pri štarte programu. Poslali sme tiež uvítaciu správu do pythonu prostredníctvom sériového tlače, ako je uvedené nižšie:
void setup () {Serial.begin (9600); // inicializuje sériový COM na 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // urobte pin LED (13) ako výstup digitalWrite (LED_BUILTIN, LOW); Serial.println ("Ahoj !, som Arduino"); }
Vnútri slučky funkcie, čítame za akýchkoľvek dát, ktorá prichádza sériovo a priradenie hodnoty premennej "dáta". Teraz na základe hodnoty tejto premennej („údajov“) prepíname zabudovanú led, ako je to zobrazené nižšie.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Program pre Python:
Celý program python pre tento tutoriál je uvedený na konci tejto stránky. Čítajte ďalej, aby ste vedeli, ako písať a používať to isté.
- Otvorte svoj Python Shell (Python IDLE) a kliknite na File-> New
- Týmto sa otvorí nový textový súbor, do ktorého môžete zadať svoj program.
- Predtým, ako niečo napíšeme, umožníme uložiť súbor pomocou Ctrl + S. Zadajte ľubovoľné meno a kliknite na tlačidlo uložiť. Týmto sa automaticky uloží váš súbor s príponou „.py“.
- Teraz zadajte program alebo vložte kód pythonu uvedený na konci tejto stránky. Vysvetlenie toho istého je uvedené nižšie a nakoniec spustite program.
V našom programe bude prvým krokom import sériovej a časovej knižnice. Sériová knižnica, ako už bolo povedané, sa použije na čítanie a zápis sériových údajov a časová knižnica sa použije na vytvorenie oneskorenia v našom programe. Tieto dve knižnice je možné importovať do nášho programu pomocou nasledujúcich dvoch riadkov:
import serial #Serial imported for Serial communication import time #Required to use delay functions
Ďalším krokom by bola inicializácia sériového objektu pomocou našej sériovej knižnice. V tomto programe sme náš sériový objekt pomenovali ako „ArduinoSerial“ . V tomto riadku musíme spomenúť názov portu COM, ku ktorému je pripojené naše Arduino, a pri akej prenosovej rýchlosti pracuje, ako je uvedené nižšie.
ArduinoSerial = serial. Serial ('com18', 9600)
Poznámka: Je veľmi dôležité spomenúť správny názov portu COM. Nájdete ho pomocou Správcu zariadení vo vašom počítači.
Hneď ako sa sériový objekt inicializuje, mali by sme program držať dve sekundy, aby sa nadviazala sériová komunikácia. Môžete to urobiť pomocou nasledujúceho riadku:
time.sleep (2)
Teraz môžeme čítať alebo zapisovať čokoľvek z / do našej dosky Arduino.
Nasledujúci riadok prečíta všetko, čo pochádza z Arduina, a vytlačí to na shell okne
vytlačiť ArduinoSerial.readline ()
Hodnotu môžete tiež priradiť k premennej a použiť ju na výpočty.
Nasledujúci riadok zapíše hodnotu parametra na dosku Arduino.
ArduinoSerial.write ('1')
Tento riadok napíše Arduinu „1“. Rovnakým riadkom môžete posielať čokoľvek od desatinných miest po reťazce.
Teraz sa vrátime k nášmu programu a vo vnútri nekonečnej slučky while máme nasledujúce riadky
var = raw_input () #get vstup od používateľa print "you entered", var #print the input for confirmation if (var == '1'): #if the value is 1 ArduinoSerial.write ('1') #send 1 print ("LED zapnutá") time.sleep (1) if (var == '0'): # ak je hodnota 0 ArduinoSerial.write ('0') #send 0 print ("LED vypnutá") čas.spánok (1)
Riadok var = raw_input získa každú hodnotu, ktorá je napísaná v skripte Shell, a túto hodnotu priradí k premennej var .
Neskôr, ak je hodnota 1, bude tlačiť „1“ sériovo na Arduino a ak 0, bude tlačiť „0“ sériovo na Arduino. Kód v našom programe Arduino (diskutovaný vyššie) prepneme LED na základe prijatej hodnoty.
Po dokončení celého programu by mal váš skript vyzerať asi takto nižšie
Teraz kliknite na Spustiť -> Spustiť modul alebo stlačte kláves F5, čo vás môže požiadať o uloženie programu a potom ho spustí.
Ovládanie LED pomocou Pythonu a Arduina:
Fungovanie tohto projektu je celkom jednoduché. Nahrajte program do svojho Arduina a overte, či je pripojený k rovnakému portu COM, aký je uvedený v programe python. Potom spustite program Python, ako je uvedené vyššie.
Spustí sa skript prostredia python, ako je uvedené nižšie. Okno vľavo predstavuje okno programu Shell s výstupom a okno vpravo zobrazuje skript zobrazujúci program.
Ako vidíte, reťazec „Ahoj !, Som Arduino“ zadaný v programe Arduino je prijatý Pythonom a zobrazený na jeho okne.
Keď okno požiada o zadanie hodnôt, môžeme zadať buď 0 alebo 1. Ak pošleme 1, LED na doske Arduino sa rozsvieti a ak pošleme 0, LED na našej doske Arduino zhasne. Zobrazuje sa úspešné spojenie medzi našim programom Arduino a Pythonom.
Ďalej sú uvedené dva programy, jeden na načítanie a spustenie z Arduina a druhý na spustenie z Python Shell vo Windows.
Dúfam, že ste projektu porozumeli a dokázali ste ho uviesť do prevádzky. Ak nie, pošlite svoj problém do komentára nižšie a rád vám pomôžem. V našom ďalšom projekte sa dozvieme, čo ďalšie sa dá urobiť v pohode s Pythonom a Arduinom hlbokým preskúmaním ďalších pythonových modulov, ako sú Vpython, gamepython atď. Do tej doby zostaňte naladení….