Cosa cambia per i Maker con l’AI ?
Fino a poco tempo fa, il nostro modo di programmare con Arduino era di tipo “deterministico”:
“scrivevamo regole fisse come se il sensore supera il valore X, allora accendi il relè Y o il Led W”
Questo approccio funziona benissimo per compiti semplici, ma mostra tutti i suoi limiti quando l’ambiente circostante diventa complesso.
Come facciamo a riconoscere un comando vocale specifico o a capire se un motore sta vibrando in modo anomalo o riconoscere un gesto della mano ?
I soli numeri grezzi possono essere limitanti e di difficile interpretazione.
Il TinyML, Machine Learning applicato ai microcontrollori, vuole ribaltare l’approccio si ribalta:
Dai dati alle regole:
Non siamo più noi a scrivere l’algoritmo matematico.
Forniamo alla scheda degli esempi di dati e addestriamo l’Intelligenza Artificiale affinché impari a riconoscere i pattern, le sequenze di dati e valori congruenti, da sola.
Autonomia totale (Edge AI):
L’elaborazione avviene “on the edge”: ovvero sul bordo della rete, direttamente sul chip.
La scheda non ha bisogno di essere connessa a Internet o di inviare dati a un server esterno per elaborare le informazioni.
La latenza zero e privacy:
Poiché i dati dei sensori non lasciano mai il microcontrollore, la risposta è immediata e la privacy è totalmente protetta.
Le schede ideali per iniziare sono la Arduino Nano 33 BLE Sense, una vera e propria centrale di sensori integrati (microfono, accelerometro, gesture), e i nuovi ecosistemi della famiglia Arduino UNO, che offrono la potenza di calcolo necessaria a far girare questi piccoli modelli matematici.
La struttura di un progetto TinyML
Hai già letto che se pensi ti serva una laura in data science per usare l’AI su un micro controllore come Auduino UNO Q, ti stai sbagliando.
Grazie a strumenti grafici come Edge Impulse, la creazione di un progetto si riassume in cinque passaggi logici, senza bisogno di scrivere una sola riga di codice per la parte di machine learning.
Esploriamo insieme i passi da seguire, ecco come si struttura il flusso di lavoro:
1. La raccolta dei dati (Data Ingestion)
Il primo passo consiste nell’insegnare alla scheda cosa deve riconoscere.
Per farlo puoi collegare la tua scheda (ad esempio l’Arduino Nano 33 BLE Sense o la UNO Q) al computer e, tramite Edge Impulse, inizia a registrare i dati.
Se, ad esempio, vuoi riconoscere i suoni: registra diversi secondi di audio; se vuoi riconoscere dei movimenti, muovi la scheda registrando i dati dell’accelerometro:
Ricorda che più dati raccogli più l’AI sarà precisa nel riconoscere le interazioni che avrai con il tuo progetto.
2. La definizione della strategia (Impulse Design)
In questa fase decidi come dovranno essere manipolati i dati che hai raccolto per addestrare l modello:
Questa fase rappresenta il cervello del progetto su Edge Impulse, qui potrai impostare i blocchi di pre-elaborazione, che ripuliscono il segnale dai rumori di fondo, e scegliere il blocco di apprendimento, ossia il modello di classificazione vero e proprio, più adatto alle risorse di memoria della scheda Arduino che userai nel tuo progetto:
3. L’addestramento del modello (Training)
Premendo un semplice bottone, i dati raccolti vengono passati al motore di Edge Impulse.
Il sistema analizzerà tutti gli esempi e creerà una rete neurale “leggera”, ottimizzata per le capacità di memoria RAM e Flash del micro controllore che gli hai indicato come device.
Al termine, avrai ottenuto un grafico che ti mostrerà la percentuale di accuratezza del tuo modello:
4. La verifica e il test (Testing)
Prima di caricare tutto sulla scheda è buona norma eseguire una fase di test del modello con dati nuovi.
I dati che dovresti sottoporgli sono “dati nuovi” che l’algoritmo non ha mai visto durante l’addestramento:
Questo ti permette di capire se il sistema funziona davvero o se ha semplicemente “imparato a memoria” i vecchi dati: un problema noto come overfitting.
5. L’esportazione e il deployment su Arduino
Una volta soddisfatti del risultato puoi scaricare il tuo modello Edge Impulse:
La forma del tuo download sarà una libreria Arduino standard C++.
Questa libreria conterrà tutto il codice necessario per far girare l’AI in locale.
A noi maker resta:
- aprire l’IDE di Arduino;
- includere la libreria nel nostro sketch;
- decidere quale azione far compiere alla scheda quando l’AI riconosce un determinato evento.
Tra i files prodotti dalla fase di Deploy avrai a disposizione un Readme file con le istruzioni ed i passi successivi da eseguire:
Conclusioni
L’introduzione dell’Intelligenza Artificiale nel mondo dei maker penso sia un affiancamento alla programmazione tradizionale e la potenzia in modo esponenziale.
Progetti che prima richiedevano competenze complesse e giorni di analisi di dati, verifica dei calcoli e tante capacità computazione da parte dei nostri computer, ora possono girare su una scheda Arduino.
Nei prossimi articoli vedremo nel dettaglio come configurare l’ambiente e muovere i primi passi pratici.
Nel frattempo, ti invito a pensare a quale progetto vorresti rendere “intelligente” e scriverlo nei commenti.
Notice
Va sempre ricordato che i progetti con EDGE Impulse potevano, e possono, essere realizzati anche con altri micro controllori.Oltre all’Arduino UNO Q altre schede arduino possiedono capacità computazionali tali da usare i Tiny ML e leggerai di qualcuna di esse nei prossimi giorni.













Il blog mauroalfieri.it ed i suoi contenuti sono distribuiti con Licenza