Quantity | 3+ units | 10+ units | 30+ units | 50+ units | More |
---|---|---|---|---|---|
Price /Unit | $12.77 | $12.51 | $12.12 | $11.60 | Contact US |
GP2Y1010AU0F Compact Optical Dust Sensor Smoke Particle Sensor with Cable for Arduino
Description:
- GP2Y1010AU0F is a dust sensor by optical sensing system
- An infrared emitting diode (IRED) and an phototransistor are diagonally arranged into this device
- It detects the reflected light of dust in air.
- Especially, it is effective to detect very fine particle like the cigarette smoke
- In addition it can distinguish smoke from house dust by pulse pattern of output voltage
- Compact, thin package (46.0 × 30.0 × 17.6 mm)
- Low consumption current (Icc: MAX. 20 mA)
- The presence of dust can be detected by the photometry of only one pulse
- Enable to distinguish smoke from house dust
- Lead-free and RoHS directive compliant
- Compliant with RoHS directive (2002/95/EC)
Specification:
- Voltage: 5-7V
- Operating temperature: -10~65 deg
- Current: 20mA(Max.)
- Minimum parcile: 0.8μm
- Sensivity: 0.5V/(0.1mg/m3)
- Clean air voltage: 0.9V
- Storage temperature: -20~80 deg
- Life: 5 years
- Size: 46*30*17.6 mm
- Weight: 15g
Manual: Clich here
Example 1, testing code:
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 3 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);
}
The data and qir quality:
3000+ =worse
1050-3000 = worse
300-1050 = average
150-300 - good
75-150 = better
0-75 = best
Examplt 2 testing code: the final Concentration
int measurePin = 0; // connect the analog port 0, that is the dustPin of example 1
int ledPower = 2;//connect the number 2 port
int samplingTime = 280;//the starting time of LED is 280μs
int deltaTime = 40;//the whole pulse is 320μs. So we have to wait for 40μs
int sleepTime = 9680;
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;
void setup(){
Serial.begin(9600);
pinMode(ledPower,OUTPUT);
}
void loop(){
digitalWrite(ledPower,LOW); //start LED
delayMicroseconds(samplingTime); // turn on LED,waiting time 280μs
voMeasured = analogRead(measurePin); // read the analog value
delayMicroseconds(deltaTime); // waiting time40μs
digitalWrite(ledPower,HIGH); // off LED
delayMicroseconds(sleepTime);
// 0 - 5V mapped to 0 - 1023 integer values
// recover voltage
calcVoltage = voMeasured * (5.0/1024.0); //turn the analog to voltage
dustDensity = 0.17 * calcVoltage - 0.1; //turn the voltage into dust density unit
Serial.print("Raw Signal Value (0-1023):");
Serial.print(voMeasured);
Serial.print(" - Voltage:");
Serial.print(calcVoltage);
Serial.print(" - Dust Density:");
Serial.println(dustDensity); // final concentration, mg/stere
delay(1000);
}
Package included:
- GP2Y1010AU0F Compact Optical Dust Sensor x 1