Misurazione dell’inquinamento con Arduino e sensore di particolato PM10
Oggi voglio condividere con voi il mio primo tentativo di misurazione dell’inquinamento atmosferico di Torino tramite Arduino ed un sensore di particolato. Il progetto si è rivelato molto semplice, dal momento che il sensore che ho usato non prevede nessuna circuitazione esterna (quindi della serie “collega e leggi il valore”).
Requisiti
- Arduino (se non lo conosci, comincia da qui). Nel mio caso ho utilizzato un modello vecchio di Arduino Leonardo
- Sensore PMS5003, link d’acquisto
- Cavi Jumper link d’acquisto
- Saldatore, cavo di alimentazione ed altri accessori utili al progetto
Hardware
Il cablaggio del sensore è molto semplice, basta individuare il pin 1 dal retro del sensore come spiegato nella figura e collegare solo 4 degli 8 pin-out del sensore:
Software
Una volta collegato il tutto ed acceso Arduino, il sensore comincerà ad emettere un rumore interno dato dall’accensione della ventolina.
Non ci resta che caricare il software su Arduino tramite l’IDE ufficiale. E’ necessario installare la libreria PMS.
include "PMS.h"
include "SoftwareSerial.h"
SoftwareSerial pmsSerial(8, 9); // RX, TX
PMS pms(pmsSerial);
PMS::DATA data;
void setup()
{
pmsSerial.begin(9600);
Serial.println("Pronto.");
delay(4000);
}
void loop()
{
if (pms.read(data))
{
Serial.print(String(data.PM_AE_UG_1_0) + "\t");
Serial.print(String(data.PM_AE_UG_2_5) + "\t");
Serial.print(String(data.PM_AE_UG_10_0));
Serial.println();
delay(1000);
}
}
Risultato
Il sensore comincerà a catturare i dati provenienti dalla lettura ottica come riassunto nell’immagine (credits How to mechatronics) .
Puoi anche visualizzare un grafico delle ultime N catture aprendo il Plotter Seriale di Arduino, molto comodo per leggere lo storico delle misurazioni:
Prossimi passi
Non ho approfondito la veridicità della lettura del sensore, ma i dati di PM10 sembrano essere coerenti con i valori presi dal sito dell’ARPA Piemonte. Prossimamente mi accingerò a fare una verifica piu approfondita delle oscillazioni che ho riscontrato.