GP2Y1010 محصول شرکت Sharp ، یک سنسور اندازه گیری غبار موجود در هوا می باشد . این سنسور بر پایه تکنولوژی IR کار می کند . در واقع یک جفت فرستنده و گیرنده IR در داخل این سنسور قرار دارند که با عبور هوا مابین آن ها ، سیگنال خروجی ماژول تغییر خواهد کرد . اما این تنها کلیات عملکرد ماژول GP2Y1010 می باشد . به طور کلی ماژول های شرکت Sharp از تکنولوژی بالایی برخوردار اند و در آن ها تدابیری جهت حذف نویز ها و همچنین اندازه گیری دقیق پارامتر های مختلف در نظر گرفته شده است . در تصویر پایین مکانیزم داخلی ماژول نشان داده شده است :
سنسور GP2Y1010 دارای 6 پایه به صورت زیر است :
1- ولتاژ LED ماژول (IR LED ) که با یک مقا.مت به VCC متصل می شود .
2- زمین IR LED
3- فعال ساز IR LED
4- این پین باید به زمین متصل شود
5- سیگنال خروجی که به ADC متصل می شود
6- ولتاژ تغذیه ماژول که به 5 ولت باید متصل شود .
در راه اندازی این ماژول ما از برد آردوینو استفاده خواهیم کرد که در تصویر زیر نحوه اتصال ماژول نشان داده شده است :
کد های آردوینو :
/* Standalone Sketch to use with a Arduino UNO and a Sharp Optical Dust Sensor GP2Y1010AU0F */ 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(){ Serial.begin(9600); 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 = 170 * calcVoltage - 0.1; Serial.println(dustDensity); // unit: ug/m3 delay(1000); }