( note that it works under 70% humidity depending on what weather conditions you have where you life)
The Nova SDS011 - also recommenced by the https://luftdaten.info/ project
Price: 17$
Official website: http://www.inovafitness.com/en/a/chanpinzhongxin/95.html
Buy from aliexpress: http://s.click.aliexpress.com/e/Nz5SXZBE
Connections for code:
-connect pin TXD on SDS011 to pin 2 in section (Digital PWM) on arduino (it will act as RX on arduino)
-connect pin RXD on SDS011 to pin 3 in section (Digital PWM) on arduino (it will act as TX on arduino)
-5v and gnd - same
Arduino Code: - it will print both to a i2c lcd display and serial console
#include "LiquidCrystal_I2C.h"
#include "SoftwareSerial.h"
SoftwareSerial mySerial(2, 3);
// Global Variables
static unsigned char buf[7], buffSDS[25];
unsigned int PM2_5,PM10=0;
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
// put your setup code here, to run once:
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.clear();
// Read SDS011 on Serial
mySerial.begin(9600); //
mySerial.setTimeout(200);
//mySerial.readBytesUntil(0xAB,buffSDS,20); // read serial until 0xAB Char received
// Serial Monitor
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
// Read SDS011
mySerial.readBytesUntil(0xAB,buffSDS,20);
// Serial monitor, print the HEX bytes received in buffSDS
//Serial.write(buffSDS,10);
for ( int8_t i=0; i<10 ; i=i+1 )
{
Serial.print( buffSDS[i],HEX);
Serial.print(" ");
}
Serial.println("");
PM2_5 = ((buffSDS[3]*256)+buffSDS[2])/10; // extract PM2.5 value
Serial.print("PM2.5: ");
Serial.println(PM2_5);
lcd.setCursor(0,0);
lcd.print("PM2.5: ");
lcd.print(PM2_5);
PM10 = ((buffSDS[5]*256)+buffSDS[4])/10; // extract PM10 value
Serial.print("PM10: ");
Serial.println(PM10);
lcd.print((char)228);
lcd.print("g/m3");
lcd.setCursor(0,1);
lcd.print("PM10: ");
lcd.print(PM10);
lcd.print((char)228);
lcd.print("g/m3");
delay(500);
}
The sensor has 8000 hours of usage and outputs data every second. In order to use it for longer time you have to use the sleep and wake up vis serial.
Use this library : https://github.com/ricki-z/SDS011
It also has support for hardware serial connection for the esp32 which does not have software serial.
It also has support for hardware serial connection for the esp32 which does not have software serial.
Check example in the library.
Plantower
Official website: http://www.plantower.com/en/content/?108.html
https://airly.eu/en/ - a project by Philips in witch they use the Plantower PMS5003
You can see the sensor and the insides of their sensor here:
https://www.youtube.com/watch?v=FREADCgdq2M
Plantower PMS5003
Buy the Plantower PMS5003 from aliexpress: http://s.click.aliexpress.com/e/tb2qOLXK
Price: 12-13$
Popular Pm monitors on the market and what sensors they use:
Laser Egg - uses Plantower PMS3003
AirVisual Node : proprietary PM sensorSenseAir S8 - for CO2
Additional resources:
http://aqicn.org/sensor/
https://www.mysensors.org/build/dust
Additional resources:
http://aqicn.org/sensor/
https://www.mysensors.org/build/dust
No comments:
Post a Comment