Il linguaggio di programmazione Python con le schede della famiglia Arduino

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

Il popolare linguaggio Python è compatibile con le schede Arduino. Chi non conosce infatti il linguaggio MicroPython? MicroPython è un'implementazione del linguaggio di programmazione Python fornito con un sottoinsieme della libreria standard Python ed è progettato per essere eseguito su dispositivi a microcontrollore, funziona quindi anche su Arduino, la scheda a microcontrollore per antonomasia!
MicroPython presenta una serie di vantaggi che lo rendono particolarmente diffuso nelle applicazioni del mondo embedded: ha una sintassi relativamente semplice, è facile da imparare ed ha un'ottima documentazione utilizzabile per diverse schede. Arduino supporta ufficialmente il ramo di MicroPython di OpenMV e tramite l'IDE OpenMV è possibile installare MicroPython, connettere e/o disconnettere la propria scheda e caricare gli script per il nostro progetto. 

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.   

L'editor dell'ambiente di sviluppo OpenMV

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:

Scheda Nano 33 BLE

Scheda Nano 33 BLE Sense

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)

Scheda Nano RP2040 Connect

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)

Scheda Portenta H7

Riferimenti

[1] https://docs.arduino.cc/foundations

[2] Python with Arduino boards | Arduino Documentation | Arduino Documentation

[3] Welcome to Python.org

Sei un Maker, un professionista dell'elettronica o semplicemente un appassionato di progetti DIY? Scopri la nuova rivista digitale Firmware 2.0, la lettura ideale per chi vuole avere tutta l'elettronica a portata di click: Abbonati Ora – Promo Ottobre 2021 + Lampadina + Corso – Elettronica Open Source (emcelettronica.com)

Scarica subito una copia gratis

Scrivi un commento

Send this to a friend