Ks0196 keyestudio PM2.5 Shield: Difference between revisions
Keyestudio (talk | contribs) No edit summary |
Keyestudio (talk | contribs) No edit summary |
||
Line 26: | Line 26: | ||
==Sample Code== | ==Sample Code== | ||
Project 1: The following are sample codes | Project 1: The following are sample codes shown by official; when using ,just modify a little according to the codes.<br> | ||
<pre> | <pre> | ||
//pressing nothing to display value of analog revolving potentiometer | //pressing nothing to display value of analog revolving potentiometer | ||
Line 107: | Line 107: | ||
==Result== | ==Result== | ||
Result of Project 1 | Result of Project 1 shown as follows.<br> | ||
<br>[[File:ks0196-3.png|500px|frameless|thumb]]<br> | <br>[[File:ks0196-3.png|500px|frameless|thumb]]<br> | ||
Result of Project 2: Open serial monitor, | |||
Result of Project 2: Open serial monitor, displayed as follows.<br> | |||
<br>[[File:ks0196-4.png|500px|frameless|thumb]]<br> | <br>[[File:ks0196-4.png|500px|frameless|thumb]]<br> | ||
Data compared to air quality:<br> | Data compared to air quality:<br> | ||
3000 + = Very Bad <br> | 3000 + = Very Bad <br> | ||
Line 118: | Line 120: | ||
75-150 = Very Good <br> | 75-150 = Very Good <br> | ||
0-75 = Tiptop<br> | 0-75 = Tiptop<br> | ||
== Documents == | |||
'''PDF:''' | |||
'''Download the Libraries:''' | |||
==Get One Now == | ==Get One Now == | ||
Line 123: | Line 130: | ||
http://www.keyestudio.com/ks0196-keyestudio-pm2-5-shield.html | http://www.keyestudio.com/ks0196-keyestudio-pm2-5-shield.html | ||
[[Category: | [[Category: Shield]] |
Revision as of 14:23, 30 September 2017
KS0196 keyestudio PM2.5 Shield
Introduction
Dust Sensor based on Sharp optics works well in detecting very delicate particle, like cigarette smoke, is a commonly used system of air purifier.
This device contains IR LED and photoeletric transistor. Arranging them with across corners can detect the reflected light of dust in the air. It has a ultra-low power consumption(Max at 20mA, Typical at 11mA ), and can be equipped with sensors up to 7VDC. Analog voltage is proportional to measured concentration of dust , and sensitivity is 0.5V/0.1mg/m3.
Specification
- Power Voltage: 5-7V
- Working Temperature: -10-65 ℃
- Current Consumption:Max 20mA
- Detecting Value of Minimum Particle: 0.8μ
- Sensitivity:0.5V/(0.1mg/m3)
- Voltage of Cleaning Air: 0.9V(Typical)
- Storage Temperature:-20~80℃
- Service Life:5 Years
- Size:62mm×32mm×20mm
Connection Diagram
Sample Code
Project 1: The following are sample codes shown by official; when using ,just modify a little according to the codes.
//pressing nothing to display value of analog revolving potentiometer #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display int measurePin = 0; //Connect dust sensor to Arduino A0 pin int ledPower = 2; //Connect 3 led driver pins of dust sensor to Arduino D2 int samplingTime = 280; int deltaTime = 40; int sleepTime = 9680; float voMeasured = 0; float calcVoltage = 0; float dustDensity = 0; void setup(){ lcd.init(); // initialize the lcd lcd.init(); // Print a message to the LCD. lcd.backlight(); lcd.setCursor(0,0); lcd.print("Raw Signal Value: "); lcd.setCursor(0,2); lcd.print("Voltage:"); lcd.setCursor(0,3); lcd.print("Dust Density:"); pinMode(ledPower,OUTPUT); } void loop(){ digitalWrite(ledPower,LOW); // power on the LED delayMicroseconds(samplingTime); voMeasured = analogRead(measurePin); // read the dust value delayMicroseconds(deltaTime); digitalWrite(ledPower,HIGH); // turn the LED off delayMicroseconds(sleepTime); // 0 - 5V mapped to 0 - 1023 integer values // recover voltage calcVoltage = voMeasured * (5.0 / 1024.0); // linear eqaution taken from http://www.howmuchsnow.com/arduino/airquality/ // Chris Nafis (c) 2012 dustDensity = 0.17 * calcVoltage - 0.1; lcd.setCursor(1,1); lcd.print(voMeasured); lcd.setCursor(9,2); lcd.print(calcVoltage); lcd.setCursor(14,3); lcd.print(dustDensity); delay(1000); }
Project 2: Now, use testing codes.
int dustPin=0; float dustVal=0; int ledPower=2; int delayTime=280; int delayTime2=40; float offTime=9680; void setup(){ Serial.begin(9600); pinMode(ledPower,OUTPUT); pinMode(dustPin, INPUT); } void loop(){ // ledPower is any digital pin on the arduino connected to Pin 2 on the sensor digitalWrite(ledPower,LOW); delayMicroseconds(delayTime); dustVal=analogRead(dustPin); delayMicroseconds(delayTime2); digitalWrite(ledPower,HIGH); delayMicroseconds(offTime); delay(1000); if (dustVal>36.455) Serial.println((float(dustVal/1024)-0.0356)*120000*0.035); }
Result
Result of Project 1 shown as follows.
Result of Project 2: Open serial monitor, displayed as follows.
Data compared to air quality:
3000 + = Very Bad
1050-3000 = Bad
300-1050 = Ordinary
150-300 = Good
75-150 = Very Good
0-75 = Tiptop
Documents
PDF:
Download the Libraries:
Get One Now
http://www.keyestudio.com/ks0196-keyestudio-pm2-5-shield.html