- Cerințe
- Instalarea PyFirmata în Arduino folosind Raspberry Pi
- Explicarea codului
- LED-ul decolorat pe Arduino utilizând pyFirmata
Deși Raspberry Pi și Arduino sunt două hardware diferite în ceea ce privește aplicațiile și structura lor, ambele sunt considerate două platforme hardware open source concurente. Amândoi au o comunitate și un sprijin foarte puternic. Astăzi vom schimba ușor lucrurile și vă vom arăta cum putem profita de ambele. Dacă aveți atât plăci Arduino, cât și Raspberry pi, acest articol vă va arăta cum să utilizați Raspberry pi și Python pentru a controla Arduino.
Vom folosi firmware-ul PyFirmata pentru a da comenzi către Arduino folosind scriptul python Raspberry Pi. PyFirmata este în esență un pachet de bibliotecă pre-construit al programului python care poate fi instalat în Arduino pentru a permite comunicarea serială între un script python de pe orice computer și un Arduino. Acest pachet python poate oferi acces la citirea și scrierea oricărui pin pe Arduino. Deci, aici vom rula programul python pe Arduino folosind Raspberry pi.
Deci, în acest tutorial vom profita de această bibliotecă și o vom folosi în placa noastră Arduino pentru a controla Arduino folosind Raspberry Pi.
Cerințe
- Raspberry Pi cu Raspbian OS instalat în acesta
- Arduino Uno sau orice altă placă Arduino
- Cablu USB Arduino
- LED
În acest tutorial folosesc un monitor extern care utilizează cablu HDMI pentru a mă conecta cu Raspberry Pi. Dacă nu aveți monitor, puteți utiliza clientul SSH (Putty) sau serverul VNC pentru a vă conecta la Raspberry pi utilizând laptop sau computer. Dacă întâmpinați vreo dificultate, urmați Ghidul nostru pentru a ne uita cu Raspberry Pi.
Instalarea PyFirmata în Arduino folosind Raspberry Pi
Pentru a încărca firmware-ul PyFirmata în Arduino, trebuie să instalăm Arduino IDE în Raspberry Pi. Urmați acești pași pentru instalare:
Pasul 1: - Conectați Raspberry Pi la internet. Deschideți terminalul de comandă și tastați următoarea comandă și apăsați Enter
sudo apt - get - y instala arduino python - serial mercurial
Așteptați câteva minute, va dura timp. Această comandă va instala ID-ul Arduino în Raspberry Pi.
Pasul 2: - Acum, vom instala fișiere pyFirmata folosind github-ul dat:
git clone https://github.com/tino/pyFirmata
Apoi executați următoarea comandă:
cd pyFirmata sudo python setup.py install
Pasul 3: - Am instalat toate fișierele și setările necesare.
Acum, conectați placa Arduino cu Raspberry Pi utilizând cablul USB și lansați Arduino IDE tastând arduino în fereastra terminalului.
Pasul 4: - Apoi tastați comanda lsusb pentru a verifica dacă Arduino este conectat cu raspberry pi.
În Arduino IDE, accesați instrumentele și alegeți placa și portul serial.
Pasul 5: - Încărcați firmware-ul PyFirmata pe Arduino făcând clic pe Fișier -> Exemple -> Firmata -> Firmata standard și apoi faceți clic pe butonul de încărcare. Așa cum se arată mai jos.
Am instalat cu succes firmware-ul pyFirmata pe placa Arduino. Acum, ne putem controla Arduino folosind Raspberry Pi.
Pentru demonstrație, vom clipi și vom estompa un LED pe Arduino scriind coduri python în Raspberry Pi.
Explicarea codului
Pentru partea de codificare, ar trebui să citiți documentația pyFirmata pentru o mai bună înțelegere. Vom folosi funcțiile pyFirmata pentru a scrie codul nostru. Puteți găsi documentația pyFirmata urmând linkul.
Deci, să începem să scriem codul
Deschideți editorul de text preferat pe Raspberry Pi și importați biblioteca pyFirmata.
import pyfirmata
Definiți pinul pe Arduino pentru a conecta LED-ul
led_pin = 9
Acum, trebuie să scriem numele portului serial pe care este conectată placa Arduino folosind funcția pyfirmata.Arduino () și apoi să facem o instanță prin atribuirea portului în variabila de bord .
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Codul rulează”
În bucla while , faceți pinul LED HIGH și low folosind funcția board.digital.write () și dați întârziere utilizând funcția board.pass_time () .
în timp ce este adevărat: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Codul nostru este gata, salvați acest cod punând extensia .py la numele fișierului.
Deschideți terminalul de comandă și tastați python blink.py pentru a rula codul pe placa Arduino. Asigurați-vă că placa Arduino este conectată la placa Raspberry Pi utilizând un cablu USB.
Acum, puteți vedea LED-ul intermitent pe placa Arduino.
Codul complet pentru LED-ul intermitent folosind pyFirmata este dat la sfârșit.
LED-ul decolorat pe Arduino utilizând pyFirmata
Acum, vom scrie cod pentru decolorarea LED-ului pentru a vă familiariza cu funcțiile pyFirmata. Acest cod este ușor ca cel anterior. Trebuie să utilizați două pentru bucle, una pentru creșterea luminozității și alta pentru scăderea luminozității.
În acest cod, am definit pinii în mod diferit, cum ar fi led = board.get_pin ('d: 9: p') unde d înseamnă pin digital . Aceasta este funcția bibliotecii pyFirmata. Citiți documentația pentru mai multe detalii.
Codul complet pentru Fading LED folosind pyFirmata este dat la sfârșit.
Acum, puteți adăuga mai mulți senzori la sistemul dvs. și îl puteți face mai cool, verificați celelalte proiecte Arduino și încercați să le construiți folosind scriptul Raspberry pi și python