Dust Sensor GP2Y1010AU0F เป็น Sensor Arduino ใช้สำหรับตรวจจับควันและฝุ่นละอองในอากาศ ค่าที่ได้ออกมาเป็น Analog 1-1023 ลักษณะการทำงานคือ Sensor จะส่งแสงเลเซอร์ ไปกระทบกับตัวรับ และให้อากาศผ่านในช่อง หากการรับแสงมีน้อยแสดงว่าฝุ่นละออกเยอะ หากมีการรับแสงได้มากแสดงว่าฝุ่นละอองน้อย สามารถวัด ควันธูป แป้ง ฝุ่น ได้ นำไปประยุคใช้กับ Air purifier, Air conditioner, Air monitor



#include<string.h>
byte buff[2];
int pin = 6;//DSM501A input D6
unsigned long duration;
unsigned long starttime;
unsigned long endtime;
unsigned long sampletime_ms = 10000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;

int i=0;
void setup()
{
  Serial.begin(9600);
  pinMode(6,INPUT);
  starttime = millis();
  Serial.println("Dust Start");
}
void loop()
{

  duration = pulseIn(pin, LOW);
  lowpulseoccupancy += duration;
  endtime = millis();
  if ((endtime-starttime) > sampletime_ms)
  {
    ratio = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
    Serial.print("lowpulseoccupancy:");
    Serial.print(lowpulseoccupancy);
    Serial.print("\n");
    Serial.print("ratio:");
    Serial.print(" ");
    Serial.print(ratio);
    Serial.print("DSM501A:");
    Serial.println(concentration);
    Serial.print("\n\n");

    lowpulseoccupancy = 0;
    starttime = millis();
  }

   // Serial.println(duration);
 delay(200) ;
}


//*************************************



unsigned long sampletime_ms = 10000;    คือ คำส่งที่ต้องการตรวจวัดทุกกี่วินาที
duration = pulseIn(pin, LOW);    ตรวงสอบค่า PWM ที่เข้ามา

     สูตรการคำนวณ
    ratio = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve

    Serial.println(concentration);     concentration  คือค่าปริมาณ output หรือ ค่าปริมาณฝุ่นนั้นเอง

ให้ดู OUTPUT ทาง Seriar monitor ครับจะเห็นค่า Output sensor
http://www.circuitshops.com/articles/42163294/arduino-%E0%B8%81%E0%B8%B1%E0%B8%9A-Dust-sensor-%E0%B8%A7%E0%B8%B1%E0%B8%94%E0%B8%9D%E0%B8%B8%E0%B9%88%E0%B8%99%E0%B8%A5%E0%B8%B0%E0%B8%AD%E0%B8%AD%E0%B8%872.html

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Coin Validator เครื่องรับเหรียญ เครื่องหยอดเหรียญ Multi Coin รุ่น SG-6

Learning 7 Segment + Arduino