- Requisits
- Instal·lació de PyFirmata a Arduino mitjançant Raspberry Pi
- Explicació del codi
- Esvaïment del LED a Arduino mitjançant pyFirmata
Tot i que Raspberry Pi i Arduino són dos maquinari diferents pel que fa a les seves aplicacions i estructura, però tots dos es consideren dues plataformes de maquinari de codi obert competidores. Tots dos tenen una comunitat i un suport molt forts. Avui canviarem lleugerament les coses i us mostrarem com podem aprofitar-les. Si teniu plaques Arduino i Raspberry pi, aquest article us mostrarà com utilitzar Raspberry pi i Python per controlar Arduino.
Utilitzarem el microprogramari PyFirmata per donar ordres a Arduino mitjançant l’escriptura python de Raspberry Pi. PyFirmata és bàsicament un paquet de biblioteca pre-construït del programa Python que es pot instal·lar a Arduino per permetre la comunicació en sèrie entre un script Python en qualsevol ordinador i un Arduino. Aquest paquet python pot donar accés a llegir i escriure qualsevol pin a l'Arduino. Per tant, aquí executarem el programa python a Arduino mitjançant Raspberry pi.
Per tant, en aquest tutorial aprofitarem aquesta biblioteca i l’utilitzarem a la nostra placa Arduino per controlar Arduino mitjançant Raspberry Pi.
Requisits
- Raspberry Pi amb el sistema operatiu Raspbian instal·lat
- Arduino Uno o qualsevol altra placa Arduino
- Cable USB Arduino
- LED
En aquest tutorial estic fent servir un monitor extern amb cable HDMI per connectar-me amb Raspberry Pi. Si no teniu monitor, podeu utilitzar el client SSH (Putty) o el servidor VNC per connectar-vos a Raspberry pi mitjançant un ordinador portàtil o un ordinador. Si trobeu alguna dificultat, seguiu la nostra Guia de fixació amb Raspberry Pi.
Instal·lació de PyFirmata a Arduino mitjançant Raspberry Pi
Per carregar el microprogramari PyFirmata a Arduino, hem d’instal·lar Arduino IDE a Raspberry Pi. Seguiu aquests passos per instal·lar:
Pas 1: - Connecteu el Raspberry Pi a Internet. Obriu el terminal d’ordres i escriviu l’ordre següent i premeu Intro
sudo apt - get - y instal·la arduino python - serial mercurial
Espereu uns minuts, trigareu. Aquesta ordre instal·larà l'IDE Arduino al vostre Raspberry Pi.
Pas 2: - Ara, instal·larem fitxers pyFirmata amb el github donat:
git clone https://github.com/tino/pyFirmata
A continuació, executeu l'ordre següent:
cd pyFirmata sudo python setup.py install
Pas 3: - Hem instal·lat tots els fitxers i configuracions necessaris.
Ara, connecteu la vostra placa Arduino amb Raspberry Pi mitjançant un cable USB i inicieu Arduino IDE escrivint arduino a la finestra del terminal.

Pas 4: - A continuació, escriviu l' ordre lsusb per comprovar si Arduino està connectat amb el vostre raspberry pi.
A Arduino IDE, aneu a les eines i trieu la vostra placa i el port sèrie.
Pas 5: - Carregueu el microprogramari PyFirmata a l'Arduino fent clic a Fitxer -> Exemples -> Firmata -> Firmata estàndard i, a continuació, feu clic al botó de càrrega. Com es mostra a continuació.

Hem instal·lat correctament el microprogramari pyFirmata a la placa Arduino. Ara podem controlar el nostre Arduino mitjançant Raspberry Pi.
Per a la demostració parpellejarem i esvairem un LED a l’Arduino escrivint codis python a Raspberry Pi.
Explicació del codi
Per a la part de codificació, heu de llegir la documentació de pyFirmata per a una millor comprensió. Utilitzarem funcions pyFirmata per escriure el nostre codi. Podeu trobar la documentació de pyFirmata seguint l’enllaç.
Comencem, doncs, a escriure el codi
Obriu el vostre editor de text preferit al Raspberry Pi i importeu la biblioteca pyFirmata.
importar pyfirmata
Definiu el pin a l'Arduino per connectar el LED
led_pin = 9
Ara, hem d’ escriure el nom del port sèrie al qual està connectada la placa Arduino mitjançant la funció pyfirmata.Arduino () i després fer una instància assignant el port a la variable de la placa .
board = pyfirmata.Arduino ("/ dev / ttyACM0") imprimeix "El codi s'està executant”
En temps de bucle, fan de LED d'alta i baixa pin usant board.digital.write () la funció i proporcionar immediatament usant board.pass_time () funció.
mentre és cert: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
El nostre codi està a punt, guardeu-lo posant l' extensió .py al nom del fitxer.
Obriu el terminal d’ordres i escriviu python blink.py per executar el codi a la placa Arduino. Assegureu-vos que la placa Arduino estigui connectada a la vostra placa Raspberry Pi mitjançant un cable USB.
Ara podeu veure el LED parpellejant a la placa Arduino.
Al final es dóna un codi complet per al LED parpellejant mitjançant pyFirmata.
Esvaïment del LED a Arduino mitjançant pyFirmata
Ara, escriurem codi per esvair el LED per familiaritzar-vos amb les funcions pyFirmata. Aquest codi és fàcil com l'anterior. N’heu d’utilitzar dos per a bucles, un per augmentar la brillantor i un altre per disminuir la brillantor.
En aquest codi, hem definit els pins de manera diferent com led = board.get_pin ('d: 9: p') on d significa pin digital . Aquesta és una funció de la biblioteca pyFirmata. Llegiu la documentació per obtenir més detalls.
Al final es dóna el codi complet per a la decoloració del LED mitjançant pyFirmata.
Ara podeu afegir més sensors al vostre sistema i fer-lo més fresc, consulteu els nostres altres projectes d’Arduino i proveu de construir-los amb Raspberry pi i script Python.
