Come funziona l’orologio al quarzo?
Gennaio 2, 2022
Dieci trucchi per aiutare la Terra
Luglio 12, 2022
Show all

Una stazione per il monitoraggio dell’aria con Arduino

Una stazione per il monitoraggio dell’aria ad oggi è uno strumento molto importante e presente in tantissime città italiane.

I livelli di inquinamento dell’aria delle nostre città hanno raggiunto livelli altissimi per diversi motivi ( ad esempio a causa dell’elevato traffico automobilistico o per le emissioni gassose da parte delle industrie etc.).

Utilizzando Arduino si può costruire – spendendo pochi euro – una stazione per il monitoraggio dell’aria in maniera molto facilmente: basta scegliere i giusti componenti ed il gioco è fatto. Si tratta davvero di un progetto pratico, intuitivo e divertente da sviluppare: pensa, l’abbiamo fatto assieme ai miei alunni di 3° media durante un laboratorio!

Nello svolgimento di questo progetto ci concentreremo, per il momento, all’acquisizione e monitoraggio dell’anidride carbonica ( CO2), uno dei gas che sta recando più problemi per quanto riguarda l’inquinamento dell’aria. Magari prossimamente farò degli aggiornamenti per l’acquisizione di altri elementi inquinanti.

L’anidride carbonica (CO2) è un gas composto da 2 atomi di ossigeno e 1 atomo di carbonio e ha un peso specifico più alto dell’aria. L’anidride carbonica è indispensabile per la vita e per la fotosintesi delle piante, ma allo stesso tempo è la maggior responsabile dell’effetto serra.

Adesso bando alle ciance e vediamo come costruire una stazione per il monitoraggio dell’aria con Arduino.

Che cosa è Arduino

Arduino é, come viene detto nel sito ufficiale: “una piattaforma elettronica open source basata su hardware e software facili da usare”. Le schede elettroniche Arduino sono molto piccole ed economiche, ma estremamente versatili.

Si possono usare per controllare le luci di casa, far funzionare un robot, lanciare un razzo amatoriale, realizzare complessi strumenti scientifici e mille altre cose. Essenzialmente una scheda Arduino è un elaboratore che legge un input e restituisce un output; ognuno di noi può programmarlo usano l’Arduino Programing Language e l’Arduino Software (IDE).

La piattaforma Arduino è stata ideata e sviluppata in data 2003 da alcuni membri dell’Interaction Design Institute di Ivrea ( il nome della piattaforma deriva da quello del bar di Ivrea frequentato dai fondatori del progetto, nome che richiama a sua volta quello di Arduino d’Ivrea, Re d’Italia nel 1002).

Col passare degli anni migliaia di persone in tutto il mondo hanno scelto Arduino per realizzare i propri progetti. Questi ultimi hanno trovato posto nella casa di hobbisti, negli studi di professionisti e in molte scuole, dove Arduino può diventare una grande risorsa didattica.

Sia il software che gli schemi hardware di Arduino sono distribuiti con licenza copyleft, anche se il nome e il logo sono registrati, quindi terzi ne possono usufruire gratuitamente per creare prodotti propri.

Stazione monitoraggio aria: i componenti

Per la costruzione della nostra stazione di monitoraggio dell’aria abbiamo usato i seguenti componenti:

  • Scheda ELEGOO Uno R3;
  • Sensore qualità dell’aria;
  • Scheda SD;
  • Modulo SD Writer/Reader;
  • Scheda di memoria SD;
  • Cavetti jumper per cablaggio;
  • Power bank.

Tutti questi componenti possono essere acquistati su Amazon: per comodità vi inserisco il per ogni prodotto. Io ho ritirato tutti i componenti – avendo una certa urgenza dato che dovevo costruire la stazione per un progetto scolastico – utilizzando Amazon Prime: nell’arco di due giorni ho ricevuto tutto!

  • NUOVO MIGLIORAMENTO: Stampa più chiara sui connettori femmina, il che li rende più precisi e più facili da usare.
  • Ora ELEGOO R3 Scheda utilizza il chip aggiornato invece dell’ ATMega8U2. E’ quindi più veloce nel trasferimento e ha più memoria.
  • È compatibile al 100% con la versione ufficiale di Arduino.
  • È il tuo aiutante a godersi la creazione pratica.
  • Noi abbiamo sempre cura dell’esperienza dei nostri clienti per migliorare i dettagli delle caratteristiche dei nostri prodotti.
  • Modulo sensore CO2 KEYESTUDIO per Arduino UNO, NANO, MEGA R3 2560. Il sensore di anidride carbonica CCS811, il sensore di qualità dell'aria della temperatura del modulo CO2 utilizza principalmente il chip CCS811B.
  • È un sensore di gas digitale in miniatura a bassissima potenza in grado di rilevare un'ampia gamma di composti organici volatili (TVOC), inclusi livelli equivalenti di anidride carbonica (eCO2) e ossido di metallo (MOX).
  • L'anidride carbonica equivalente (eCO2) viene misurata nell'intervallo da 400 a 8192 ppm (parti per milione) e vari composti organici volatili (TVOC) vanno da 0 a 1187 ppb (parti per miliardo).
  • Allo stesso tempo, il sensore è dotato di un termistore NTC 1% di precisione 10K, che può essere utilizzato per testare la temperatura specifica nell'ambiente.
  • Scarica tutorial: https://fs.keyestudio.com/KS0457
  • Con il modulo SD Card è possibile leggere e scrivere i dati sul vostro Arduino.
  • Grazie alle dimensioni compatte è possibile portare il modulo di scheda ovunque.
  • Le tensioni di ingresso sono adatte sia a 5 V che 3,3 V.
  • Il modulo SD Card si adatta tra l'altro al vostro Arduino o Raspberry Pi.
  • Contenuto della confezione: 5 moduli di lettura/scrittura per schede SD (SPI).

