Dust density meter

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 battery1http://bit.ly/2JWWj99
9V Battery Connector with Power Jack  1http://bit.ly/2QrofVV

আরডুইনো এবং ডাস্ট সেন্সরের মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।


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

Arduino UNO-R3 SPI LCD module
5V VCC
GND GND
Clock 13
Latch 8
Data 12

পুরো সেট আপটি দেখতে ছিল এরকমঃ

কোডঃ যেহেতু এই এক্সপেরিমেন্টে SPI LCD module ব্যবহৃত হচ্ছে, সেহেতু এই লাইব্রেরিটি প্রথমে ইন্সটল করতে হবে।


নিচের কোডটি কম্পাইল করে আরডুইনোতে আপলোড করুন।

//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);
}

ডাস্ট ডেনসিটি এলসিডিতে দেখাবে।

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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.