Un’eccessiva concentrazione di anidride carbonica (CO2) negli ambienti chiusi può causare una serie di problemi di salute, come mal di testa, affaticamento, mancanza di concentrazione e insonnia.
Non è facile accorgersi quando la concentrazione di anidride carbonica supera la soglia di attenzione di 1.000 ppm (parti per milione): è quindi molto utile avere uno strumento per misurarne la concentrazione negli ambienti chiusi come case e uffici.
Esistono sul mercato vari tipi di misuratori di anidride carbonica; tuttavia, i misuratori commerciali sono abbastanza costosi, quindi ho deciso di sperimentare la costruzione di un misuratore fai-da-te di anidride carbonica.
Il mio progetto con Arduino
Ho deciso di utilizzare Arduino come base per il mio progetto, perché è un microcontrollore molto diffuso e versatile, con molti tutorial disponibili e una attiva comunità che aiuta con la programmazione e l’integrazione di sensori.
I componenti
I componenti che ho utilizzato sono: un sensore di anidride carbonica, un sensore di temperatura e umidità e un piccolo display su cui visualizzare le misurazioni.
- microcontrollore: Arduino Uno
- sensore di anidride carbonica: MH-Z19
- sensore di temperatura e umidità: DHT-11
- display OLED da 128×64 pixel: SSD1306
I collegamenti
Innanzitutto, ho usato una piccola breadboard per smistare l’alimentazione da 5V e il GND ai tre componenti.
Ho poi collegato i tre componenti ai pin del microcontrollore:
Display | Arduino |
GND | GND |
VDD | +5 V |
SCK | A5 |
SDA | A4 |
MH-Z19 | Arduino |
GND | GND |
VDD | +5 V |
Rx | 2 |
Tx | 3 |
DHT-11 | Arduino |
GND | GND |
VDD | +5 V |
DATA | 4 |
Il codice
Nell’ambiente di sviluppo Arduino ho installato le librerie per controllare i tre componenti:
- SSD1306Ascii (Greiman)
- MH-Z19 (Dempsey)
- DHT sensor library (Adafruit)
Nel codice, ho creato un loop che legge i valori dei sensori e li visualizza su un display OLED; inoltre, li invia anche al monitor seriale per il debug.
Un problema… risolto
Inizialmente, per visualizzare il testo sul display avevo usato la libreria Adafruit SSD1306 che usata da sola funzionava correttamente; ma quando aggiungevo il codice per leggere il sensore di anidride carbonica, non funzionava più: sembrava che i due sensori o le librerie fossero incompatibili.
Ho poi scoperto che il problema era l’occupazione di memoria della libreria Adafruit per il display!
Ho quindi utilizzato al suo posto la liberia SSD1306Ascii che visualizza solo testo ASCII occupando molta meno memoria, lasciandola a disposizione per gli altri sensori.
Con la libreria giusta, il misuratore di anidride carbonica fai-da-te finalmente funziona!
Il contenitore
Dopo aver collegato tutti i componenti e aver verificato che funzionassero correttamente, è arrivato il momento di impacchettare tutto il sistema in una scatola ordinata e trasportabile.
Ho utilizzato una piccola scatola di un mouse, ritagliando i fori per il display, per i due sensori e per far entrare il cavo di alimentazione.
Il prototipo ora è pronto per essere trasportato e utilizzato per monitorare la concentrazione di anidride carbonica in casa, in ufficio o in viaggio, in modo da sapere quando era necessario aprire le finestre per cambiare l’aria.
In conclusione
Costruire il mio misuratore di anidride carbonica basato su Arduino è stato relativamente semplice e divertente, e può essere un ottimo progetto fai-da-te per chiunque sia interessato alla tecnologia e alla salute.
Con i sensori giusti e un po’ di conoscenza di programmazione di Arduino, è possibile creare un dispositivo personalizzato ed economico!