สวัสดีทุกคนนน พี่ดีใจมากที่ได้มาแชร์โปรเจคเจ๋งๆ ที่พี่ทำส่งอาจารย์ในมหาลัย หวังว่าน้องๆ จะชอบนะ ถ้ามีคำถามอะไรถามมาได้เลย แต่อย่าลืมว่านี่เป็นโปรเจคแรกของพี่ในนี้ ถ้าเห็นอะไรควรปรับปรุงก็แนะนำพี่ได้น้า
โปรเจคนี้เป็นโปรเจคสุดท้ายของพี่ในมหาลัยเลย อาจารย์ให้อิสระเต็มที่ว่าจะทำอะไรก็ได้ พี่เลยเริ่มบรีนสตอม แล้วก็ปิ๊งไอเดียมาจากคลิปในยูทูปที่เคยเห็นน่ะ (ลิงค์ต้นฉบับพี่เอาไว้ให้ข้างล่างแล้ว แต่เดี๋ยวพี่จะเล่าให้ฟังเองก็ได้)
นี่แหละคือจุดเริ่มต้นของโปรเจคพี่ พี่เริ่มจากวาดสเก็ตช์คร่าวๆ (รูปด้านล่างนี่แหละ ไม่ได้เพอร์เฟคแต่พอเห็นภาพเรื่องขนาดได้) แล้วก็ไปเลือกไม้ พี่เลือกใช้ MDF หนา 22 มม. เพราะทั้งงานง่ายและราคาเบาๆ ดูฐานตู้ที่พี่ทำไว้ก่อนเลย:
จากนั้นพี่ก็เริ่มเจาะร่องสำหรับติดแถบไฟ LED (LED Strip) ร่องกว้าง 1 ซม. ลึก 1 ซม. ผลงานออกมาเป็นแบบนี้:
เสร็จแล้วก็จัดการติดแถบไฟ LED เข้าไป หน้าตาประมาณนี้เลย:
วงจรตัวอย่างนี้ใช้ Arduino Uno นะ แต่การต่อสำหรับ ESP8266 ก็เหมือนกันแหละ อ้อ วงจรนี้ใช้ตัวต้านทาน (Resistor) 470 โอห์ม แต่ใช้ค่าอะไรระหว่าง 200 ถึง 500 โอห์มก็ได้ ส่วนตัวเก็บประจุ (Capacitor) จะใช้ 100 uF แทนก็ได้เหมือนกัน ห้ามช็อตนะตัวนี้
วงจรคร่าวๆ:
มาถึงส่วนที่สนุกแล้ว! พี่อยากได้แผ่นอะคริลิกมาปิดหน้า เพราะมันให้เอฟเฟกต์แสงสวยดีและยังป้องกันแถบไฟ LED ด้วย โชคดีที่มหาลัยพี่มีเครื่องเลเซอร์คัตเตอร์ พี่เลยวาดรูปตามขนาดตู้แล้วส่งไปตัดเลย ถ้าน้องอยากทำแต่ไม่มีเครื่องเลเซอร์ ใช้เลื่อยจิ๊กซอว์ตัดก็ได้ ถูกกว่ากันเยอะ ดูแผ่นอะคริลิกที่พี่ติดแล้วนี่:
พี่ติดแผ่นอะคริลิกด้วยเทปกาวสองหน้าเลย เวลาแถบไฟพังจะได้แกะออกซ่อมง่ายๆ
ขั้นตอนสุดท้ายคือเขียนโค้ดให้นาฬิกาทำงาน พี่ได้โค้ดตัวอย่างมาจากอาจารย์ที่มหาลัยนี่แหละ พี่ใช้ ESP8266 D1 Mini ต่อ WiFi เพื่อดึงเวลาจริง (Realtime) มาแสดง พี่เจาะช่องด้านหลังตู้เพื่อยัดอิเล็กทรอนิกส์ทั้งหมดเข้าไป รวมถึง ESP8266 ด้วย แล้วก็เจาะรูจากหลังมาหน้าเพื่อลอดสายไฟไปหาแถบ LED ด้านหลังพี่ยังทำตะขอไว้แขวนผนังอีกด้วย
เพราะนาฬิกาดึงเวลาจริงมา มันจึงแสดงเวลาได้แม่นยำ พลาดไม่เกิน 2 วินาที พี่ยังเขียนโค้ดให้มันเปลี่ยนสีทุกๆ 10 นาทีอีกต่างหาก สู้งานนะน้อง!
สมอง: เวลาที่ซิงค์ผ่าน WiFi (NTP)
แทนที่จะพึ่งโมดูล RTC ที่ใช้แบตเตอรี่ซึ่งอาจจะเดินคลาดได้ นาฬิกาเรือนนี้ใช้ ESP8266 D1 Mini เป็นแกนหลัก
- โปรโตคอล NTP: พอเปิดเครื่อง ESP8266 ก็จะต่อ WiFi ที่บ้าน แล้วไปถามเวลาแม่จากเซิร์ฟเวอร์ Network Time Protocol (NTP) เลย ทำให้ได้เวลาที่แม่นยำ ไม่คลาดเกิน 2 วินาทีจากเวลาจริง
- สีสันที่เปลี่ยนไป: โปรแกรมถูกตั้งให้เปลี่ยนสีของหน้าปัดทุกๆ 10 นาที ทำให้บรรยากาศในห้องไม่น่าเบื่อ มีชีวิตชีวา
- การจัดการไฟ: ด้วยจำนวน LED ที่อาจจะพุ่งไปถึง 300 ดวง การใช้ Power Supply ขนาด $10\text{A}$ เป็นเรื่องสำคัญมาก วงจรนี้ทำตามมาตรฐาน Adafruit NeoPixel อย่างเคร่งครัด ทั้งการใส่ตัวเก็บประจุ $1000\mu\text{F}$ เพื่อปรับไฟให้เรียบ และตัวต้านทาน (Resistor) เพื่อป้องกันสายข้อมูล
จัดไปวัยรุ่น กับรูปสวยๆ ตอนเสร็จ:
จุดเด็ดของนาฬิกาเรือนนี้:
- โปรเจคที่ทำแล้วสนุกมาก
- ได้นาฬิกาเก๋ๆ ไว้ดูเวลาในห้อง
- มองแล้วเพลินดี
จุดอ่อนที่ต้องรู้:
- เพราะบางช่วง LED อยู่ติดกันเกินไป บางทีก็ดูเวลายากหน่อย
- สีบางสีเพี้ยน เพราะใช้แผ่นอะคริลิกขาวเป็นตัวกระจายแสง เช่น สีเหลืองจะออกไปทางส้ม
แผนในอนาคต:
ในอนาคตวางแผนจะอัพเกรดไปใช้ **ESP32** แทน ESP8266 แล้วก็สร้างแอปสำหรับควบคุมนาฬิกา ผ่านแอปจะได้ปรับสีได้ตามใจชอบ หรือแม้แต่ให้มันแสดงข้อความพิเศษอะไรก็ได้
มุมมองอนาคต: ขยายสู่ IoT
แม้ตอนนี้จะเป็นแค่นาฬิกา WiFi ธรรมดา แต่ผู้สร้างมีแผนจะอัพเกรดไปใช้ ESP32 เพื่อเพิ่มการควบคุมผ่านแอปพิเศษ ซึ่งจะทำให้สามารถเลื่อนข้อความแบบกำหนดเอง เลือกสีผ่านสมาร์ทโฟน หรือแม้แต่ผนวกกับระบบ "Smart Alarm" ได้เลย แม้ในสภาพปัจจุบัน LED Strip Cupboard Clock เรือนนี้ก็ถือเป็นตัวอย่างชั้นยอดแล้ว ว่าของ DIY เนี่ยมันยกระดับความสวยงามในบ้านสมัยใหม่ได้ยังไง
สรุปปิดท้าย:
หวังว่าน้องๆ จะชอบโปรเจคนี้เหมือนพี่นะ เพราะพี่ชอบมาก เรียนรู้อะไรใหม่ๆ เยอะแยะ และทุกขั้นตอนของการทำมันสนุกหมดเลย พี่อยากเห็นน้องๆ นำไอเดียนี้ไปทำบ้าง หรือจะดีกว่านั้นคือดัดแปลงสร้างเวอร์ชั่นของตัวเองขึ้นมาก็ได้ สู้งานนะน้อง!