- Potrebni materijali:
- Instaliranje Pythona na računalo:
- Dobivanje PySerial-a u Pythonu:
- Naš prvi program za Arduino Python:
- Kontrolna LED dioda s Pythonom i Arduinom:
Arduino je uvijek bio moćna i jednostavna platforma za učenje / razvoj kada je u pitanju razvoj hardvera otvorenog koda. U današnjem modernom svijetu svaki hardver pokreće programski jezik opće namjene visoke razine kako bi bio učinkovitiji i jednostavniji za upotrebu. Jedan od takvih jezika je Python. Python je protumačeni objektno orijentirani programski jezik visoke razine s dinamičkom semantikom s ugrađenom strukturom podataka na visokoj razini, u kombinaciji s dinamičkim tipkanjem i dinamičkim vezivanjem, čine ga vrlo atraktivnim za brzi razvoj aplikacija.
Kombinacija moći Arduina i Pythona otvorit će vrata mnogim mogućnostima jer python ima povećanu produktivnost svojom sposobnošću interakcije s drugim platformama kao što su openCV, Matlab itd. Dakle, u ovom uputstvu naučit ćemo kako možemo instalirati python na svoje računalo i kako ga koristiti s Arduinom za prebacivanje ugrađene LED diode Arduina.
Pa, krenimo….
Potrebni materijali:
- Arduino Uno (ili bilo koja ploča Arduino)
- Računalo s internetskom vezom
Instaliranje Pythona na računalo:
Očito bi prvi korak u ovom vodiču bio instalacija Pythona na naše računalo. Dolje spomenuti koraci primjenjivi su samo za korisnike sustava Windows koji koriste 32-bitni ili 64-bitni OS. Postupak instalacije za MAC i Linux razlikuje se.
- Kliknite 32-bitni Python-2.7.9 i to će instalirati 32-bitni Python IDLE na vaše računalo. Ne preuzimajte 64-bitnu verziju ili ažurirane verzije jer ne pružaju podršku za naše Arduino knjižnice. Čak i ako vaše računalo radi na 64-bitnom, možete koristiti sam 32-bitni Python.
- Otvorite preuzetu exe datoteku i slijedite upute. Ne mijenjajte direktorij u kojem se instalira python. Po defaultu će to biti C: \ Python27 i ostavite ga takvim.
- Dok se instalacija odvija, možda ćete dobiti upozorenje od svog antivirusa (ako postoji) u tom slučaju kliknite na dopusti.
To je to !, python je uspješno instaliran na naše računalo. Možete ga provjeriti pretraživanjem "Python IDLE" u okviru za pretraživanje sustava Windows i otvaranjem.

Kad se otvori, trebao bi dobiti sljedeći zaslon. Ovaj se prozor naziva Python Shell i od sada ćemo ga nazivati " Python ljuskom ".

Ovaj se zaslon naziva Python Shell. Ovdje možete izravno kodirati i dobiti izlaz na istom ekranu ili stvoriti novu datoteku i tamo napisati program i ovdje provjeriti program. Kasnije ćemo ući u detalje stvaranja python programa, za sada provjerimo radi li python.
Da biste to učinili, jednostavno upišite " print (1 + 1) " i pritisnite enter. Trebali biste vidjeti ispis rezultata kao što je prikazano dolje.

Dobivanje PySerial-a u Pythonu:
Sljedeći je korak instaliranje pyserial. PySerial je Python API modul koji se koristi za čitanje i pisanje serijskih podataka u Arduino ili bilo koji drugi mikrokontroler.
Kliknite Pyserial Windows da biste preuzeli PySerial. Rezultirajuće preuzimanje bit će exe datoteka koja se može izravno instalirati. Tijekom instalacije nemojte mijenjati nijednu postavku. Ostavite to zadanom direktoriju i zadanim postavkama.
Sada provjerimo je li PySerial pravilno instaliran. Da biste to učinili, ponovo otvorite Python Shell i unesite
uvoz serijski . Ako je knjižnica uspješno instalirana, ne biste trebali dobivati poruke o pogreškama kao što je prikazano na donjoj slici. Ako primite bilo kakve pogreške, objavite ih u odjeljku za komentare i mi ćemo ih pokušati riješiti.

