Tranzystor.pl – Vortal Elektroniczny

Analizator jakości powietrza wykorzystujący Arduino i Sensora SDS011 do pomiaru PM2,5 i PM10

Zanieczyszczenie powietrza jest poważnym problemem w wielu miastach, a wskaźnik jakości powietrza pogarsza się każdego dnia. Według raportu Światowej Organizacji Zdrowia więcej ludzi ginie przedwcześnie na skutek niebezpiecznych cząstek unoszących się w powietrzu niż w wypadkach samochodowych. Więc tym razem budujemy przenośne urządzenie do monitorowania jakości powietrza. Wcześniej już używaliśmy czujnika SDS011 z wykorzystaniem esp8266 jak i domoticzem.  Tym razem do budowy przenośnego analizatora wykorzystujemy Arduino oraz dane wyświetlimy na LCD OLED SSD1306 128X64 0,96 cala.

lcd oled i2c pm2. pm10

Potrzebne komponenty:

Potrzebne biblioteki:

Czujnik Nova PM SDS011

Sensora SDS011 pm2.5 pm10

Czujnik SDS011 to najnowszy czujnik jakości powietrza opracowany przez firmę Nova Fitness. Działa na zasadzie rozpraszania laserowego i może uzyskać informację na temat stężenie cząstek w powietrzu od 0,3 do 10 μm. Sam czujnik składa się z małego wentylatora, kanału wlotowego powietrza, diody laserowej oraz fotodiody. Powietrze wchodzi przez wlot powietrza, gdzie źródło światła (laser) oświetla cząstki, a rozproszone światło jest przekształcane w sygnał przez fotodetektor. Sygnały te są następnie wzmacniane i przetwarzane w celu uzyskania stężenia cząstek PM2,5 i PM10. Sam czujnik ma swoją niestety wytrzymałość u mnie wersja pracująca z Domoticzem padła po roku pomiarów, jednak nie mam co się czepiać skoro producent określa żywotność na 8000 roboczo godzin.

Parametry SDS010

 

Schemat połączeń:

Arduino Sensora SDS011Kod programu:

//Copyright © by swistak
//Wydawnictwo Tranzystor.pl
//https://www.tranzystor.pl/artykuly-i-schematy/arduino/analizator-jakosci-powietrza-wykorzystujacy-arduino-i-sensora-sds011-do-pomiaru-pm25-i-pm10.html
#include <SDS011.h>
#include <SPI.h>
#include <Adafruit_SSD1306.h>
float p10,p25;
int error;
SDS011 my_sds;
Adafruit_SSD1306 display(128, 64);
void setup() {
my_sds.begin(3,4);
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
error = my_sds.read(&p25,&p10);
if (! error) {
Serial.println("P2.5: "+String(p25));
Serial.println("P10: "+String(p10));
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,15);
display.println("PM2.5");
display.setCursor(66,15);
display.println(p25);
display.setCursor(0,40);
display.println("PM10");
display.setCursor(66,40);
display.println(p10);
display.display();
display.clearDisplay();
}
delay(1000);
}

Przykład wyników pomiaru PM2.5 oraz PM10

lcd oled i2c pm2. pm10

5/5 - (2 ocena/y)
Exit mobile version