Interfacing PMS5003 PM2.5 Air Quality Sensor with Arduino

文章推薦指數: 80 %
投票人數:10人

The interfacing of PMS5003 with Arduino is pretty easy. You just need 4 connections. Connect PIN1 VCC of PMS5003 to Arduino 5V Pin and PIN2 ... Share Facebook Twitter LinkedIn Pinterest Reddit Skype Messenger Messenger WhatsApp Telegram ShareviaEmail Print Inthistutorial,welearnhowtointerfacePMS5003PM2.5AirQualitySensorwithArduino.WewillmakeasimpleArduinoCodeandmeasurethedustparticleconcentrationintheairwithsizeandquantityforPM1.0,PM2.5,andPM10.PMS5003isakindofdigitalanduniversalparticleconcentrationsensor,whichcanbeusedtoobtainthenumberofsuspendedparticlesintheair,i.e.theconcentrationofparticles,andoutputofthemintheformofdigitalinterface. Checktheadvancedversionofthisprojecthere:IoTBasedAirPollution/QualityMonitoringwithESP8266 TableofContents1Overview2BillofMaterials3PMS5003AirQualitySensor3.1Overview3.2WorkingPrinciple3.3PM5003Pins4InterfacingPMS5003PM2.5AirQualitySensorwithArduino5SourceCode/Program6InterfacingPMS5003PM2.5AirQualitySensorwithArduino&LCDDsiplay7SourceCode/Program8VideoTutorial&Explanation Overview PM2.5andPM10refertoparticulatematterwithparticlediameterupto2.5micronsand10micronsrespectivelyandareamongthemostdangerousairpollutants.Duetotheirsmallsize,PM2.5particlescantraveldeepintothehumanlungandcauseavarietyofhealthissues;forinstance,bytriggeringasthmaattacksorcontributingtocardiovasculardisease. HighconcentrationsofdustorPMisaserioushealthconcern.PM2.5islessthan2.5micronsindiameter,andPM10islessthan10micronsindiameter.ThismeansaPM10reportincludesPM2.5aswell.Boththeseparticlesaremuchsmallerthanahumanhair,whichisabout70micronsinwidth. PM10:Operationssuchasstonecrushing,coalgrinding,rotarykilninginthecementindustry,anddustonroadstirredbymovingvehiclescanincreasePM10levels.PM10limitfor24-houraverageis150µg/m3. PM2.5:Thisisaresultoffineparticlesproducedfromalltypesofcombustion,includingmotorvehicles,thermalpowerplants,residentialwoodburning,forestfires,agriculturalburning,andotherindustrialprocesses.PM2.5limitfor24-houraverageis35µg/m3. SoformeasuringtheParticulateMattersizeofPM1.0,PM2.5&PM10weareusingPlantpowerPMS5003DustSensor.YoucanalsouseotherPlantpowerPMSx003SensorlikePMS1003,PMS3003,PMS5003,PMS6003&PMS7003.ThecodegivenbelowsupportsallthesemodelswithArduino. BillofMaterials Youneedtopurchasethefollowingcomponentsifyouwanttomakethisproject.AllthecomponentscanbesailypurchasedfromAmazon. S.N.ComponentsDescriptionQuantity 1ArduinoBoardArduinoUNOR3DevelopmentBoard1https://amzn.to/2YQk9yA 2PM2.5/PM10SensorPMS50031https://amzn.to/2ILUDll 3LCDDisplayJHD204A20X4LCDDisplay1https://amzn.to/2YPGe07 4Potentiometer10K1https://amzn.to/3bmnZ5c 5ConnectingWiresJumperWires10https://amzn.to/2L8Xc1p 6Breadboard-1https://amzn.to/2YM6YyS PMS5003AirQualitySensor Overview ThePlantowerPMS5003isalow-costlaserparticlecounter,oneofarangeofsensorsbyPlantowerthatalsoincludethePMS1003,PMS3003,andPMS7003.PMS5003isakindofdigitalanduniversalparticleconcentrationsensor,whichcanbeusedtoobtainthenumberofsuspendedparticlesintheair,i.e.theconcentrationofparticles,andoutputthemintheformofadigitalinterface.Thissensorcanbeinsertedintovariableinstrumentsrelatedtotheconcentrationofsuspendedparticlesintheairorotherenvironmentalimprovementequipmenttoprovidecorrectconcentrationdataintime. WorkingPrinciple Laserscatteringprincipleisusedforsuchsensor,i.e.producescatteringbyusingalasertoradiatesuspendingparticlesintheair,thencollectscatteringlightinacertaindegree,andfinallyobtainthecurveofscatteringlightchangewithtime.Intheend,equivalentparticlediameterandthenumberofparticleswithdifferentdiametersperunitvolumecanbecalculatedbymicroprocessor-basedonMIEtheory. PM5003Pins SomeofthePM2.5pinsarenumberedfromlefttorightas1,2,3……8.ButincaseofPM5003,thepinsarenamedfromrighttoleft.BecarefulwhileconnectingPM5003pinsasyoumightconnectitreversely. Pin Function Description Remarks 1 VCC Supplyvoltage5V 4.5–5.5V 2 GND Ground 3 SET HIGHorSUSPENDED–workmode LOW–sleepmode 3.3Vlogic 4 RXD UART/TTLdatarecieve 3.3Vlogic 5 TXD UART/TTLdatatransmit 3.3Vlogic 6 Reset LOWtoreset 3.3Vlogic 7 NC Notconnected 8 NC Notconnected SomeofthePMSx003Sensorscomeswithconnectorslikeshownbelow: Incaseifyoudon’thavetheconnectorwithyou,thensimplyyoucancuttheconnectorwiththescissorsandsolderthehardwirethatcanbeinsertedeasilyonArduinoBoardorbreadboard. InterfacingPMS5003PM2.5AirQualitySensorwithArduino TheinterfacingofPMS5003withArduinoisprettyeasy.Youjustneed4connections.ConnectPIN1VCCofPMS5003toArduino5VPinandPIN2GNDtoGNDofArduino.TheUARTPin,i.ePIN4Rx&PIN5TxisconnectedtoArduinopin3&4respectivelyasshowninthefigurebelow. ThePlantowersensorsoutputserialdataat9600baudthatcanbereadbymanycomputersandcanbeconnectedtoaPCviaaUSBadaptorsuchasthisUSB2.0toTTLUARTSerialConverterCP2102. SourceCode/Program ThesourcecodeforinterfacingPM2.5PMS5003withArduinoisgivenbelow.SimplycopythecodeanduploadtotheArduinoUNOBoard. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 #includeSoftwareSerialpmsSerial(2,3); voidsetup(){  //ourdebuggingoutput  Serial.begin(115200);   //sensorbaudrateis9600  pmsSerial.begin(9600);} structpms5003data{  uint16_tframelen;  uint16_tpm10_standard,pm25_standard,pm100_standard;  uint16_tpm10_env,pm25_env,pm100_env;  uint16_tparticles_03um,particles_05um,particles_10um,particles_25um,particles_50um,particles_100um;  uint16_tunused;  uint16_tchecksum;}; structpms5003datadata;    voidloop(){  if(readPMSdata(&pmsSerial)){    //readingdatawassuccessful!    Serial.println();    Serial.println("---------------------------------------");    Serial.println("ConcentrationUnits(standard)");    Serial.print("PM1.0:");Serial.print(data.pm10_standard);    Serial.print("\t\tPM2.5:");Serial.print(data.pm25_standard);    Serial.print("\t\tPM10:");Serial.println(data.pm100_standard);    Serial.println("---------------------------------------");    Serial.println("ConcentrationUnits(environmental)");    Serial.print("PM1.0:");Serial.print(data.pm10_env);    Serial.print("\t\tPM2.5:");Serial.print(data.pm25_env);    Serial.print("\t\tPM10:");Serial.println(data.pm100_env);    Serial.println("---------------------------------------");    Serial.print("Particles>0.3um/0.1Lair:");Serial.println(data.particles_03um);    Serial.print("Particles>0.5um/0.1Lair:");Serial.println(data.particles_05um);    Serial.print("Particles>1.0um/0.1Lair:");Serial.println(data.particles_10um);    Serial.print("Particles>2.5um/0.1Lair:");Serial.println(data.particles_25um);    Serial.print("Particles>5.0um/0.1Lair:");Serial.println(data.particles_50um);    Serial.print("Particles>10.0um/0.1Lair:");Serial.println(data.particles_100um);    Serial.println("---------------------------------------");  }} booleanreadPMSdata(Stream*s){  if(!s->available()){    returnfalse;  }    //Readabyteatatimeuntilwegettothespecial'0x42'start-byte  if(s->peek()!=0x42){    s->read();    returnfalse;  }   //Nowreadall32bytes  if(s->available()<32){    returnfalse;  }      uint8_tbuffer[32];      uint16_tsum=0;  s->readBytes(buffer,32);   //getchecksumready  for(uint8_ti=0;i<30;i++){    sum+=buffer[i];  }   /*debugging  for(uint8_ti=2;i<32;i++){    Serial.print("0x");Serial.print(buffer[i],HEX);Serial.print(",");  }  Serial.println();  */    //Thedatacomesinendian'd,thissolvesitsoitworksonallplatforms  uint16_tbuffer_u16[15];  for(uint8_ti=0;i<15;i++){    buffer_u16[i]=buffer[2+i*2+1];    buffer_u16[i]+=(buffer[2+i*2]<<8);  }   //putitintoanicestruct:)  memcpy((void*)&data,(void*)buffer_u16,30);   if(sum!=data.checksum){    Serial.println("Checksumfailure");    returnfalse;  }  //success!  returntrue;} Oncethecodeisuploaded,youcanopentheserialmonitorandsetthebaudrateto9600.Youwillseethesensorstartcollectingthedata.Thesensorwillstartgivingthecorrectvalueafter30Secondsasitrequirestosometimestogetwarm. InterfacingPMS5003PM2.5AirQualitySensorwithArduino&LCDDsiplay TheinterfacingofPMS5003withArduinoandLCDDisplayisprettyeasy.Youjustneed4connections.ConnectPIN1VCCofPMS5003toArduino5VPinandPIN2GNDtoGNDofArduino.TheUARTPin,i.ePIN4Rx&PIN5TxisconnectedtoArduinopin3&4respectivelyasshowninthefigurebelow.For20x4LCDDisplay,connectpin1,3,16toGND&2,15toVCC5V.Connectpin4,6,11,12,13,14ofLCDtoArduino13,12,11,10,9,8Pin.Connect10Kpotentiometeratpin3ofLCDtoadjustthecontrast. SourceCode/Program ThesourcecodeforinterfacingPM2.5PMS5003AirQualitySensorwithArduinoandLCDDisplayisgivenbelow.SimplycopythecodeanduploadtotheArduinoUNOBoard. ButbeforethatyouneedtoaddthelibraryforPMS5003Sensor.Sosimplyinstallthefollowinglibraryfromthelibrarymanager. 12345678910111213141516171819202122232425262728293031323334353637 #include"PMS.h"#include"SoftwareSerial.h"#includeLiquidCrystallcd(13,12,11,10,9,8); SoftwareSerialSerial1(2,3);//RX,TX PMSpms(Serial1);PMS::DATAdata; voidsetup(){  Serial1.begin(9600);  lcd.begin(20,4);  lcd.setCursor(0,0);  lcd.print("Warmingup");  delay(4000);  lcd.clear();} voidloop(){  if(pms.read(data))  {    lcd.clear();    lcd.setCursor(0,0);    lcd.print("DustConcentration");    lcd.setCursor(0,1);    lcd.print("PM1.0:"+String(data.PM_AE_UG_1_0)+"(ug/m3)");    lcd.setCursor(0,2);    lcd.print("PM2.5:"+String(data.PM_AE_UG_2_5)+"(ug/m3)");    lcd.setCursor(0,3);    lcd.print("PM10  :"+String(data.PM_AE_UG_10_0)+"(ug/m3)");        delay(1000);  }} VideoTutorial&Explanation PM2.5AirQuality/DustSensor&ArduinoInterfacingtutorialwithPMS5003WatchthisvideoonYouTube. AdminLastUpdated:March26,20213513,6904minutesread Share Facebook Twitter LinkedIn Pinterest Reddit Skype Messenger Messenger WhatsApp Telegram ShareviaEmail Print Share Facebook Twitter LinkedIn Pinterest Reddit VKontakte Skype Messenger Messenger WhatsApp Telegram ShareviaEmail Print RelatedArticles PasswordBasedDoorLockSecuritySystemUsingArduino&Keypad May17,2019 HowtouseTM16374-digit7-segmentLEDdisplaywithArduino September3,2021 InterfacingMultipleDS18B20TemperatureSensorstoMicrocontroller January15,2019 BlindWalkingStickUsingArduino&UltrasonicSensorHC-SR04 July21,2019 35Comments Hello, I’mtryingtousethistutorialwithasimilarsensor(YEETCCP-15-A4-CG)andI2C-LCDscreen.Theproblemisthatthevaluesarealwaysdownto0,doyouknowifthereisanyothersimilartutorialformyspecificsensor.I’vetriedlookingforitontheinternetbutdidn’tfoundit… Icansendyouthecomputercode,thecomponents,andhowiconnectthecomponentsifyouthinkyouwillbeabletodirectlyhelpme. Yourssincerely Loading... Reply Makesureyoursensorisgetting5Vpowersupply.Thesensorrequireshighcurrenttoo. Isuggestyoutocheckoncebygiving5Vsupplyfromexternaladapter. Loading... Reply HiAlex,triedthiswithnewerPMS7003sensorandgettingstrangeresults,mostare10XovervaluesfromPM5003.Ihaveadjustedpinstomatch5003andsoftwareisthesame.Doyouhaveanyexperiencewiththe7003?Thanks! Loading... Reply Sendme1sampleofpms7003toindiaifyouhavemultiplesensor.Iwilldothecodingandletyouknow. Loading... Reply Canyoutellmewhatarethedifferencesbetweenstandardandenvironmentvalues andwhatdoes“Particles>2.5um/0.1Lair:xx”mean? thankyou Loading... Reply Hi, WhenIrunthiscodebyitself,itworksfine.However,whenIcombinethiscodewithothersensorsandbreakoutboards(e.g.BME280,SDcardetc.)Ihaveachecksumfailureapprox.every5seconds.Pleasecouldyousuggestanyproblemswiththis? Manythanks. Loading... Reply Pleaseremovethedelayifyouareusinganydelayfunctioninthecode.Iwashavingthesameissue. Loading... Reply Howcanwecheckifthesensorisconnected?IfnotIwouldliketoprintmessageonLCD. Loading... Reply Fortheconcentrationvalues,itstatesthattheyarestandardandenvironmental.Isthereaspecificunitfortheconcentrationvalues?Thanks. Loading... Reply microgrampercentimetercube.YouaremeasuringthePMconcentrationperunitvolume. Loading... Reply ihavethesameproblem,illaddexternal5vandvaluesonmyarduinoleonardoarezeros:/ Loading... Reply Igetachecksumerror,anysuggestions? Loading... Reply Cananyoneprovideamorein-depthexplanationofconnectingandinterfacingtheLCD+Breadboard+Arduino.Itisveryhardtofollowtheprovidedpictureandthevideoglancesoverthatpartoftheprocess. Thankyouinadvance. Loading... Reply Ihaveaproblemwiththecode.Itcan’trun. “‘data’wasnotdeclaredinthisscope” Loading... Reply Hello, Thankyoufortheproject;actually,Iamnewtoarduino,soIdon’tunderstandmostofthepartrelatedto“Checksum”.But,IwasabletouseyourcodeandacquiredatafromthePlantowersensor. But,IwouldliketoalsoconnectanotherPMsensor:ShinyeiPD42NSalongwiththePlantower,tomyArduino.WhenIamtryingtodothisIamnotabletoacquiredatafromPlantower.Canyoukindlyhelpmewiththis. Thanks VineethR Loading... Reply Heybro, Yourprojectlooksverygood.IhavegonethroughitandIdidn’tunderstandhowyouconvertedthenumberofsuspendedparticlestoweight.Canyoupleaseexplainthat.Didyoumultiplyitwithdensityconsideringalltheparticlesareinsphericalshape.? thanksinadvancebro. Loading... Reply hello,pleaze!!Iimnoob,anddon’tunderstandthisatall,canyoutellmehowtomake1relayturnonwhen70-100ppmparticlesaredetected,andthesecondrelayturnsonat100-150ppm? Loading... Reply Hi, YourcodeworksverynicewithanArduinoUnoorNano.ButonaMegaitdoesn’twork.DoyouhaveasolutionfortheMega?Thanksforyourtime Loading... Reply WhenIopentheserialmonitor,allIseeisabunchofrandomlookingsymbols.Theylooklikethis: K⸮⸮X[-⸮dT[⸮⸮⸮⸮⸮l⸮⸮ڣ⸮(|⸮⸮XG⸮Λ⸮,⸮⸮⸮[email protected]⸮⸮⸮K⸮l⸮⸮(ۛ⸮4>⸮Q⸮A⸮⸮k⸮⸮\’ 7⸮p⸮ۛ⸮Kٛi⸮A⸮ۛX5=I(⸮K⸮K⸮⸮⸮⸮[F⸮⸮⸮⸮,⸮⸮l[-⸮dT[⸮⸮⸮⸮⸮l⸮⸮ڣ⸮(|⸮⸮XG⸮Λ⸮,⸮⸮⸮[email protected]⸮⸮⸮K⸮l⸮⸮(ۛ⸮4>⸮Q⸮A⸮⸮k⸮⸮\’ 7⸮p⸮ۛ⸮Kٛi⸮A⸮ۛX5=I(⸮K⸮K⸮⸮⸮⸮[F⸮⸮⸮⸮,⸮⸮llқڣel⸮⸮X⸮Cl⸮⸮T⸮dZ; ⸮!ЂDD⸮ٛ⸮K⸮⸮\؛⸮⸮⸮=P(⸮K⸮K⸮⸮⸮⸮[F⸮⸮⸮⸮⸮,⸮⸮l⸮K⸮⸮⸮H⸮⸮⸮l⸮.IZ⸮⸮k*ɂ\”⸮⸮⸮Z⸮p⸮ۛ⸮⸮⸮l5⸮J)⸮ٛH8Z⸮⸮)⸮ۛ4⸮⸮fb!⸮d⸮⸮[email protected]ۛ⸮l⸮⸮$⸮”X Canyouhelpme?Whatishapping? Loading... Reply Checkthebaudrate. Loading... Reply italsoworksonMegabutondifferentPINs.HaveacloserlookonSoftwareSerial-Library.I’musingA10andA11,anditworksfineforme. Loading... Reply IguessthedifferencebetweenstandardandenvironmentisthatstandardisanormedvaluelikeICAOstandardatmosphere(15°C,1013,25hPa,…)Standardvalueisinterestingbecauseyoucancomparetwoormorevaluesondifferentplaces. Loading... Reply Anyclueonwhyarduinoisnotgettinganydatafromthesensor?Icanhearthesensorrunning,butitdoesn’tcommunicateanydatatothearduino Loading... Reply Isthereanywaytosavethedatainacsvinsteadofjustprintingit? Loading... Reply HelloAllam, Thankyouverymuchforthisproject,Iamtryingtobuildamultisensorairqualitymeter,Iusedyourexampleandnowitisdesplayingonly0,OthersensorsSCD30andBMP80areworkingcorrectly ImaanewbieonArduiinosoyourhelpismuchappreciated,hereismycode: //SCD30+bmp280+pms #include #include SoftwareSerialpmsSerial(2,3); Adafruit_SCD30scd30; #include #include #include #defineBMP_SCK(13) #defineBMP_MISO(12) #defineBMP_MOSI(11) #defineBMP_CS(10;) Adafruit_BMP280bmp;//I2C voidsetup(void){ Serial.begin(115200); while(!Serial)delay(10); Serial.println(“AdafruitSCD30,BMP280Ypms”); //Trytoinitialize! if(!bmp.begin()){ Serial.println(F(“CouldnotfindavalidBMP280sensor,checkwiring!”)); while(1); } if(!scd30.begin()){ Serial.println(“FailedtofindSCD30chip”); while(1){ delay(10); } if(!scd30.startContinuousMeasurement()){ Serial.println(“Failedtosetambientpressureoffset”); while(1){ delay(10); } } Serial.print(“Ambientpressureoffset:“); Serial.print(scd30.getAmbientPressureOffset()); Serial.println(”mBar”); } Serial.println(“SCD30Found!”); //if(!scd30.setMeasurementInterval(10)){ //Serial.println(“Failedtosetmeasurementinterval”); //while(1){delay(10);} //} Serial.print(“MeasurementInterval:“); Serial.print(scd30.getMeasurementInterval()); Serial.println(”seconds”); }; structpms5003data{ uint16_tframelen; uint16_tpm10_standard,pm25_standard,pm100_standard; uint16_tpm10_env,pm25_env,pm100_env; uint16_tparticles_03um,particles_05um,particles_10um,particles_25um,particles_50um,particles_100um; uint16_tunused; uint16_tchecksum; }; structpms5003datadata; voidloop(){ if(scd30.dataReady()){ Serial.println(“Dataavailable!”); scd30.startContinuousMeasurement(bmp.readPressure()/100); 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 if(!scd30.read()){  Serial.println("Errorreadingsensordata");  return;}Serial.println("---------------------------------------");Serial.print("SCD30Temperature:");Serial.print(scd30.temperature);Serial.println("degreesC");Serial.print(F("BMP280Temperature="));Serial.print(bmp.readTemperature());Serial.println("*C");Serial.print("RelativeHumidity:");Serial.print(scd30.relative_humidity);Serial.println("%");Serial.print(F("Pressure="));Serial.print(bmp.readPressure()/100);Serial.println("mBar");Serial.print("CO2:");Serial.print(scd30.CO2,3);Serial.println("ppm");Serial.print(F("Approxaltitude="));Serial.print(bmp.readAltitude(1013.25));/*Adjustedtolocalforecast!*/Serial.println("m");Serial.print(scd30.getAmbientPressureOffset());Serial.println("mBar");Serial.println("ConcentrationUnits(standard)");Serial.print("PM1.0:");Serial.print(data.pm10_standard);Serial.print("\t\tPM2.5:");Serial.print(data.pm25_standard);Serial.print("\t\tPM10:");Serial.println(data.pm100_standard);Serial.println("ConcentrationUnits(environmental)");Serial.print("PM1.0:");Serial.print(data.pm10_env);Serial.print("\t\tPM2.5:");Serial.print(data.pm25_env);Serial.print("\t\tPM10:");Serial.println(data.pm100_env);Serial.print("Particles>0.3um/0.1Lair:");Serial.println(data.particles_03um);Serial.print("Particles>0.5um/0.1Lair:");Serial.println(data.particles_05um);Serial.print("Particles>1.0um/0.1Lair:");Serial.println(data.particles_10um);Serial.print("Particles>2.5um/0.1Lair:");Serial.println(data.particles_25um);Serial.print("Particles>5.0um/0.1Lair:");Serial.println(data.particles_50um);Serial.print("Particles>10.0um/0.1Lair:");Serial.println(data.particles_100um);Serial.println("---------------------------------------");  } } booleanreadPMSdata(Stream*s){ if(!s->available()){ returnfalse; } //Readabyteatatimeuntilwegettothespecial‘0x42’start-byte if(s->peek()!=0x42){ s->read(); returnfalse; } //Nowreadall32bytes if(s->available()<32){ returnfalse; } uint8_tbuffer[32]; uint16_tsum=0; s->readBytes(buffer,32); //getchecksumready for(uint8_ti=0;i<30;i++){ sum+=buffer[i]; } /*debugging for(uint8_ti=2;i<32;i++){ Serial.print(“0x”);Serial.print(buffer[i],HEX);Serial.print(“,“); } Serial.println(); */ //Thedatacomesinendian’d,thissolvesitsoitworksonallplatforms uint16_tbuffer_u16[15]; for(uint8_ti=0;i<15;i++){ buffer_u16[i]=buffer[2+i2+1]; buffer_u16[i]+=(buffer[2+i2]<<8); } //putitintoanicestruct🙂 memcpy((void*)&data,(void*)buffer_u16,30); if(sum!=data.checksum){ Serial.println(“Checksumfailure”); returnfalse; } //success! returntrue; delay(2000); };/* */ Heresiswhatthemonitorisshowing: 21:29:07.706->Dataavailable! 21:29:07.706->————————————— 21:29:07.706->SCD30Temperature:25.69degreesC 21:29:07.706->BMP280Temperature=24.28*C 21:29:07.706->RelativeHumidity:29.17% 21:29:07.706->Pressure=782.88mBar 21:29:07.706->CO2:1237.405ppm 21:29:07.706->Approxaltitude=2123.39m 21:29:07.706->782mBar 21:29:07.706->ConcentrationUnits(standard) 21:29:07.706->PM1.0:0PM2.5:0PM10:0 21:29:07.706->ConcentrationUnits(environmental) 21:29:07.706->PM1.0:0PM2.5:0PM10:0 21:29:07.706->Particles>0.3um/0.1Lair:0 21:29:07.706->Particles>0.5um/0.1Lair:0 21:29:07.753->Particles>1.0um/0.1Lair:0 21:29:07.753->Particles>2.5um/0.1Lair:0 21:29:07.753->Particles>5.0um/0.1Lair:0 21:29:07.753->Particles>10.0um/0.1Lair:0 21:29:07.753->————————————— Loading... Reply Ihadthesameproblem.Youhavetoput115200baudlikeinthescreenshotandNOT9600. Loading... Reply Hi.Didyoujustchangeitinthecodehere? #include SoftwareSerialpmsSerial(2,3); voidsetup(){ //ourdebuggingoutput Serial.begin(115200); //sensorbaudrateis9600 pmsSerial.begin(9600); } Loading... Reply SirIamtryingthesamecodeusingsamesensorandsamepinconnectionbuticouldn’tseenanyvalueoranythingonscreenIalsochangebodeplotratebutcouldn’tgetanyvalue Loading... Reply SiriusedA10A11butcouldn’tseenanyvalueforArduinomegaalsousedigitalbutsameproblemwhaticoulddo Loading... Reply NotallthepinsofArduinomegacanbeusedassoftwareserial.Youcanonlyusethosepinswhichacceptsinterrupt.ChecktheArduinoMegadocumentationtofindoutwhichpinsupportsSoftwareSerialcommand. Loading... Reply couldsomeonesendmethecodewiththei2cplease Loading... Reply Thanksforthetutorial.supersimpleandeasytofollow. IusetheEXP8266andlikemanyothers,gotnothing…… whatIASSUMEDistouseTX/DXofthemicrocontrollerandnotregulardigitaloutputpins. then,IgotthatX[-⸮dT[⸮⸮⸮⸮⸮l⸮⸮ڣ⸮(|⸮nonsense…… changedthebaudrateontheterminalto112500,anditworkedperfectly! asanote,IIamusingthe5voutputoftheESP8266,butIdonotknowifthathasenoughpowertodothatsafely. Ichangedto:SoftwareSerialpmsSerial(D5,D6); Thankyouagainforthegreattutorial Loading... Reply Iwassuccessfulinfollowingthistutorial.thanks,itwasverywelldoneandeasytofollow. Idohaveacoupleofquestions. therearethreesectionsintheserialdisplay data.pm10_standard and data.pm10_en and data.particles_10um eachoutputsadifferentvalue.Idon’tunderstandthedifferencesandwhytheyarealldifferent. Loading... Reply hi,thisSKfromwestbengal siriamusingthiscodeformmyprojectonmyPMSA003-CPlantowerSensoritshowingnothingpleasehelpme Loading... Reply hi,thisSKfromwestbengal siriamusingthiscodeformmyprojectonmyPMSA003-CPlantowerSensoritshowingnothingpleasehelpme Loading... Reply AskAQuestion.......Cancelreply PopularRecent IoTBasedPatientHealthMonitoringusingESP8266&Arduino June11,2019 InterfacingMAX30100PulseOximeterSensorwithArduino December18,2019 PasswordBasedDoorLockSecuritySystemUsingArduino&Keypad May17,2019 IoTBasedElectricityEnergyMeterusingESP32&Blynk November30,2020 InterfaceCapacitiveSoilMoistureSensorv1.2withArduino November11,2019 ECGGraphMonitoringwithAD8232ECGSensor&Arduino March7,2019 MeasureSoilNutrientusingArduino&SoilNPKSensor November21,2020 TemperatureBasedFanSpeedControl&MonitoringWithArduino June23,2019 Geo-fencewithGPSModule&NodeMCUESP8266 December16,2021 AquariumWaterQualityMonitorwithTDSSensor&ESP32 December9,2021 DIYIoTWaterpHMeterusingpHSensor&ESP32 December5,2021 CreateBluetoothLowEnergyProjectusingArduino&BleuIO December2,2021 Barcode+QRCodeReaderusingArduino&QRScannerModule November30,2021 ShenzhenHuaqiuElectronicsApproachforupgradingElectronicsIndustry November28,2021 IndustrialProductCounterusingESP32CAM&OpenCV November26,2021 DIYAICamerawithGoogleVision&ESP32CAMModule November22,2021 RecentPosts AquariumWaterQualityMonitorwithTDSSensor&ESP32 December9,2021 DIYIoTWaterpHMeterusingpHSensor&ESP32 December5,2021 CreateBluetoothLowEnergyProjectusingArduino&BleuIO December2,2021 Barcode+QRCodeReaderusingArduino&QRScannerModule November30,2021 ShenzhenHuaqiuElectronicsApproachforupgradingElectronicsIndustry November28,2021 IndustrialProductCounterusingESP32CAM&OpenCV November26,2021 Categories 555TimerProjects(11) ArduinoProjects(131) Articles(16) BLEProjects(10) ElectronicsCircuits(21) ESP32MicroPython(7) ESP32Projects(32) ESP32-CAMProjects(9) ESP8266Projects(56) IoTProjects(94) LoRaProjects(12) MicrocontrollerProjects(6) MicroPython(9) Op-AmpCircuits(5) PowerElectronics(14) RaspberryPiPico(8) STM32Projects(15) Facebook Twitter LinkedIn Messenger Messenger WhatsApp Telegram Backtotopbutton Close Searchfor: FacebookTwitterPinterestYouTubeInstagram Close Searchfor   LoadingComments...   WriteaComment... Email(Required) Name(Required) Website %dbloggerslikethis:



請為這篇文章評分?