- Materiale necesare:
- Instalarea Python pe computer:
- Obținerea PySerial în Python:
- Primul nostru program Arduino Python:
- Controlul LED-urilor cu Python și Arduino:
Arduino a fost întotdeauna o platformă puternică și ușor de utilizat de învățare / dezvoltare atunci când vine vorba de dezvoltarea hardware open source. În lumea modernă actuală, fiecare hardware este alimentat de un limbaj de programare de nivel general pentru a-l face mai eficient și mai ușor de utilizat. Un astfel de limbaj este Python. Python este un limbaj de programare interpretat, orientat spre obiecte, la nivel înalt, cu semantică dinamică, cu structuri de date încorporate la nivel înalt, combinate cu tastarea dinamică și legarea dinamică, îl fac foarte atractiv pentru dezvoltarea rapidă a aplicațiilor.
Combinând puterea de Arduino și Python va deschide porțile pentru o mulțime de posibilități, deoarece Python are o productivitate crescută, cu capacitatea sa de a interacționa cu alte platforme, cum ar fi OpenCV, Matlab, etc.. Deci, în acest tutorial vom invata cum putem instala Python pe calculatorul nostru și cum să-l utilizați cu Arduino pentru a comuta LED-ul integrat al Arduino.
Deci sa începem….
Materiale necesare:
- Arduino Uno (sau orice placa Arduino)
- Computer cu conexiune la internet
Instalarea Python pe computer:
Evident, primul pas din acest tutorial ar fi instalarea Python pe computerul nostru. Pașii menționați mai jos sunt aplicabili numai pentru utilizatorii Windows care rulează fie sistem de operare pe 32 de biți, fie pe 64 de biți. Procedura de instalare pentru MAC și Linux este diferită.
- Faceți clic pe Python-2.7.9 pe 32 de biți și aceasta va instala Python IDLE pe 32 de biți pe computer. Nu descărcați versiunea pe 64 de biți sau versiunile actualizate, deoarece acestea nu oferă suport pentru bibliotecile noastre Arduino. Chiar dacă computerul dvs. funcționează pe 64 de biți, puteți utiliza Python pe 32 de biți.
- Deschideți fișierul exe descărcat și urmați instrucțiunile. Nu schimbați directorul în care se instalează python. Acesta va fi C: \ Python27 în mod implicit și lăsați-l ca atare.
- În timp ce instalarea are loc, este posibil să primiți un avertisment de la antivirus (dacă există), în acest caz, faceți clic pe permis.
Asta este! Python este instalat cu succes pe computerul nostru. Îl puteți verifica căutând „Python IDLE” în caseta de căutare Windows și deschizându-l.
La deschidere ar trebui să obțineți următorul ecran. Această fereastră se numește Python Shell și ne vom referi la ea ca „ Python shell ” de acum.
Acest ecran se numește Python Shell. Puteți codifica direct aici și puteți obține ieșirea pe același ecran sau puteți crea un fișier nou și puteți scrie programul acolo și puteți verifica programul aici. Mai târziu vom intra în detaliile despre crearea unui program python, deocamdată să verificăm dacă python funcționează.
Pentru aceasta, pur și simplu tastați „ print (1 + 1) ” și apăsați Enter. Ar trebui să vedeți rezultatul tipărindu-se așa cum se arată mai jos.
Obținerea PySerial în Python:
Următorul pas este instalarea pyserial. PySerial este un modul API Python care este utilizat pentru a citi și scrie date seriale pe Arduino sau orice alt microcontroler.
Faceți clic pe Pyserial Windows pentru a descărca PySerial. Descărcarea rezultată va fi un fișier exe care poate fi instalat direct. Nu modificați nicio setare în timpul instalării. Lăsați-l în directorul și setările implicite.
Acum, să verificăm dacă PySerial este instalat corect. Pentru a face acest lucru, deschideți din nou Python Shell și tastați
import serial . Dacă biblioteca a fost instalată cu succes, atunci nu ar trebui să primiți niciun mesaj de eroare așa cum se arată în imaginea de mai jos. Dacă primiți erori, postați-le în secțiunea de comentarii și vom încerca să o rezolvăm.
Acest tutorial presupune că sunteți familiarizat cu Arduino și că aveți experiență în încărcarea proiectelor pe Arduino. Deci, haideți să intrăm direct în programul nostru Python. Dacă sunteți începător cu Arduino verificați proiectele noastre Arduino și începeți de la LED-ul intermitent cu Arduino.
Primul nostru program Arduino Python:
Așa cum am spus mai devreme, vom controla LED-ul încorporat al plăcii Arduino folosind scriptul Python. Să începem cu codul Arduino.
Program pentru Arduino:
Programul complet pentru acest tutorial Arduino python este dat la sfârșitul acestei pagini. Citiți mai departe pentru a afla cum funcționează.
În interiorul funcției de configurare inițializăm comunicația serială la 9600 baud rate și declarăm că vom folosi ledul încorporat ca ieșire și îl vom reduce la începutul programului. De asemenea, am trimis un mesaj de bun venit către python prin imprimare în serie, după cum se arată mai jos:
void setup () {Serial.begin (9600); // inițializați serial COM la 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // faceți pinul LED (13) ca ieșire digitalWrite (LED_BUILTIN, LOW); Serial.println („Bună !, eu sunt Arduino”); }
În interiorul funcției buclă , citim orice date care intră în serie și atribuim valoarea variabilei „date”. Acum, pe baza valorii acestei variabile („date”), comutăm ledul încorporat așa cum se arată mai jos.
bucla void () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Program pentru Python:
Programul complet Python pentru acest tutorial este dat la sfârșitul acestei pagini. Citiți mai departe pentru a ști să scrieți și să utilizați același lucru.
- Deschideți Python Shell (Python IDLE) și faceți clic pe Fișier-> Nou
- Aceasta va deschide un nou fișier text unde puteți introduce programul.
- Înainte de a tasta ceva, putem salva fișierul, prin Ctrl + S. Tastați orice nume și faceți clic pe salvare. Acest lucru vă va salva automat fișierul în extensia „.py”.
- Acum, tastați programul sau lipiți codul python dat la sfârșitul acestei pagini. Explicația pentru același lucru este dată mai jos și rulați în cele din urmă programul.
În programul nostru, primul pas ar fi importarea seriei și a bibliotecii de timp. Biblioteca serială, așa cum am spus mai devreme, va fi utilizată pentru citirea și scrierea datelor seriale, iar biblioteca de timp va fi utilizată pentru a crea întârzieri în programul nostru. Aceste două biblioteci pot fi importate în programul nostru folosind următoarele două linii:
import serial #Serial importat pentru comunicare serial Timp de import # Necesar pentru a utiliza funcțiile de întârziere
Următorul pas ar fi inițializarea unui obiect serial folosind biblioteca noastră serială. În acest program, am numit obiectul nostru serial „ArduinoSerial” . În această linie trebuie să menționăm numele portului COM la care este conectat Arduino și la ce viteză de transmisie funcționează așa cum se arată mai jos.
ArduinoSerial = serial.Serial ('com18', 9600)
Notă: Este foarte important să menționați numele portului COM corect. Se poate găsi utilizând Managerul de dispozitive de pe computer.
De îndată ce obiectul serial este inițializat, ar trebui să ținem programul timp de două secunde pentru ca comunicarea serială să fie stabilită. Acest lucru se poate face folosind linia de mai jos:
time.sleep (2)
Acum putem citi sau scrie orice de pe / pe placa noastră Arduino.
Următorul rând va citi orice vine de la Arduino și îl va imprima pe fereastra shell
print ArduinoSerial.readline ()
De asemenea, puteți atribui valoarea unei variabile și o puteți folosi pentru calcule.
Următoarea linie va scrie valoarea parametrului pe placa Arduino.
ArduinoSerial.write ('1')
Această linie va scrie '1' către Arduino. Puteți trimite orice de la zecimale la șiruri folosind aceeași linie.
Acum, revenind la programul nostru, în interiorul buclei infinite while, avem următoarele linii
var = raw_input () #get input from user print "you wrote", var #print the input for confirmation if (var == '1'): # if the value is 1 ArduinoSerial.write ('1') #send 1 print ("LED aprins") time.sleep (1) if (var == '0'): # dacă valoarea este 0 ArduinoSerial.write ('0') #send 0 print ("LED stins") time.dormit (1)
Linia var = raw_input va obține orice valoare care este tastată în scriptul Shell și va atribui această valoare variabilei var .
Mai târziu, dacă valoarea este 1, va imprima '1' în serie pe Arduino și dacă 0 va imprima '0' în serie în Arduino. Codul din programul nostru Arduino (discutat mai sus) vom comuta LED-ul pe baza valorii primite.
După finalizarea programului complet, scriptul dvs. ar trebui să arate cam așa mai jos
Acum faceți clic pe Executare -> Executați modulul sau apăsați F5 acest lucru vă poate cere să salvați programul și apoi îl veți lansa.
Controlul LED-urilor cu Python și Arduino:
Funcționarea acestui proiect este destul de simplă. Încărcați programul pe Arduino și verificați dacă este conectat la același port COM așa cum este menționat în programul python. Apoi lansați programul Python așa cum s-a menționat mai sus.
Aceasta va lansa un script shell Python așa cum se arată mai jos. Fereastra din stânga este fereastra shell care arată ieșirea, iar fereastra din dreapta este scriptul care arată programul.
După cum puteți vedea, șirul „Bună !, Sunt Arduino” introdus în programul Arduino este primit de Python și afișat pe fereastra de shell.
Când fereastra shell cere să introducem valori, putem introduce fie 0, fie 1. Dacă trimitem 1, LED-ul de pe placa Arduino se va aprinde și dacă trimitem 0, LED-ul de pe placa noastră Arduino se va stinge. Se afișează o conexiune cu succes între programul nostru Arduino și Python.
Există două programe prezentate mai jos, unul pentru a fi încărcat și rulat de la Arduino și al doilea pentru a fi rulat de la Python Shell în Windows.
Sper că ați înțeles proiectul și ați reușit să îl puneți în funcțiune. Dacă nu, postați-vă problema în comentariul de mai jos și vă voi ajuta cu plăcere. În următorul nostru proiect vom afla ce altceva se poate face cool cu Python și Arduino explorând adânc în alte module Python precum Vpython, gamepython etc. Până atunci rămâneți la curent….