Dust density meter হচ্ছে এমন একটি যন্ত্র যেটি প্রতি কিউবিক মিটার বাতাসে ধূলিকনার পরিমাণ নির্দেশ করে। এয়ার পিউরিফায়ার, এয়ার কোয়ালিটি কন্ট্রোলার, AQI মিটার ইত্যাদি যন্ত্রে ডাস্ট ডেনসিটি পরিমাপ করা প্রয়োজন হয়। এই টিউটোরিয়ালে আমরা Sharp GP2Y1010AU0F Compact optical Dust Sensor দিয়ে একটি Dust density meter তৈরী করব।
প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রোডাক্ট লিংক |
Arduino Uno R3 | 1 | http://bit.ly/2KhV84M |
Sharp GP2Y1010AU0F Compact optical Dust Sensor | 1 | http://bit.ly/2tMcKTP |
SPI LCD module | 1 | http://bit.ly/31G4a5I |
Breadboard | 1 | http://bit.ly/2IjyUPg |
150 ohm ¼ watt resistor | 1 | http://bit.ly/31Ifiip |
220 uf,16V capacitor | 1 | http://bit.ly/37gQ1wI |
Male to female jumpers | 9 | http://bit.ly/2rIu6w2 |
Female to female jumper | 1 | http://bit.ly/2Gk1m1P |
9V battery | 1 | http://bit.ly/2JWWj99 |
9V Battery Connector with Power Jack | 1 | http://bit.ly/2QrofVV |
আরডুইনো এবং ডাস্ট সেন্সরের মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।

এসপিআই এলসিডি মডিউলকে আরডুইনোর সাথে সংযুক্ত করুন।

Arduino UNO-R3 | SPI LCD module |
5V | VCC |
GND | GND |
Clock | 13 |
Latch | 8 |
Data | 12 |
পুরো সেট আপটি দেখতে ছিল এরকমঃ

কোডঃ যেহেতু এই এক্সপেরিমেন্টে SPI LCD module ব্যবহৃত হচ্ছে, সেহেতু এই লাইব্রেরিটি প্রথমে ইন্সটল করতে হবে।
নিচের কোডটি কম্পাইল করে আরডুইনোতে আপলোড করুন।
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
//SH_CP->CLOCK->13 //ST_CP->LATCH->8 //DS->DATA->12 #include <LCD.h> #include <LiquidCrystal_SR.h> #include <LiquidCrystal.h> LiquidCrystal_SR lcd(12, 13, 8); 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 avgvalue=0; int samplingTime = 280; int deltaTime = 40; int sleepTime = 9680; float voMeasured = 0; float calcVoltage = 0; float dustDensity = 0; long sum=0; void setup(){ Serial.begin(9600); lcd.begin(16, 2); // set up the LCD's number of columns and rows: lcd.clear(); // clear the screen 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; Serial.print("Raw Signal Value (0-1023): "); Serial.print(voMeasured); Serial.print(" - Voltage: "); Serial.print(calcVoltage); Serial.print(" - Dust Density: "); Serial.println(dustDensity); // unit: mg/m3 lcd.setCursor(0, 0); lcd.print("Dust Density="); lcd.setCursor(0, 1); lcd.print(dustDensity); // unit: mg/m3 lcd.print("mg/m3 "); delay(1000); } |
ডাস্ট ডেনসিটি এলসিডিতে দেখাবে।

ডাস্ট সেন্সরটির পেছনে একটি জলন্ত দেশলাই কাঠি ধরলে কিংবা জোরে ফুঁ দিলে এলসিডিতে প্রদর্শিত ভ্যালু বাড়তে থাকবে।
