Vai al contenuto

Misurazione dell’inquinamento con Arduino e sensore di particolato PM10

Scritto da:

carlopeluso

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
Il sensore PMS5003

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:

Schema di collegamento
Per ovviare all’acquisto di una breakout board , ho saldato i pin su una striscia di headers per arduino

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) .

Il funzionamento del sensore

Puoi anche visualizzare un grafico delle ultime N catture aprendo il Plotter Seriale di Arduino, molto comodo per leggere lo storico delle misurazioni:

VERDE PM10, ROSSO PM2.5, BLU PM1
Un test per verificare il sensore: il picco corrisponde al fumo di un filo di stagno bruciato. Il sensore ha rilevato 600 mg/m3 di particolato.

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.

Articolo precedente

Una web app per gestire le videoproiezioni di un evento TEDx