Czujnik pyłu zawieszonego SDS011
Układ SDS011 pozwala na pomiar czystości powiertrza poprzez pomiar PM2.5, PM10. Czujnik zawiera w sobie wentylator do pobierania badanego powietrza oraz laser, który monitoruje środowisko w czasie rzeczywistym.
Parametry SDS011
Napięcie zasilania: 5V
Dokładność pomiaru: 5%
Maksymalny pobierany prąd: 220mA
Prąd spoczynkowy: 2mA
Sposób komunikacji: UART lub PWM
Rozkład pinów
Numer | Nazwa | Opis |
1 | CTL | Pin kontrolny |
2 | 1UM | Pomiar PM2.5, PWM |
3 | 5V | Zasilanie 5V |
4 | 25UM | Pomiar PM10, PWM |
5 | GND | Masa |
6 | R | RX UART TTL |
7 | T | TX UART TTL |
Podłączenie do Arduino
Pin 3 podłączamy do zasilania 5V od Arduino, pin 5 do masy. Pin 6 z czujnika SDS011 podłączamy do pinu TX od Arduino, a pin 7 odpowiednio do pinu RX na płytce Arduino.
Uwaga. Konieczne jest zastosowanie konwertera poziomów logicznych 3.3/5V, gdyż musimy pamiętać że czujnik używa poziomów TTL 3.3V do komunikacji.
Biblioteka do obsługi czujnika: https://github.com/ricki-z/SDS011
Poniższy program odczytuje dane z SDS011 i wypisuje informacje o zawartości pyłu PM2.5 oraz PM10 na port szeregowy.
#include <SDS011.h> float p10,p25; int error; SDS011 my_sds; void setup() { my_sds.begin(D1,D2); Serial.begin(9600); } void loop() { error = my_sds.read(&p25,&p10); if (! error) { Serial.println("P2.5: "+String(p25)); Serial.println("P10: "+String(p10)); } delay(100); }