Dust density meter

Dust density meter হচ্ছে এমন একটি যন্ত্র যেটি প্রতি কিউবিক মিটার বাতাসে ধূলিকনার পরিমাণ নির্দেশ করে। এয়ার পিউরিফায়ার, এয়ার কোয়ালিটি কন্ট্রোলার, AQI মিটার ইত্যাদি যন্ত্রে ডাস্ট ডেনসিটি পরিমাপ করা প্রয়োজন হয়। এই টিউটোরিয়ালে আমরা Sharp GP2Y1010AU0F Compact optical Dust Sensor   দিয়ে একটি Dust density meter তৈরী করব।

প্রয়োজনীয় যন্ত্রপাতি পরিমাণ প্রোডাক্ট লিংক
Arduino Uno R3 1 এখানে ক্লিক করুন  
Sharp GP2Y1010AU0F Compact optical Dust Sensor   1 এখানে ক্লিক করুন  
SPI LCD module 1 এখানে ক্লিক করুন  
Breadboard 1 এখানে ক্লিক করুন
150 ohm ¼ watt resistor 1 এখানে ক্লিক করুন  
220 uf,16V capacitor 1 এখানে ক্লিক করুন  
Male to female jumpers 9 এখানে ক্লিক করুন  
Female to female jumper 1 এখানে ক্লিক করুন  
9V battery 1 এখানে ক্লিক করুন
9V Battery Connector with Power Jack  1 এখানে ক্লিক করুন

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


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

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

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

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

Share with your friends
Default image
A. R
Articles: 116

Leave a Reply

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