Ultimamente si fa un gran parlare di Python e sulla possibilità di utilizzarlo nella programmazione dei microcontrollori al posto di altri linguaggi come C o C++, spesso troppo complessi e che richiedono un grande sforzo e tempo per il loro apprendimento. Ma Python è un linguaggio nato per lavorare su grandi macchine come lo sono i PC di oggi. A tal proposito si è sviluppato CircuitPython, una particolare versione di Python adatta per lavorare con piccole schede e scelta da Adafruit come piattaforma base per i suoi prodotti.
Cosa è CircuitPython
CircuitPython è un linguaggio di programmazione progettato per rendere molto semplice l’utilizzo di schede con microcontrollori a basso costo e facilitarne al massimo il suo apprendimento. CircuitPython nacque nel 2017, partendo da MicroPython, un progetto open-source nato per rendere Python utilizzabile anche nella programmazione dei microcontrollori, ed è i da Adafruit, che ne ha fa da promotore per la programmazione delle sue schede.
CircuitPython è basato su Python, di cui ne eredita molte caratteristiche utili. Per esempio, una volta scritto il codice e salvato, questo può essere eseguito immediatamente, senza la necessità di compilarlo e poi caricarlo sulla scheda (a differenza degli altri lunguaggi come C e C++). Inoltre permette di ottenere immediatamente le risposte ai nostri comandi, permettendo così una programmazione interattiva.
Python è un linguaggio a fortissima espansione, e si sta insegnando in moltissime scuole dato il suo grande utilizzo nell’ambiente scientifico e professionale. Quindi programmare le schede con questo linguaggio può essere molto utile per cominciare a prendere confidenza con questo linguaggio o per approfondirne l’uso.
CircuitPython da parte sua permette l’utilizzo di questo linguaggio su moltissime piattaforme hardware estendendone così molto il campo di applicabilità.
I computer a scheda singola (SBC) ed i loro sensori
CircuitPython è progettato per lavorare su schede di microcontrollori, o computer a scheda singola, meglio noti come Single Board Computer (SBC), come le Raspberry Pi. Queste tipologie di computer hanno oggi guadagnato una grande fetta di mercato, e sono molto diffuse grazie alla loro grande applicabilità a moltissimi usi e soprattutto il loro basso costo.
Le schede oggi presenti sul mercato sono moltissime, ed ognuna di esse spesso dispone di una serie esclusiva di periferiche. Senza poi dimenticare l’innumerevole quantità di sensori. Ma ogni scheda e ogni sua periferica richiede delle librerie di supporto per poterle utilizzare ed integrare correttamente nei loro progetti.
Pensiamo per esempio alle schede Arduino e al loro successo, dovuto non solo alle schede, ma alla grande quantità di librerie disponibili per l’uso di molte periferiche e sensori. Da qui, Adafruit creandosi un suo progetto di MicroPython ha voluto assicurarsi un ambiente di sviluppo universale alle sue moltissime schede. Ha così convertito o sviluppato moltissime librerie per lavorare su CircuitPython, in modo da fornire un vasto supporto a questo linguaggio per tutte le sue schede e per un sempre più vasto uso di periferiche.
Vediamo insieme alcune schede che funzionano correttamente con CircuitPython
Le schede della serie Metro di Adafruit
Adafruit ha rilasciato una serie di schede che coprono le stesse funzionalità di quelle Arduino, chiamata Metro e che funzionano anche con Arduino IDE, ma che sono state progettate per lavorare con CircuitPython.
Per esempio la Metro M0 Express, ha lo stesso formato e pinout di Arduino UNO o Zero. Quindi si possono utilizzare anche tutti gli shield e altri dispositivi studiati appositamente per lavorare con le schede Arduino.
Oppure la Feather M0 Express adatta per occupare poco spazio, come le corrispettive Arduino Nano e Micro.
Programmare con Mu Editor
Per quanto riguarda la programmazione in questo linguaggio, si utilizza un editor specifico, il Mu Editor, una semplice applicazione che viene installata sul nostro computer. Funziona sia su Windows, su MacOS che su Linux e Raspberry. Questa applicazione ci permette di lavorare direttamente con le schede single board, in tempo reale, connettendole al nostro computer tramite USB. All’interno del Mu Editor vie è una console seriale che ci permette di ottenere le risposte in uscita dalle schede in seguito ai nostri comandi.
Mu Editor lo troverai al sito ufficiale https://codewith.mu, dove trai scaricarlo e poi installarlo sul tuo PC. Nel sito ci sono anche molte altre informazioni, e tutorial per aiutarti nella programmazione.