Posted in

โปรเจค Arduino: เครื่องวัดฝุ่น PM2.5 ด้วย Sensor GP2Y1010AU0F + NodeMCU

โปรเจค Arduino: เครื่องวัดฝุ่น PM2.5 ด้วย Sensor GP2Y1010AU0F + NodeMCU

ช่วงนี้ปัญหาฝุ่น PM2.5 กลับมาอีกครั้ง โดยเฉพาะช่วงปลายฝนต้นหนาว
หรือช่วงที่มีไฟป่า ซึ่งส่งผลกระทบต่อสุขภาพโดยตรง

บทความนี้จะพาเพื่อนๆ มาสร้าง เครื่องวัดฝุ่นแบบง่ายๆ
โดยใช้ NodeMCU (ESP8266) และเซนเซอร์ GP2Y1010AU0F
พร้อมแสดงผลผ่านหน้าจอ LCD


Sensor GP2Y1010AU0F คืออะไร?

GP2Y1010AU0F เป็นเซนเซอร์วัดฝุ่นที่สามารถตรวจจับฝุ่นละอองในอากาศ
โดยเฉพาะฝุ่นขนาดเล็ก เช่น PM2.5

  • ให้ค่าเป็นสัญญาณ Analog
  • เหมาะสำหรับ Arduino และ NodeMCU
  • นิยมใช้ในงานวัดคุณภาพอากาศ

อุปกรณ์ที่ใช้


หลักการทำงาน

เซนเซอร์ GP2Y1010AU0F จะตรวจจับฝุ่นในอากาศโดยใช้แสง IR
เมื่อมีฝุ่นผ่าน จะเกิดการกระเจิงของแสง (Light Scattering)

จากนั้นจะส่งค่า Analog ไปยัง NodeMCU เพื่อนำไปคำนวณเป็น
ค่าความเข้มข้นฝุ่น (µg/m³)


โค้ดโปรแกรม NodeMCU


#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f, 16, 2);

int measurePin = A0;
int ledPower = D5;

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);
  lcd.begin();
  lcd.backlight();
}

void loop() {

  digitalWrite(ledPower, LOW);
  delayMicroseconds(samplingTime);

  voMeasured = analogRead(measurePin);

  delayMicroseconds(deltaTime);
  digitalWrite(ledPower, HIGH);
  delayMicroseconds(sleepTime);

  calcVoltage = voMeasured * (3.3 / 1024);
  dustDensity = 0.17 * calcVoltage - 0.1;

  if (dustDensity <= 0.00) {
    dustDensity = 0.00;
  }

  dustDensity = dustDensity * 1000;

  Serial.print("Dust Density: ");
  Serial.print(dustDensity);
  Serial.println(" ug/m3");

  lcd.home();
  lcd.setCursor(1, 0);
  lcd.print("Dust Density");

  lcd.setCursor(2, 1);
  lcd.print(dustDensity);
  lcd.print(" ug/m3");

  delay(1000);
}

การทำงานของโปรเจค

  • อ่านค่าฝุ่นจากเซนเซอร์แบบเรียลไทม์
  • แปลงค่าเป็น µg/m³
  • แสดงผลผ่าน LCD
  • สามารถต่อ WiFi เพื่อส่งข้อมูลออนไลน์ได้

ประโยชน์ของโปรเจค

  • ตรวจสอบคุณภาพอากาศภายในบ้าน
  • ป้องกันปัญหาสุขภาพจากฝุ่น
  • ต้นทุนต่ำ ทำเองได้
  • ต่อยอดเป็น IoT ได้ง่าย

ไอเดียต่อยอด

  • เชื่อมต่อ WiFi ส่งข้อมูลขึ้นเว็บ
  • แจ้งเตือนผ่าน LINE Notify
  • ควบคุมเครื่องฟอกอากาศอัตโนมัติ
  • แสดงผลผ่านมือถือ

สรุป

โปรเจคนี้เป็นตัวอย่างที่ดีสำหรับผู้เริ่มต้นที่อยากเรียนรู้
IoT และการนำเทคโนโลยีมาดูแลสุขภาพ

ใช้งบไม่สูง แต่สามารถนำไปใช้งานจริงได้
เหมาะทั้งทำเล่น ทำเรียน หรือทำขายต่อยอด

รู้ค่าฝุ่นก่อน = ป้องกันสุขภาพได้ก่อน