INTRO:
ในโปรเจกต์นี้ พี่จะมาสอนน้องสร้างเครื่องตรวจจับอนุภาคฝุ่น ที่มีทั้งจอแสดงผล บันทึกข้อมูลลงการ์ด SD และเชื่อมต่อ IoT ได้ด้วย ตัวเครื่องจะมีวง NeoPixel เป็นไฟแสดงสถานะคุณภาพอากาศแบบเห็นชัดๆ เลย
เรื่องคุณภาพอากาศนี่สำคัญมากในยุคนี้แหละน้อง มีระบบวัดค่าฝุ่นละอองอยู่แต่ราคาแพงชิบหาย
โชคดีที่ตอนนี้มีเซ็นเซอร์ตรวจจับอนุภาคราคาถูกแต่คุณภาพดีวางขายกันแล้ว งานวิจัยบางชิ้นก็ยืนยันมาแล้ว
พี่เลยตัดสินใจสร้างอุปกรณ์ที่วัดจำนวนอนุภาคฝุ่นแยกตามขนาดได้ (ตั้งแต่ 0.5µm ถึง 10 µm) มีการแสดงผลแบบง่ายๆ ด้วยวงไฟ NeoPixel, แสดงผลละเอียดบนหน้าจอ TFT และบันทึกข้อมูลพร้อมเวลาลงการ์ด SD
นอกจากนี้พี่ยังเพิ่มโมดูลสื่อสารบลูทูธเพื่อเชื่อมต่อกับแอปบน Android และส่งข้อมูลขึ้นเซิร์ฟเวอร์ IoT ได้อีกด้วย
งบทั้งหมดไม่เกิน 60 ยูโร (ประมาณ 2,400 บาท) จัดไปวัยรุ่น!
Environmental Health: PM2.5 Detector
เจ้า Air Quality Particle Detector ตัวนี้ไม่ใช่แค่ของเล่นนะน้อง มันคือเครื่องมือเพื่อสุขภาพโดยตรง เซ็นเซอร์แก๊สทั่วไป (เช่น MQ-135) ตรวจจับได้แต่ควันหรือ CO2 แต่มัน "มองไม่เห็น" อนุภาคของแข็ง PM2.5 และ PM10 ที่มาจากไฟป่า ควันโรงงาน หรือฝุ่นในเวิร์กช็อปของเรา
Optical Laser Sensing
โปรเจกต์นี้ใช้เซ็นเซอร์ฝุ่นแบบเลเซอร์โดยเฉพาะ (เช่น PMS5003 จาก Plantower หรือ Sharp GP2Y1014AU0F)
- The Airflow: PMS5003 มีพัดลมจิ๋วในตัว คอยดูดอากาศรอบข้างเข้าไปในห้องมืดขนาดเล็กที่ปิดสนิท
- The Laser: ด้านในห้องจะมีลำแสงเลเซอร์โฟกัสสูงยิงผ่านตัวอย่างอากาศ
- The Sensor: ตัวรับแสงอีกฝั่งจะคอยจับการกระเจิงของแสง ถ้ามีอนุภาคฝุ่นขนาดจิ๋ว (กว้าง 2.5 ไมโครเมตร) บินผ่านลำแสงเลเซอร์ มันจะทำให้แสงกระเจิงและเกิดการวาบขึ้น
- The Serial Data: เซ็นเซอร์จะวิเคราะห์ขนาดของแสงวาบเพื่อแยกอนุภาค PM1.0, PM2.5 และ PM10 ออกจากกัน แล้วส่งสตรีมข้อมูลกลับมาที่ Arduino ผ่าน Serial
RX/TXอย่างต่อเนื่อง
Serial Parsing and Display
Arduino ต้องคอยฟัง Serial.read() เพื่อหา "Start Byte" เฉพาะที่บอกจุดเริ่มต้นของแพ็กเก็ตข้อมูล (เช่น 0x42 และ 0x4D) พอเจอแล้วก็จะดึงอาร์เรย์ข้อมูลมา แยกค่า PM2.5 ออกมาเป็นจำนวนเต็ม แล้วพิมพ์ข้อความเช่น "PM2.5: 145 ug/m³ (UNHEALTHY!)" ขึ้นบนจอแสดงผล
Hardware Needed
- Arduino Uno หรือ NodeMCU: ตัวรับข้อมูล ถ้าจะบันทึกข้อมูลติดตามคุณภาพอากาศหลายวัน แนะนำใช้ NodeMCU นะ
- PMS5003 PM2.5 Sensor: หรือตัวอื่นที่ราคาถูกกว่า
- OLED หรือ LCD Screen: สำหรับแสดงผลค่าปัจจุบันในห้อง
- RGB LED: ทำหน้าที่เป็นสัญญาณเตือนแบบไวๆ (เขียว = สะอาด, แดง = อากาศแย่!) ห้ามช็อตนะตัวนี้
Result:
ดูวิธีการทำงานของระบบทั้งหมดในวิดีโอด้านล่างได้เลยน้อง
หวังว่าน้องๆ จะชอบโปรเจกต์นี้นะ สู้งานนะน้อง!
พี่พัฒนาซอฟต์แวร์ใหม่เพิ่ม โดยแสดงกราฟค่าฝุ่นแบบเรียลไทม์สำหรับแต่ละขนาดอนุภาค ดูผลลัพธ์ได้ที่นี่เลย