แนะนำโปรเจกต์ (Project Overview)
สวัสดีครับสาย Maker! วันนี้เราจะพามาดูไอเดียโปรเจกต์ Project #15: Environment - Buzzer - Mk36 (รหัสโปรเจกต์ DL2602Mk09) จากคุณ Luc Paquin ซึ่งเป็นการนำบอร์ด ESP32 มาสร้างเป็นระบบเฝ้าระวังสภาพแวดล้อมแบบครบวงจรครับ
ระบบนี้ไม่เพียงแต่จะสามารถวัดอุณหภูมิและความชื้นในอากาศ แล้วนำมาแสดงผลกราฟิกสวยๆ บนหน้าจอสัมผัส TFT LCD ได้เท่านั้น แต่มันยังติดตั้งเซ็นเซอร์ตรวจจับเปลวไฟ (Flame Sensor) เอาไว้ด้วย หากเกิดเหตุฉุกเฉินหรือมีไฟไหม้ ระบบจะส่งเสียงร้องเตือนผ่าน Buzzer และแสดงไฟ LED สีเขียวทันทีครับ เหมาะมากที่จะนำไปประยุกต์ใช้เป็นระบบ Smart Home ป้องกันอัคคีภัยในบ้านของคุณเอง
อุปกรณ์ที่ต้องใช้ (Hardware Components)
สำหรับฮาร์ดแวร์ที่ใช้ในโปรเจกต์นี้ จะเน้นใช้อุปกรณ์ตระกูล DFRobot เป็นหลัก เพื่อให้ประกอบเข้าด้วยกันได้ง่ายครับ:
- บอร์ดไมโครคอนโทรลเลอร์: DFRobot FireBeetle 2 ESP32-E
- หน้าจอแสดงผล: Fermion: 3.5” 480x320 TFT LCD Capacitive (พร้อมสาย GDL Line 10 CM)
- เซ็นเซอร์วัดสภาพอากาศ: Gravity: AHT20 Temperature and Humidity Sensor
- เซ็นเซอร์ตรวจจับไฟ: Flame Sensor
- ตัวส่งเสียงเตือน: Elecrow Crowtail - Buzzer 2.0
- หลอดไฟแสดงสถานะ: Elecrow Crowtail - LED Green
- บอร์ดขยายพอร์ต: Gravity: IO Shield และ Terminal Block Board สำหรับ FireBeetle 2
- พลังงานสำรอง: แบตเตอรี่ Lithium Ion - 1000mAh และสาย USB 3.0 to Type-C
- ซอฟต์แวร์: Arduino IDE
เจาะลึกโมดูลเสียง: ตัว Crowtail - Buzzer 2.0 เป็นโมดูลที่ใช้งานง่ายมากครับ แค่คุณสั่งจ่ายไฟ (Logic HIGH) จากพอร์ต Digital (D) ของบอร์ด ESP32 เข้าไป มันก็จะส่งเสียงร้องทันที หรือถ้าคุณอยากให้มันร้องเป็นเสียงโน้ตดนตรีต่างๆ ก็สามารถต่อเข้ากับพอร์ต PWM (Pulse-Width Modulation) เพื่อสร้างความถี่เสียงที่ต้องการได้เช่นกัน
💡 ทริคเพิ่มเติม: หากคุณกำลังมองหาบอร์ด ESP32, หน้าจอ TFT LCD, เซ็นเซอร์ตรวจจับควันและไฟ หรือต้องการบริการ 3D Printing สำหรับสั่งทำเคสสวยๆ เพื่อครอบระบบแจ้งเตือนไฟไหม้ตัวนี้ สามารถเข้าไปสั่งซื้อและใช้บริการได้ที่ https://openlink.co/globalbyte เลยครับ!
หน้าตาของอุปกรณ์และแผนผังวงจร (Gallery & Schematics)
View more (ดูรูปอุปกรณ์มุมอื่นๆ และแผนผังวงจร Schematics)
ส่วนของโปรแกรมและซอร์สโค้ด (Software & Code)
โปรเจกต์นี้เขียนด้วยภาษา C++ บนโปรแกรม Arduino IDE ครับ โดยผู้พัฒนาได้แบ่งโครงสร้างไฟล์โปรแกรมออกเป็นหลายๆ ไฟล์ย่อย (Tabs) เพื่อให้จัดการโค้ดได้ง่ายขึ้น ได้แก่ DL2602Mk09p.ino (ไฟล์หลัก), getDisplay.ino, getEEPROM.ino, getFlame.ino, getHT.ino, และ setup.ino
ข้อแนะนำ: โค้ดที่แสดงด้านล่างนี้คือเนื้อหาของไฟล์หลัก (DL2602Mk09p.ino) ที่ใช้เรียกไลบรารีและฟังก์ชัน Loop เท่านั้น หากคุณนำไปคอมไพล์ตรงๆ จะยังไม่ผ่าน คุณจำเป็นต้องเขียนหรือสร้างฟังก์ชันย่อย (เช่น isHT() และ isFlame()) เพื่อให้ระบบทำงานได้ครบถ้วนตามแบบฉบับของผู้พัฒนาครับ
View more (ดู Source Code ไฟล์หลัก และกด Copy Code)
/****** Don Luc Electronics © ****** Software Version Information Project #15: Environment - Buzzer - Mk36 15-36 DL2602Mk09p.ino DL2602Mk09 1 x DFRobot FireBeetle 2 ESP32-E 1 x Fermion: 3.5” 480x320 TFT LCD Capacitive 1 x GDL Line 10 CM 1 x Crowtail - Buzzer 2.0 1 x Gravity: AHT20 Temperature and Humidity Sensor 1 x Flame Sensor 1 x Crowtail - LED Green 1 x Gravity: IO Shield for FireBeetle 2 1 x Terminal Block Board for FireBeetle 2 ESP32-E IoT 1 x Lithium Ion Battery - 1000mAh 1 x Micro USB Cable */ // Include the Library Code // EEPROM Library to Read and Write EEPROM with Unique ID for Unit #include "EEPROM.h" // DFRobot Display GDL API #include <DFRobot_GDL.h> // AHT20 Humidity and Temperature Sensor #include <DFRobot_AHT20.h> // Buzzer int iBuzzer = D10; // AHT20 Humidity and Temperature Sensor DFRobot_AHT20 aht20; // AHT20 Humidity and Temperature Sensor float h = 0; float t = 0; // Flame Sensor // LED Green int iLEDG = D11; // Flame Sensor int iFlame = A0; String sF = ""; // Defined ESP32 #define TFT_DC D2 #define TFT_CS D6 #define TFT_RST D3 /*dc=*/ /*cs=*/ /*rst=*/ // DFRobot Display 320x480 DFRobot_ILI9488_320x480_HW_SPI screen(TFT_DC, TFT_CS, TFT_RST); // Software Version Information // EEPROM Unique ID Information #define EEPROM_SIZE 64 String uid = ""; // Software Version Information String sver = "15-36"; void loop() { // AHT20 Humidity and Temperature Sensor isHT(); // Flame Sensor isFlame(); // isDisplay HT isDisplayHT(); // Delay 0.1 Second delay( 100 ); }
ข้อมูลผู้พัฒนาและช่องทางติดต่อ (Developer Info)
โปรเจกต์ดีๆ แบบนี้เป็นผลงานของคุณ Luc Paquin (Don Luc) ผู้เชี่ยวชาญและที่ปรึกษาด้าน R&D, Electronics, IoT, และ Robotics ครับ หากใครสนใจผลงานหรืออยากปรึกษาเรื่องการเขียนโปรแกรม ไมโครคอนโทรลเลอร์ต่างๆ (เช่น PIC, Arduino, Raspberry Pi, ESP), การทำงานของโดรน (UAV), หรือ AI Machine Learning สามารถเข้าไปติดตามเขาได้ตามช่องทางด้านล่างนี้เลยครับ:
พร้อมสร้างระบบ Smart Home & ความปลอดภัยในแบบของคุณหรือยัง?
อยากทำโปรเจกต์หน้าจอสัมผัสล้ำๆ หรือระบบแจ้งเตือนอัคคีภัยแบบนี้ไว้ใช้ในบ้าน แวะมาหาอุปกรณ์และพูดคุยกับเราได้เลยครับ!
คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดอ้างอิงข้อมูลโครงสร้างไฟล์โค้ดโดยละเอียดจากต้นฉบับ