นี่คือโปรเจค Arduino ชิ้นที่สองของพี่เองจ้า เป็นไฟส่องสว่างทรงพลังที่เปิด-ปิดอัตโนมัติตามความสว่างของสภาพแวดล้อมรอบตัว แถมยังมีโหมดแมนนวลให้สวิทช์เปิดปิดเองได้ด้วยนะ

ถ้าน้องทำกล่องครอบให้มันและปรับเทียบตัวตรวจจับแสง (Photocell) ให้ดีๆ โปรเจคนี้ก็เอาไปใช้เป็นไฟนอกบ้านได้เลยนะ ไฟจะปิดตอนกลางวันที่ยังไม่จำเป็น และเปิดอัตโนมัติตอนกลางคืน ส่วนเรื่องไฟเลี้ยง วงจรนี้ใช้ปลั๊กไฟบ้านตัวเดียวก็พอแล้วจ้า
ด้านเทคนิค: การตรวจจับและการสั่งงาน
โปรเจคนี้ประกอบด้วยสองส่วนหลัก:
- ส่วนตรวจจับ (Sensing layer): Arduino ใช้ LDR (Photoresistor) ในการวัดระดับความสว่างของแสงรอบข้างตลอดเวลา สัญญาณ 0-5V นี้จะถูกแปลงเป็นค่าดิจิทัล 10-bit (0-1023) โดย ADC ของ Arduino
- ส่วนสั่งงาน (Actuation layer): โมดูลรีเลย์ 220V/5V ทำหน้าที่เป็นสวิทช์อิเล็กทรอนิกส์ เพื่อเปิด-ปิดหลอดไฟ AC แรงดันสูง (LED หรือแบบอื่นๆ) ตามค่าที่อ่านได้จากเซนเซอร์แสง
อุปกรณ์ฮาร์ดแวร์
- Arduino Uno: ตัวควบคุมหลัก คอยจัดการเซนเซอร์แสงและสั่งงานการเปิด-ปิดของรีเลย์
- LDR (Photoresistor): ตรวจจับแสงแบบไม่สัมผัสและน่าเชื่อถือ โดยค่าความต้านทานจะเปลี่ยนไปตามระดับความสว่าง
- โมดูลรีเลย์ 220V/5V: แยกส่วนและควบคุมหลอดไฟแรงดันสูงด้วยสัญญาณแรงดันต่ำได้อย่างมีประสิทธิภาพ
- ตัวต้านทาน (Resistor) 10k ohm: ใช้เป็นวงจรแบ่งแรงดัน (Voltage Divider) สำหรับ LDR เพื่อให้สัญญาณอนาล็อกที่เสถียรแก่ Arduino
- สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino โดยตรงจากคอมพิวเตอร์ ทั้งไฟเลี้ยงและข้อมูล
ตรรกะการทำงานและฮิสเทอรีซิส
โค้ด Arduino ออกแบบมาให้ประหยัดพลังงานและเชื่อถือได้:
- ตั้งค่า ADC: ใน SETUP ให้ Arduino อ่านสัญญาณอนาล็อกจากเซนเซอร์ LDR
- ตรวจสอบค่าขีดจำกัด: Arduino จะเปรียบเทียบระดับความสว่างปัจจุบันกับค่าขีดจำกัดที่ตั้งไว้ (เช่น <300 แปลว่ามืด)
- สั่งงาน: ถ้าระดับแสงต่ำกว่าขีดจำกัด Arduino จะส่งสัญญาณ HIGH ไปที่รีเลย์เพื่อเปิดไฟ
- ลอจิกฮิสเทอรีซิส: ใช้ดีเลย์เล็กน้อยและค่าขีดจำกัดหลายระดับ เพื่อป้องกันไม่ให้ไฟกระพริบหรือเปิดก่อนเวลาอันควรตอนพระอาทิตย์ตก
พี่ไม่ได้ทำขั้นตอนการนำไปใช้จริงให้สมบูรณ์หรอกนะ เพราะใกล้เปิดเทอมแล้ว แถมพี่ก็มีผลิตภัณฑ์ทางการค้าที่ทำหน้าที่เดียวกันและแข็งแรงกว่าอยู่แล้วด้วย
สมมติว่าน้องใช้หลอดไฟที่ใช้ไฟบ้านทั่วๆ ไปแบบพี่ น้องต้องตัดสายไฟด้านใดด้านหนึ่ง (ตามที่เห็นในรูป) และลอกฉนวนออกนิดหน่อยเพื่อจะได้เสียบเข้ากับขารีเลย์ได้ ถ้าน้องวางแผนจะใช้จริง น้องอาจจะใช้การจัดวางไฟที่ต่างออกไป (เช่น ใช้ไฟที่กินไฟมากขึ้น, ใช้หลายดวง, ฯลฯ) สำหรับกรณีนี้ น้องอาจต้องใช้ปลั๊กไฟบ้านเพิ่ม สำหรับปลั๊กเพิ่มแต่ละตัว น้องจะต้องใช้รีเลย์เพิ่มอีกหนึ่งตัว แค่ก็อปปี้โค้ดสำหรับรีเลย์หนึ่งตัวแล้ววางไว้ข้างๆ กันไปเลย
แนวทางการพัฒนาต่อ
- แดชบอร์ดสถานะบนคลาวด์: เพิ่มโมดูล WiFi (ESP8266/ESP32) เพื่อบันทึกเวลาที่ไฟถูกเปิดแต่ละครั้งลงในแดชบอร์ดบนคลาวด์ สำหรับติดตามและตรวจสอบการใช้พลังงาน
- ประสานกับเซนเซอร์ตรวจจับการเคลื่อนไหว PIR: เพิ่มเซนเซอร์ PIR เพื่อให้ไฟเปิดเฉพาะตอนกลางคืน เมื่อ ตรวจพบการเคลื่อนไหวเท่านั้น จะได้ประหยัดไฟขึ้นอีก
- แดชบอร์ดแสดงข้อมูลบน OLED: เพิ่มจอแสดงผล OLED ขนาดเล็กเพื่อแสดงระดับความสว่างปัจจุบันและจำนวนครั้งที่ไฟถูกเปิด
- ผนวกพลังงานแสงอาทิตย์: เพิ่มแผงโซลาร์เซลล์และแบตเตอรี่เพื่อให้ไฟนอกบ้านพึ่งพาตัวเองได้เต็มที่และไม่ต้องใช้ไฟบ้าน
โปรเจคนี้คือ "Hello, World!" ที่สำคัญมากสำหรับการทำความเข้าใจเรื่อง เซนเซอร์, การควบคุมอัตโนมัติ และ การตรวจสอบสภาพแวดล้อม เลยนะน้อง เอาไปจัดต่อได้เลย สู้งานนะ!