poniedziałek, 9 grudnia
Shadow

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:

  • Arduino UNO / Nano
  • Czujnik Nova PM SDS011
  • 0,96 'moduł wyświetlacza SSD1306 128X64 0,96 cala.
  • przewody do połączenia wszystkiego

Potrzebne biblioteki:

  • biblioteka Adafruit_SSD1306.h dodaje nam obsługę wyświetlacza SSD1306,
  • biblioteka SDS011.h do obsługi czujnika SDS011

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

  • Typ pomiarów: PM2.5, PM10
  • Zakres pomiarów: 0 – 999.9 μg /m³
  • Napięcie zasilania: 5V (4.7 – 5.3V)
  • Pobór prądu (praca): 70mA±10mA
  • Pobór prądu (uśpienie lasera i wentylatora): < 4mA
  • Temperatura przechowywania: -20 – +60C
  • Temperatura pracy: do -10 do +50C
  • Wilgotność (przechowywanie): Maks. 90%
  • Wilgotność (praca): Maks. 70% (kondensacja pary wodnej fałszuje odczyty i to znacznie)
  • Dokładność pomiaru:
    • 70% dla 0.3μm
    • 98% dla 0.5μm

 

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)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.