Per quanto riguarda il modulo SD reader/writer in questo progetto ho usato un modello diverso da quello presente nel progetto del sismografo, o in quello della stazione meteo: perché? Sia per una questione pratica ( non ne avevo più visto che quello arriva in una confezione da due pezzi) che per per fare un confronto tra i due .

Alla fine non è emersa nessuna differenza significativa, a parte che i moduli usati per questo progetto arrivano in una confezione da 5 pezzi mentre l’altro modello in una da 2 pezzi. Inoltre il modello usato per questo progetto ha più pin, ma i collegamenti da fare sono gli stessi dell’altro modello. Perciò uno vale l’altro!

Stazione monitoraggio aria: i collegamenti

I collegamenti da seguire per costruire la stazione di monitoraggio sono i segueni, schematizzati nelle seguenti tabelle:

Sensore acquisizione C02/TVOCMicrocontrollore ( scheda Elegoo)
VCC3.3 V
GNDGND
WAKEGND
SCLA5
SDAA4
Modulo SD writer/readerMicrocontrollore
VCC5V
CS10
MOSI11
CLK13
MISO12
collegamenti-stazione-monitoraggio-aria-arduino
Sketch dei collegamenti per la realizzazione della stazione di monitoraggo dell’aria
stazione-monitoraggio-aria-arduino
La stazione di monitoraggio dell’aria una volta assemblata
sensore-acquisizione-C02
Il sensore per l’acquisizione dei valori di C02 e TVOC
stazione-monitoraggio-aria-modulo-SD
Il modulo per la registrazione dei dati nella scheda SD

Il codice per il funzionamento della stazione di monitoraggio

Il codice da caricare sulla scheda Elegoo – e che permette il funzionamento della stazione di monitoraggio – è il seguente.

Prima di caricare il codice va installata la libreria “Adafruit_CCS811.h”, che fa funzionare il sensore che acquisisce i valori di CO2.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "Adafruit_CCS811.h"
#include <SPI.h>
#include <SD.h>

File myFile;

Adafruit_CCS811 ccs;
int CS_PIN = 10;                   //SD reader/writer PIN

int16_t CO2, TVOC;

unsigned long time;

//Scrivo l'header del file LOG.csv

void setup() {
  Serial.begin(9600);

  Serial.println("CCS811 test");

  if(!ccs.begin()){
    Serial.println("Failed to start sensor! Please check your wiring.");
    while(1);
  }

  // Wait for the sensor to be ready
  while(!ccs.available());

  Serial.print("Initializing SD card...");


  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");

  //Scrivo l'header del file LOG.csv

File file = SD.open("log.csv", FILE_WRITE);    
if (file)
  {
    String header = "CO2, TVOC, Time"; //These will be the headers for your excel file, CHANGE "" to whatevr headers you would like to use
    file.println(header);
    file.close();
    Serial.println(header);
  }

}

void loop() {

  char status;
  double T,P,p0,a;

 
  if(ccs.available()){
    if(!ccs.readData()){
      Serial.print("CO2: ");
      Serial.print(ccs.geteCO2());
      Serial.print("ppm, TVOC: ");
      Serial.println(ccs.getTVOC());
    }
    else{
      Serial.println("ERROR!");
      while(1);
    }
  }
  delay(500);

    int CO2 = ccs.geteCO2();
    int TVOC = ccs.getTVOC();
  //Time
time = millis();

//Scrivo i parametri nel file LOG.csv
File file = SD.open("log.csv", FILE_WRITE);
String parametri = String(CO2) + "," + String(TVOC) + "," + String(time);

  if (parametri)
  {
    file.println(parametri);
    file.close();
    //Serial.println(parametri);
  }
}

Una volta caricato questo codice nella scheda elegoo possiamo aprire il monitor seriale, così possiamo vedere come la stazione acquisisce in tempo reale i valori di CO2.

Il valori acquisiti vengono registrati in un file csv che può essere aperto con un foglio di calcolo ( Excel di Office, Calc di Libreoffice o Fogli di Google) e quindi rappresentare i dati attrverso un grafico.

Che cosa è l’anidride carbonica?

L’anidride carbonica (CO2) è un gas composto da 2 atomi di ossigeno e 1 atomo di carbonio e ha un peso specifico più alto dell’aria. L’anidride carbonica è indispensabile per la vita e per la fotosintesi delle piante, ma allo stesso tempo è la maggior responsabile dell’effetto serra.

Comments are closed.