โปรเจกต์ การสร้าง Wireless Temperature Sensor แบบใช้พลังงานจาก Battery
Wireless Temperature Sensor ที่ใช้งาน ESP-NOW และ Deep Sleep เพื่อประหยัดพลังงานและส่งข้อมูล
Wireless Temperature Sensor ที่ใช้งาน ESP-NOW และ Deep Sleep เพื่อประหยัดพลังงานและส่งข้อมูล
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
ในโลกของ IoT (Internet of Things) นั้น Wireless Temperature Sensor หรือเซนเซอร์วัดอุณหภูมิแบบไร้สายมีบทบาทสำคัญอย่างยิ่งในการตรวจวัดสภาวะแวดล้อม เช่น อุณหภูมิและความชื้น ไม่ว่าคุณจะสนใจเรื่อง Home Automation, Smart Agriculture หรือเพียงแค่ต้องการทดลองเทคโนโลยีใหม่ๆ การสร้างเครือข่าย Wireless Sensor ของคุณเองก็เป็นโปรเจกต์ที่น่าตื่นเต้นและคุ้มค่า ในบทความนี้ เราจะพาคุณไปดูขั้นตอนการสร้าง Wireless Temperature and Humidity Sensor โดยใช้ Microcontroller ESP32 และโปรโตคอลการสื่อสาร ESP-NOW
ESP-NOW เป็นโปรโตคอลการสื่อสารไร้สายแบบ Low-power และ Peer-to-peer ที่พัฒนาโดย Espressif ซึ่งเป็นผู้ผลิต Microcontroller ESP32 โดย ESP-NOW แตกต่างจาก Wi-Fi หรือ Bluetooth ตรงที่ช่วยให้อุปกรณ์สามารถสื่อสารกันได้โดยตรงโดยไม่ต้องใช้ Router หรือ Access Point สิ่งนี้ทำให้มันเหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่ต้องการ Low latency และการใช้พลังงานที่ต่ำมาก เช่น Sensor ที่ใช้พลังงานจาก Battery
ในการเริ่มต้น คุณจะต้องมีอุปกรณ์ดังต่อไปนี้:
AMS1117 เป็น IC Voltage Regulator ที่ราคาถูกและเชื่อถือได้ แต่มี Dropout voltage อยู่ที่ 1V เนื่องจาก Battery ของเราให้แรงดันสูงสุดที่ 4.2V เมื่อชาร์จเต็ม เราจึงไม่สามารถดึงแรงดัน 3.3V ออกมาจาก IC AMS1117 ด้วยแรงดันอินพุตระดับนั้นได้ ดังนั้นเราจึงเลือกใช้ MCP1700 ซึ่งมี Dropout voltage เพียง 150mV เท่านั้น
เมื่อออกแบบเสร็จแล้ว ผมได้อัปโหลดดีไซน์ลงใน Altium365 เพื่อแบ่งปันให้กับทุกคน
รับสิทธิ์ทดลองใช้ Altium Designer พร้อม 365 ฟรี และส่วนลด 25% สำหรับการซื้อ: https://www.altium365.com/yt/robocircuits
ตอนนี้เมื่อแบบ PCB พร้อมแล้ว ก็ถึงเวลาสั่งผลิต PCB จาก NextPCB
จากนั้นรอให้พัสดุมาส่ง
การประกอบ PCB แบ่งออกเป็นสองขั้นตอน
1. SMD Assembly
2. THT Assembly

เมื่อติดตั้ง Hardware เรียบร้อยแล้ว ก็ถึงเวลาเขียน Code โดยเราจะใช้ Arduino IDE ในการโปรแกรม ESP32 หากคุณยังไม่ได้ติดตั้ง ให้ทำการติดตั้ง Board support สำหรับ ESP32 ใน Arduino IDE โดยดูจากบทความนี้
เราได้นำฟังก์ชัน Deep sleep มาใช้ใน ESP8685 เพื่อประหยัดพลังงานให้ได้มากที่สุดเท่าที่จะทำได้ มาลองคำนวณอายุการใช้งานของ Battery ด้วยการตั้งค่าเวลาใหม่กัน:
ขั้นตอนการคำนวณอายุการใช้งาน Battery ด้วยค่าเวลาใหม่:
Step 1: คำนวณการใช้กระแสไฟฟ้ารวมต่อหนึ่งรอบการทำงาน (Active + Sleep)
โหมด Active:
โหมด Deep sleep:
พลังงานรวมที่ใช้ต่อหนึ่งรอบ (Cycle):
Step 2: คำนวณจำนวนรอบการทำงานต่อชั่วโมง
Step 3: คำนวณพลังงานรวมที่ใช้ต่อชั่วโมง
Step 4: คำนวณอายุการใช้งาน Battery
บทสรุป:
ESP32 จะทำงานได้นานประมาณ 1219.5 ชั่วโมง ด้วย Battery ขนาด 500mAh ตามรูปแบบการใช้พลังงานที่กำหนด หรือคิดเป็นเวลาประมาณ 50.8 วัน
Code สำหรับ ESP-NOW Temperature Sensor มีให้พร้อมกับบทความนี้ เพียงแค่อัปโหลดลงไป
ESP-NOW Slave Code สำหรับ Heltec ESP32 LoRa V2 ในการโปรแกรม ESP32 LoRa V2 จาก Heltec คุณอาจจำเป็นต้องอ่าน บทความนี้ เพิ่มเติม
จากการทดสอบ Sensor ทำงานได้อย่างสมบูรณ์แบบ โดยสามารถส่งค่าผ่านโปรโตคอล ESP-NOW ไปยังอุปกรณ์ Slave ได้สำเร็จ
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมิน Project
เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย