Dall’ultimo articolo dedicato al progetto AULAPULITA sono passati circa due mesi, in questo intervallo di tempo ho concluso il porting del codice versione 0.1a pubblicato su GitHub ad agosto 2016. Rispetto allo schema presentato a luglio 2017 c’è stata qualche modifica orientata soprattutto a semplificare il codice e minimizzare i componenti.
Sopra lo schema elaborato in Fritzing senza il bit expander che proponevo, senza i led per segnalare eventuali guasti ai sensori e con il K30 collegato in modalità UART anzichè in modalità I2C.
Ecco l’elenco dei componenti da noi utilizzati per questa nuova versione di AULAPULITA:
- Wemos D1 o scheda basata su ESP8266;
- shield SD o microSD con a bordo il modulo RTC DS1307 per avere il riferimento temporale;
- shield LCD 16×2 I2C, per visualizzare in tempo reale i dati acquisiti e gli eventuali guasti;
- sensore CO2 K30 Senseair;
- sensore SHT30, per il monitoraggio di temperatura e umidità relativa;
- buzzer o cicalino, per l’allarme acustico di superamento soglia;
- alimentatore 9-12v;
- cavetti e breadboard per i collegamenti.
Qualche nota applicativa sulle shield e i sensori utilizzati con le relative librerie:
- La shield SD utilizzata da noi è un clone della logger shield Adafruit v1.0, con a bordo il modulo RTC basato sul DS1307 e fornita di batteria tampone CR1220. Sulla shield è stata effettuata una piccola modifica ovvero è stata rimossa la resistenza pull-up tra il CS della shield e il pin digitale D10 della scheda Wemos D1 e il collegamento è stato realizzato in modo diretto saldando un cavetto tra il CS e il pin digitale D10. Le librerie utilizzate per comunicare con la scheda di memoria sono la SPI e SD mentre quelle per comunicare con il DS1307 sono la Wire e la RTClib tutte presenti tra quelle scaricabili dalla Gestione librerie dell’IDE di Arduino.
- La shield LCD 16×2 I2C è basata sul 16bit expander MCP23017 collegato ai pin digitali D3 e D4 (alimentazione 5v), la scheda offre anche la possibilità di avere cinque pulsanti e un joystick ma in questa fase del progetto non sono stati utilizzati. La libreria utilizzata per comunicare con il monitor LCD è la LiquidTWI2 disponibile su GitHub, quest’ultima necessita della libreria Adafruit-MCP23017-Arduino-Library scaricabile dalla Gestione librerie dell’IDE di Arduino.
- Il sensore per la CO2, il K30 prodotto dalla Senseair, viene collegato in modalità UART ai pin digitali D8 e D9 (alimentazione 5v). La libreria utilizzata per comunicare con il sensore è la SoftwareSerial già presente nella IDE di Arduino. Esempi di utilizzo si possono trovare nella libreria AN126-K3x-sensor-arduino-uart liberamente scaricabile.
- Il sensore per il monitoraggio di temperatura e umidità relativa utilizzato è il SHT30, questo viene collegato in modalità I2C ai pin digitali D3 e D4 (alimentazione 5v). La libreria utilizzata per comunicare con il sensore è la WEMOS_SHT3x_Arduino_Library scaricabile da GitHub.
Nel prossimo articolo presenterò il software versione 0.2a di AULAPULITA con una breve descrizione delle caratteristiche e delle funzionalità introdotte rispetto alla precedente versione.