Python è compatibile con Arduino? In questo articolo scopriremo come sia possibile rendere Python, uno dei linguaggi di programmazione più diffusi al mondo, compatibile anche con l'ecosistema della scheda blu torinese.
Introduzione
Un esempio di script con Python
Tutti noi siamo abituati a programmare la scheda Arduino con il noto ambiente di sviluppo IDE (Integrated Development Environment) di Arduino, utilizzando il linguaggio di programmazione Arduino basato su C++. Tutto ciò, però, è molto diverso da come possiamo programmare la scheda a microcontrollore mediante il linguaggio di programmazione MicroPython. Quando carichiamo uno sketch su una scheda, per prima cosa compiliamo lo sketch che scriviamo e poi lo carichiamo sulla scheda, sostituendo il vecchio sketch con uno nuovo. Per utilizzare MicroPython, invece, dobbiamo prima installarlo sulla scheda. A questo punto possiamo caricare uno script.py, del quale è riportato di seguito un esempio di lampeggio:
import time from machine import Pin led = Pin(6, Pin.OUT) while (True): led.on() time.sleep_ms(250) led.off() time.sleep_ms(250)
Poiché MicroPython è già in esecuzione sulla scheda, non è necessario compilare e caricare il codice, è sufficiente invece fornire solo le istruzioni, cosa che avviene tramite comunicazione seriale. Quando si installa MicroPython su una scheda, può eseguire solo script MicroPython, finché non lo "disinstalliamo". Per riportare la scheda in "modalità normale" è necessario ripristinare il bootloader; questo è un processo univoco per ogni scheda. Per comprendere come funziona Python sui microcontrollori suggerisco la lettura di questa guida: Overview — MicroPython 1.17 documentation
L'Editor OpenMV
Nel paragrafo precedente è stato detto che l'IDE Arduino non supporta ancora il linguaggio di programmazione Python. Questo cosa comporta? Non c'è in realtà nessun problema, visto che possiamo utilizzare OpenMV, una piattaforma che supporta la programmazione di schede Arduino con il linguaggio MicroPython. Attraverso l'editor OpenMV, possiamo installare MicroPython e caricare gli script direttamente sulla scheda di nostro interesse. L'editor contiene praticamente un sacco di tool, anche una serie di esempi di codici disponibili per la consultazione e per prendere maggiore dimestichezza con questo strumento. Nella sezione Riferimenti alla fine dell'articolo scoprirai come configurare l'ambiente di sviluppo, insieme a tutorial approfonditi per iniziare con MicroPython, link per l'apprendimento, raccolte di script utili, datasheet e guide.
Quali sono le schede della famiglia Arduino compatibili con MicroPython?
Attualmente ci sono quattro schede della famiglia Arduino che supportano ufficialmente MicroPython. Ciò significa che su questi modelli di schede potrai eseguire MicroPython e creare i tuoi progetti. Si tratta delle schede:
Per scoprire la scheda Arduino Nano 33 BLE Sense invito alla lettura di questo articolo: Nano 33 BLE Sense: la scheda Arduino nata per l’AI | Elettronica Open Source (emcelettronica.com)
Per scoprire la scheda Arduino Nano RP2040 Connect invito alla lettura di questo articolo: Arduino Nano RP2040 Connect: l’idea innovativa del brand elettronico made in Italy | Elettronica Open Source (emcelettronica.com)
Riferimenti
[1] https://docs.arduino.cc/foundations
[2] Python with Arduino boards | Arduino Documentation | Arduino Documentation