Ovaj vodič pretpostavlja da ste upoznati s Arduinom i da imate iskustva s prijenosom projekata na Arduino. Pa krenimo izravno u naš Python program. Ako ste početnik s Arduinom, provjerite naše Arduino projekte i krenite od LED-a koji trepće s Arduinom.
Naš prvi program za Arduino Python:
Kao što je ranije rečeno, kontrolirat ćemo ugrađenu LED ploču Arduino pomoću Python skripte. Krenimo od Arduino koda.
Program za Arduino:
Kompletan program za ovaj Arduino tutorial za python dan je na kraju ove stranice. Pročitajte dalje da biste znali kako to funkcionira.
Unutar postavljanje funkcije smo inicijalizirati serijski komunikaciju na 9600 brzina prijenosa podataka i izjaviti da ćemo biti koristeći izgrađen u vodio kao izlaz i pretvoriti ga niska tijekom programa početka. Također smo poslali poruku dobrodošlice pythonu putem serijskog ispisa, kao što je prikazano u nastavku:
void setup () {Serial.begin (9600); // inicijalizira serijski COM na 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // izradimo LED pin (13) kao izlazni digitalWrite (LED_BUILTIN, LOW); Serial.println ("Bok! Ja sam Arduino"); }
Unutar petlje funkcije, čitamo bez obzira na podatke koji dolaze u serijski i dodjeljivanje vrijednost varijable „podataka”. Sada na temelju vrijednosti ove varijable ("podaci") prebacujemo ugrađeni LED kao što je prikazano dolje.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (podaci == '1') digitalWrite (LED_BUILTIN, HIGH); inače if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Program za Python:
Kompletni program za python za ovaj vodič nalazi se na kraju ove stranice. Pročitajte dalje da biste znali kako pisati i koristiti isto.
- Otvorite svoju Python ljusku (Python IDLE) i kliknite File-> New
- Otvorit će se nova tekstualna datoteka u koju možete upisati svoj program.
- Prije nego što nešto upišemo, spremimo datoteku pomoću Ctrl + S. Upišite bilo koje ime i kliknite Spremi. Ovo će automatski spremiti datoteku u ekstenziju ".py".
- Sada upišite program ili zalijepite python kôd naveden na kraju ove stranice. Objašnjenje istog dano je u nastavku i konačno pokrenite program.
U našem programu prvi korak bio bi uvoz serijske i vremenske biblioteke. Kao što je ranije rečeno, serijska biblioteka koristit će se za čitanje i pisanje serijskih podataka, a knjižnica vremena koristit će se za stvaranje kašnjenja u našem programu. Ove dvije knjižnice mogu se uvesti u naš program pomoću sljedeća dva retka:
import serial # Serija uvezena za vrijeme uvoza serijske komunikacije # Obavezno koristiti funkcije odgode
Sljedeći korak bio bi inicijalizacija serijskog objekta pomoću naše serijske knjižnice. U ovom programu nazvali smo naš serijski objekt kao "ArduinoSerial" . U ovom retku moramo spomenuti naziv COM porta na koji je povezan naš Arduino i kojom brzinom prijenosa radi, kao što je prikazano u nastavku.
ArduinoSerial = serial.Serial ('com18', 9600)
Napomena: Vrlo je važno spomenuti ispravno ime COM porta. Može se pronaći pomoću Upravitelja uređaja na vašem računalu.
Čim se serijski objekt pokrene, trebali bismo držati program dvije sekunde da se uspostavi serijska komunikacija. To se može učiniti pomoću donjeg retka:
vrijeme.spa (2)
Sada možemo čitati ili pisati bilo što sa / na našoj Arduino ploči.
Sljedeći će redak pročitati sve što dolazi iz Arduina i ispisat će ga na prozoru ljuske
ispis ArduinoSerial.readline ()
Vrijednost također možete dodijeliti varijabli i koristiti je za izračunavanja.
Sljedeći će redak zapisati vrijednost parametra na Arduino Board.
ArduinoSerial.write ('1')
Ovaj će redak Arduinu napisati '1'. Pomoću iste linije možete poslati bilo što, od decimala do nizova.
Sada, vraćajući se našem programu, unutar beskonačne while petlje, imamo sljedeće redove
var = raw_input () #get input from user print "koji ste unijeli", var #print input za potvrdu if (var == '1'): #ako je vrijednost 1 ArduinoSerial.write ('1') #send 1 print ("LED uključena") time.sleep (1) if (var == '0'): #ako je vrijednost 0 ArduinoSerial.write ('0') #send 0 print ("LED OFF OFF") vrijeme.spavati (1)
Redak var = raw_input dobit će bilo koju vrijednost koja se upiše u skriptu Shell i dodijeliti tu vrijednost varijabli var .
Kasnije, ako je vrijednost 1, ispisat će serijski '1' na Arduino, a ako je 0 serijski će ispisati '0' na Arduino. Kôd u našem Arduino programu (o kojem smo razgovarali gore) prebacivat ćemo LED na temelju primljene vrijednosti.
Nakon završetka kompletnog programa, skripta bi trebala izgledati otprilike ovako u nastavku

Sada kliknite Pokreni -> Pokreni modul ili pritisnite F5, možda ćete zatražiti da program spremite, a zatim će ga pokrenuti.
Kontrolna LED dioda s Pythonom i Arduinom:
Rad ovog projekta prilično je napredan. Prenesite program na svoj Arduino i provjerite je li povezan s istim COM priključkom kao što je spomenuto u programu python. Zatim pokrenite program Python kao što je gore spomenuto.
Ovo će pokrenuti python skriptu ljuske kao što je prikazano u nastavku. Prozor s lijeve strane je prozor ljuske koji prikazuje izlaz, a prozor s desne strane skripta koja prikazuje program.

Kao što vidite, niz "Bok !, ja sam Arduino" upisan u program Arduino Python je primio i prikazao na njegovom prozoru ljuske.
Kada prozor ljuske zatraži unos vrijednosti, možemo unijeti 0 ili 1. Ako pošaljemo 1, LED na Arduino ploči će se uključiti, a ako pošaljemo 0, LED na našoj Arduino ploči će se isključiti. Prikazivanje uspješne veze između našeg Arduino programa i Pythona.
U nastavku su navedena dva programa, jedan za prijenos i pokretanje iz Arduina, a drugi za pokretanje iz Python Shell-a u sustavu Windows.
Nadam se da ste razumjeli projekt i uspjeli ste ga pokrenuti. Ako ne, objavite svoj problem u komentaru ispod i rado ću vam pomoći. U našem sljedećem projektu naučit ćemo što se još može učiniti cool s Pythonom i Arduinom istražujući duboko u druge python module kao što su Vpython, gamepython itd. Do tada pratite nas….
