Examples
pm25_basic¶
#include <pm25.h> #include <SoftwareSerial.h> SoftwareSerial pm25_ser(8, 9); void PM25_listen(){ if(!pm25_ser.isListening()){ Serial.println(F("[PM25] >> Listening")); pm25_ser.listen(); } } void setup() { // put your setup code here, to run once: Serial.begin(9600); pm25_ser.begin(9600); // set uart for pm25, and uart for debug // set listen function if one or more SoftwareSerials are used PM25.init(&pm25_ser, &Serial, PM25_listen); } void loop() { // put your main code here, to run repeatedly: // update values at every 5s interval uint16_t val = PM25.read(); Serial.print(F("PM2.5 val: ")); Serial.print(val); Serial.println(F(" ug/m3")); delay(5000); }
pm25_with_autoSend¶
#include <pm25.h> #include <SoftwareSerial.h> SoftwareSerial pm25_ser(8, 9); void PM25_listen(){ if(!pm25_ser.isListening()){ Serial.println(F("[PM25] >> Listening")); pm25_ser.listen(); } } void setup() { // put your setup code here, to run once: Serial.begin(9600); pm25_ser.begin(9600); // set uart for pm25, and uart for debug // set listen function if one or more SoftwareSerials are used PM25.init(&pm25_ser, &Serial, PM25_listen); // enable auto send, allows auto sampling at 1s interval PM25.enableAutoSend(); } void loop() { // put your main code here, to run repeatedly: // loop() return true if values for PM25 is successfully updated if(PM25.loop()){ Serial.print("PM2.5 val: "); Serial.print(PM25.get()); Serial.println(" ug/m3"); } }