รู้เวลาและอุณหภูมิห้องได้แค่ปลายนิ้ว
โปรเจกต์นี้ทำง่ายๆ เลยวัยรุ่น ช่วยให้เราเช็คเวลา วันที่ และอุณหภูมิห้องได้แค่การโบกมือผ่าน TCRT5000 (IR sensor) เท่านั้นเอง ตัวเครื่องขนาดกำลังดีไม่เกะกะ เอาไปวางไว้ข้างเตียงไว้วัดใจ เอ้ย! วัดอุณหภูมิกับดูเวลาก่อนนอนหรือตอนตื่นนอนได้แบบหล่อเท่เลยงานนี้
ส่วนที่ 1: ปลุกระบบให้ตื่นแค่โบกมือ
หัวใจหลักของระบบ (ตัว Atmega328 ซึ่งเป็นหัวใจของ Arduino Uno นั่นแหละ) พี่สั่งให้มันอยู่ใน Sleep Mode ตลอดเวลาเพื่อประหยัดพลังงาน แต่พอมีคนไปโบกมือผ่าน TCRT5000 (IR sensor) ปุ๊บ มันจะทำการส่งสัญญาณ Interrupt ไปปลุกระบบให้ตื่นขึ้นมาทำงานทันที ระบบถึงจะเริ่มรันงานต่อ สู้งานนะน้อง!

ส่วนที่ 2: วัดเวลาและอุณหภูมิ
พอระบบโดนปลุกให้ตื่นแล้ว มันก็จะวิ่งไปวัดอุณหภูมิโดยใช้ Sensor LM35 จากนั้นก็ไปเช็คเวลาจาก RTC Module แล้วเตรียมข้อมูลเอาไว้ไปโชว์บนหน้าจอ LCD ต่อไป
ส่วนที่ 3: โชว์บน LCD แล้วกลับไปนอนต่อ
ท้ายที่สุด ข้อมูลจะถูกส่งไปแสดงผลที่ LCD โดยผ่าน Module LCM1602 (ตัวนี้จะเชื่อมแบบ Pin ต่อ Pin กับ LCD แล้วแปลง Output เป็น I2C ให้เราใช้งานง่ายๆ)
ทริคเด็ด: พี่ต่อ Pin 16 และ 15 ของ LCD เข้ากับ Pin 6 และ 7 ของ Arduino เพื่อที่พี่จะได้สั่งเปิด-ปิดไฟ Backlight ของ LCD ได้ตามใจชอบ แถมพี่ใช้ระบบ PWM ที่ Pin 6 เพื่อสั่งให้ไฟ Backlight ของ LCD ค่อยๆ สว่างขึ้นแบบนุ่มๆ (Smooth) ด้วยนะ หล่อเท่เลยงานนี้

รายละเอียดทางเทคนิคเพิ่มเติม
Desktop Chronometry & IAQ Hub
นี่คืออุปกรณ์ตั้งโต๊ะระดับโปรที่รวมทั้งการบอกเวลาที่แม่นยำและการตรวจสอบคุณภาพอากาศภายในอาคาร (IAQ) ไว้ด้วยกัน
- Precision RTC Synchronization: ใช้ DS3231 I2C RTC เพื่อรักษาความแม่นยำของเวลาในระดับ ±2ppm โดย Arduino จะไปดึงข้อมูลมาทุกๆ 1 วินาที แล้วแสดงผลแบบ "Digital Clock" บนหน้าจอที่มี Contrast สูง อ่านง่ายชัดเจน
- Altium-Engineered Circuitry: แผ่น PCB ภายในออกแบบด้วยโปรแกรม Altium Designer มั่นใจได้ว่าการวาง Layout จะกระทัดรัดและไม่มีสัญญาณรบกวน (Noise) ลงตัวกับ Case ที่ทำมาโดยเฉพาะพอดีเป๊ะ
การออกแบบ
- Fritzing Visualization Proofing: การต่อสายและวางตำแหน่งอุปกรณ์ต่างๆ ถูกตรวจสอบผ่าน Fritzing มาเรียบร้อยแล้ว เพื่อให้เห็นพิมพ์เขียวการเชื่อมต่อที่ชัดเจนก่อนจะประกอบจริง หรือจะเอาไปดัดแปลง Hardware ต่อในอนาคตก็ทำได้ง่ายๆ จัดไปวัยรุ่น!