In arrivo il IV corso di introduzione ad Arduino

di Teodor Ariton
Anche quest’anno l’Associazione InnovazioneLocale offre un corso di introduzione all’uso del microntrollore Arduino. La storia è nota, nel 2014 l’Istituto Superiore Valdichiana ottenne un finanziamento dall’Autorità per la Partecipazione della Regione Toscana per l’introduzione alla scienza di cittadinanza. Nell’arco di alcuni mesi furono introdotte attrezzature a basso costo per applicazioni varie. Fu sicuramente un successo, ancora documntato dalla pagina specifica nel sito della Regione open.toscana.it (http://open.toscana.it/web/laboratorio-ambiente/). Quella pagina è stata giudicata “buona pratica” e indicata quindi ad esempio per altri progetti di partecipazione.
Sulla scia di quel successo, esaurito il finanziamento, l’associazione senza fine di lucro InnovazioneLocale ha, in collaborazione con la scuola, ripetuto per due anni il corso su Arduino: sei sessioni di due ore ciascuna. I vecchi allievi sono diventati docenti e hanno ripetuto il successo iniziale anche senza risorse. In questi anni sono state sperimentate innovazioni. La più importante è stata quella della cosiddetta classe capovolta. Sono stati prodotti video che chi frequenta vede in anticipo per avere più tempo in laboratorio per il lavoro sperimentale in piccoli gruppi.
Quest’anno ci saranno altre novità. Per quanto riguarda il corso tenteremo l’introduzione di una tecnica chiamata Kahoot! che permette di procedere verifiche durante la lezione utilizzando lo smartphone degli allievi.
Ma la novità più rilevante è che chi lo vorrà potrà continuare il laboratorio per arrivare alla costruzione di reti di rilevazione della qualità dell’aria. Una rete sarà dedicata alla scuola con il progetto già in parte iniziato denominato Aulapulita. La seconda sarà finalizzata alla costruzione di una rete esterna per la misurazione delle polveri sottili coinvolgendo così i cittadini interessati. Il progetto è ambizioso perché potrebbe rappresentare un importante progetto pilota. È un progetto finanziato e ne parleremo presto.
Progetto “aulapulita” su Wemos D1 ESP8266 – parte 1
Dopo una lunga pausa dovuta a esami e lavoro torno a parlare del progetto AULAPULITA.
Negli ultimi articoli, dedicati alla Wemos D1, proponevo il porting di tutto il codice AULAPULITA “standalone” e “connected” su questa scheda e sono giunto al punto in cui posso presentare qualche considerazione.
La lista dei componenti va leggermente cambiata, vediamo come:
- Wemos D1 o scheda basata su ESP8266 anzichè Arduino UNO;
- modulo microSD, per salvare i dati acquisiti su file in formato CSV; (vedi nota a fondo pagina)
- modulo LCD 16×2 I2C, per visualizzare in tempo reale i dati acquisiti e gli eventuali guasti;
- sensore CO2 K30 Senseair;
- sensore SHT30 I2C anzichè DHT22, per il monitoraggio di temperatura e umidità relativa;
- buzzer o cicalino, per l’allarme acustico di superamento soglia, collegato al pin digitale D10 (gpio15) o al pin digitale D8 (gpio0); (vedi nota a fondo pagina)
- alimentatore 9-12v;
- cavetti e breadboard per i collegamenti.
diventano opzionali:
- modulo RTC PCF8563 I2C, per avere un riferimento temporale sui dati acquisiti (in alternativa possiamo usare il servizio NTP via internet);
- 2x led, per segnalare eventuali guasti ai sensori;
- 1x dip switch 2 canali, per impostare la soglia di allarme CO2.
N.B.: per l’utilizzo dei 2 led insieme ad un 1 dip switch due canali abbiamo bisogno di un 8bit expander collegato via I2C (tipo PCF8574) poichè i due pin digitali rimanenti, D2 (gpio16) e D9 (gpio2), sul ESP8266 basterebbero solo per 2 led o in alternativa per 1 dip switch due canali e quindi non sufficiente per tutte le periferiche (ne servirebbero almeno quattro). Utilizzando invece un bit expander rimarrebbero vuoti i due pin digitali, utililizzabili ad esempio per interfacciare altre perifierche come un sensore ottico Sharp GP2Y1010AU0F in grado di rilevare alcune polveri sottili.
Di seguito lo schema elaborato in Fritzing con gli aggiornamenti appena descritti, senza bit expander, con 2 led per segnalare eventuali guasti ai sensori.
Per concludere, l’uso della scheda Wemos D1 o di una scheda basata su ESP8266 anzichè Arduino UNO, oltre agli evidenti vantaggi in termini di prestazioni, permetterebbe una facile condivisione dei dati via internet. Infatti, adeguando oppurtunamente il codice di AULAPULITA “connected”, parzialmente presentato con degli screenshot in questo articolo, sarebbe anche facilitata la fruizione degli aggiornamenti software installandoli con il sistema OTA presentato nell’articolo “Wemos D1 ESP8266 – programmazione OTA ovvero senza fili“.
Sarebbe utile confrontarsi per capire se la soluzione di adottare un 8bit expander sia una “complicazione” accettabile. Tutto questo in virtù della possibilità di avere fino a 4 led di avviso e la possibilità di regolare la soglia di allarme CO2 e anche la soglia di allarme polveri sottili con 2 dip switch a due canali. Attendo i vostri commenti 🙂
NOTA PER IL COLLEGAMENTO DEL MODULO microSD e del BUZZER o CICALINO: come per tutti i moduli microSD abbiamo necessità di collegare il pin CS ad un pin digitale della scheda Wemos. Possiamo collegarlo o al pin D10 (gpio15) che ha un ingresso pull-down o possiamo collegarlo al pin D8 (gpio0) che ha un ingresso pull-up, la scelta del pin andrà effettuata secondo le caratteristiche del modulo microSD in nostro possesso. Di conseguenza il pin digitale libero rimanente potrà essere utilizzato per collegare il buzzer o cicalino.
Il progetto di scienza di cittadinanza è più vicino
di Teodor Ariton *
Qualche settimana fa abbiamo iniziato, come associazione InnovazioneLocale un percorso per il finanziamento di un progetto di scienza di cittadinanza da parte dell’Autorità per la Garanzia e Promozione della Partecipazione della Regione Toscana.
Per questo la nostra associazione aveva bisogno della firma a supporto di almeno 244 cittadini di Chiusi. Alla fine ne abbiamo raccolte quasi trecento. Non è stato facile.
Al momento della raccolta avevamo promesso di tenere informati i firmatari. Le novità oggi ci sono: in data 11/7/2017 abbiamo ricevuto la comunicazione dell’approvazione della domanda preliminare.
La nostra richiesta di 8300 euro è stata ridimensionata a 7000, un taglio dovuto alle disponibilità dell’Autorità. Nonostante ciò, la cifra è più che sufficiente a raggiungere l’obiettivo principale: quello di formare un nucleo di giovani esperti di micro-controllori e sensori della qualità dell’aria. Dovremo leggermente ridimensionare il numero di postazioni di rilevazione, ma il progetto manterrà tutta la sua forza.
Ora stiamo lavorando alla domanda definitiva. Gli uffici comunali stanno verificando le firme e rimane da ottenere un nullaosta del Comune come previsto dalla legge regionale 46 del 2013.
A questo punto siamo molto più vicini alla meta.
Intanto nel sito di InnovazioneLocale continuano i contributi essenziali per la prosecuzione del progetto, in particolare quelli di Marco Lombardi che speriamo di avere con noi (non solo a distanza da Roma) nel nostro lavoro futuro.
- Presidente dell’Associazione InnovazioneLocale
FIRME PER UN PROGETTO DI SCIENZA DI CITTADINANZA: UN GRAZIE SINCERO
da Teodor Ariton Presidente
e Michele Sacco Segretario
Nelle ultime due settimane l’associazione InnovazioneLocale ha svolto una raccolta di firme per il progetto “UNA RETE DI COMUNITÀ PER IL CONTROLLO DELLA QUALITÀ DELL’ARIA” che riguarda il monitoraggio della qualità dell’aria sia per gli ambienti esterni che per quelli scolastici.
L’associazione InnovazioneLocale, ha come scopo di diffusione della scienza di cittadinanza attraverso attrezzature a basso costo. L’iniziativa per cui viene chiesto un finanziamento all’Autorità regionale per la garanzia e la promozione della partecipazione è svolta in collaborazione con l’Istituto di Istruzione Superiore Valdichiana Einaudi-Marconi. L’attuale iniziativa prosegue l’attività svolta dalla scuola con il progetto Laboratorio Ambiente.
InnovazioneLocale è riuscita a raccogliere il numero richiesto di firme grazie all’aiuto di tanti. Hanno contribuito persone di diversa età e di diverso impegno sociale e lavorativo. Ci piace ricordare le firme di studiosi di pedagogia, ex dirigenti scolastici, imprenditori e associazioni di impegno sociale. (Canada pharmacy) Non meno importanti le firme degli alunni ed ex alunni dell’Istituto. Fra i genitori degli studenti ci hanno sostenuto con le loro firme anche molti immigrati comunitari ed extracomunitari residenti a Chiusi.
I risultati della domanda si sapranno fra due/tre mesi; non sarà un percorso facile. La raccolta stessa delle firme, però, ha dimostrato che su alcuni valori la comunità di Chiusi è sensibile e per noi questo è un grande risultato. Invitiamo tutti a darci una mano con il loro interesse e consigli. Ci trovate sul sito www.innovazionelocale.it
Un grazie ancora a tutti coloro che ci hanno dato fiducia.
Wemos D1 ESP8266 – programmazione OTA ovvero senza fili
Nel precedente articolo abbiamo visto come utilizzare l’IDE per programmare la scheda Wemos D1 e come varia il pinout rispetto alla scheda UNO di Arduino.
E adesso parliamo di OTA: vi starete chiedendo cosa vuol dire, iniziamo dicendo che è l’acronimo di Over-The-Air, in altre parole è il metodo che permette di aggiornare un dispositivo ricevendo wireless il software o lo sketch se parliamo di Arduino.
Quante volte abbiamo sentito la necessità di aggiornare uno sketch ma la nostra board Arduino è fisicamente irraggiungibile? Penso ad un progetto come aulapulita, sigillato nel suo contenitore in un’aula di scuola ma connesso in rete, o per esempio una centralina di rilevamento connessa in rete posta e all’esterno magari su di un palo.
Ebbene si, tra le caratteristiche di una scheda basata sul chipset ESP8266 c’è anche la possibilità di aggiornare il firmware, o se preferite sketch, senza bisogno di dover connettere la board al pc. Una grande rivoluzione degna del Web 2.0 e dell’epoca IoT.
La documentazione ufficiale OTA del progetto ESP8266 Arduino Core descrive in maniera chiara le modalità di upload wireless dello scketch. Personalmente sto studiando quella via web browser che permetterebbe la condivisione degli aggiornamenti ad una eventuale comunità di utenti interessati ad un progetto di scienza di cittadinanza (per esempio una centralina di rilevamento connessa in rete per polveri sottili o simili). Il sistema OTA prevede anche un sistema di aggiornamento automatico con il controllo da parte della board di nuovo software disponibile, così come accade per cellulari e tablet di ultima generazione.
Se invece vogliamo usare un metodo più “semplice” c’è la possibilità, dopo aver installato Python 2.7, di aggiornare la board direttamente dal’IDE di Arduino ma siamo costretti ad usare sempre lo stesso pc da cui abbiamo fatto l’upload la prima volta. Troppo limitativo a mio parere ma comunque utile. Sul web ci sono molti video su questo metodo “semplice” e questo è molto esplicativo.
In questo articolo puramente divulgativo ho volutamente evitato di trattare codice che comunque troviamo commentato tra gli esempi disponibili nell’IDE di Arduino. Non escludo comunque un articolo con qualche applicazione.
Nella categoria ESP8266 trovate altri articoli su questa scheda.
Reti locali di produzione e consumo di energia
di Paolo Scattoni
C’è una petizione che chiede al Parlamento di approvare al più presto una norma che permetta di realizzare reti locali di produzione e distribuzione di energia elettrica. Una possibilità del genere aprirebbe prospettive oggi neppure completamente immaginabili.
Lascio il riferimento alla petizione:
Qui sotto trovate anche gli ultimi aggiornamenti:
Se vi convince……
Wemos D1 ESP8266 – primi passi per una facile migrazione
Nel precedente articolo abbiamo visto una scheda con lo stesso layout della UNO: la Wemos D1 “R1”.
Per utilizzarla con l’IDE di Arduino non dobbiamo fare altro che aggiungere il supporto alla board attraverso il menu “File->Impostazioni” inserendo nel campo “URL aggiuntive per Gestore schede:” il seguente indirizzo:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Una volta cliccato su “Ok” sotto il menu “Strumenti” alla voce “Scheda: ->Gestore schede” sarà possibile installare il core di Arduino per il chip ESP8266. Successivamente cliccando su “Installa” sarranno scaricate tutte le librerie necessarie e al successivo riavvio della IDE sotto il menu “Strumenti” alla voce “Scheda: ” nel menu a scorrere verso il basso avrete la possibilità di selezionare la board Wemos D1 “R1” con chip ESP8266.
La Wemos D1 “R1”, così come tutte le schede basate sul chip ESP8266, ha un pinout diverso ovvero una nomenclatura tutta sua per i pin digitali, per esempio se stiamo lavorando con Arduino UNO e si vuol far lampeggiare un led collegato al pin 7 basta definirlo così come segue:
pinMode(7, OUTPUT);
se vogliamo fare la stessa su una Wemos D1 “R1” con un led collegato al pin 7 la definizione diventa questa:
pinMode(13, OUTPUT);
in rete è possibile trovare schemi comparativi ma tutti incompleti. L’immagine che trovate di seguito è il risultato del montaggio di due immagini per me esplicative: quella di destra è la tabella con la comparazione tra la nomenclatura dei pin sulla scheda UNO/R1 e i corrispettivi per il chip ESP8266, l’immagine di sinistra è invece lo schema dove è possibile individuare tali pin sul chip. In basso segue l’immagine con le due schede.
Sperando di aver fatto cosa gradita vi segnalo il driver può essere scaricato al seguente link: https://wiki.wemos.cc/_media/ch341ser_win_3.4.zip
Nella categoria ESP8266 trovate altri articoli su questa scheda.
Wemos D1 ESP8266 vs Arduino UNO
Era da tempo che volevo provare un modulo WiFi basato sul chip ESP8266 e la scelta è ricaduta su una shield economica (con scarsa documentazione disponibile) che ospita a bordo il modello ESP-12F.

Per fortuna in rete è disponibile un’ampia documentazione e librerie in costante aggiornamento ma far funzionare la shield è stata un’impresa…causa un errore di progettazione della stessa sono stato costretto ad una modifica hardware. Rimane comunque una buona scelta visto il costo e la presenza di un regolatore di tensione che evita di usare un’alimentazione separata (il chip ESP8266 lavora a 3.3V contro i canonici 5V della quasi totalità dell’elettronica che spesso utilizziamo con Arduino e simili). L’unico vero difetto è la velocità di comunicazione con la board di Arduino che avviene in modalità seriale virtuale, troppo limitata per gestire grandi quantità di dati e connessioni multiple.
Cercando la soluzione al problema della velocità di comunicazione su internet, scopro una cosa troppo interessante per non essere approfondita: il chip ESP8266 ha un suo processore che è addirittura più veloce dell’ATmega328P di Arduino UNO. Dati alla mano parliamo di 80Mhz (ESP8266) contro 16 MHz (ATmega328P) e una memoria di 96kB (ESP8266) contro i 32kB (ATmega328P), una vittoria netta del chip ESP8266 ai danni dell’ATmega328P anche in termini di costi.
Un gruppo di sviluppatori già da un paio di anni sta lavorando al porting di Arduino sul chip ESP8266, infatti già da qualche tempo è disponibile per l’IDE il supporto a questo chip. Il progetto è consultabile su https://github.com/esp8266/Arduino e su internet ci sono ottimi tutorial per cominciare a sperimentare. Su internet si trovano moltissime board con chip ESP8266 e molte di queste sono con layout simile ad Arduino.
Nell’immagine che segue possiamo vedere una board Arduino UNO confrontata con una board WeMos D1, layout identico e alta compatibilità con moltissime shield in commercio.

Qualche considerazione: una board WiFi compatibile con la UNO ma con chip ESP8266 al posto dell’ATmega328P costa quanto un clone di Arduino. I pin disponibili su board ESP sono 12 di cui 1 solo analogico invece su Arduino UNO sono 20 di cui 6 analogici ma la prima ha una potenza 5 volte maggiore della seconda e una memoria 3 volte più capiente. Per me è vittoria netta per questa nuova generazione di board low cost già provviste di connettività WiFi, ad Arduino UNO va ovviamente il merito di aver lanciato la sfida per una tecnologia accessibile sempre più performante e meno costosa.
Un progetto come aulapulita se trasportato su una board con connettività WiFi come la Wemos D1 potrebbe diventare un interessante iniziativa di comunità, con una rete di centraline per l’acquisizione dati, con condivisione e analisi in tempo reale.
Spero di aver solleticato la vostra curiosità e vi saluto con l’augurio di veder pubblicato qualche altro progetto su questo blog.
Nella categoria ESP8266 trovate altri articoli su questa scheda.
Progressi progetto “aulapulita” – parte 5

Finalmente il prototipo di AULAPULITA “standalone” ha la sua scatola. Si tratta di una scatola ad incastro, disegnata in CAD e realizzata in cartonlegno da 3mm, il materiale utilizzato è stato tagliato con una macchina CNC dotata di testa di taglio pneumatica . La stessa scatola può essere anche stampata in 3d adeguando opportunamente il file CAD di partenza. I due led posti sotto il piccolo monitor lcd indicano eventuali problemi ai sensori.


In queste settimane anche AULAPULITA “connected” si è evoluta sino a diventare un modulo funzionante che può dialogare facilmente con la rete internet. Una volta connessi al webserver la pagina di benvenuto mostra quattro link: Device status, Current log, Stored log files e Network setup.

La voce “Device status” offre una panoramica sui sensori collegati ad AULAPULITA con la possibilità di verificarne il corretto funzionamento.

La voce “Current log” invece mostra in tempo reale i dati acquisiti da AULAPULITA e il refresh automatico della pagina offre la possibilità di visualizzarli con un intervallo di 10 secondi.

La voce “Stored log files” mostra i file salvati sulla scheda di memoria, questi possono essere scaricati per essere consultati comodamente sul proprio pc. Con qualche riga di programmazione e un pc destinato a server si potrebbe programmare il download così da raccogliere e analizzare i dati nel tempo in modo automatico .

Infine la voce ” Network setup” offre la possibilità di variare le impostazione di rete della shield ethernet senza andare a riprogrammare l’Arduino, tutto questo è possibile utilizzando porzioni di memoria ROM del microcontrollore che solitamente non vengono utilizzate. Con lo stesso criterio si potrebbe creare una funzione per impostare la soglia per superamento limite CO2 da remoto.

Purtroppo lo sketch non è ancora maturo per essere pubblicato, ad oggi lo sketch di AULAPULITA “connected” è composto da ben 849 linee di codice contro le 427 linee di codice di AULAPULITA “standalone”, quasi il doppio ed è facile perdersi e disorientarsi durante la lettura.

di 
