นาฬิกาของผมทำงานดังนี้: ทุกๆ 60 วินาที นาทีจะเพิ่มขึ้น 1, ทุกๆ 60 นาที ชั่วโมงจะเพิ่มขึ้น 1, และเมื่อชั่วโมงถึง 13 ก็จะเปลี่ยนเป็น 1. เราทุกคนทราบดีว่านาฬิกาทำงานอย่างไร จากนั้น หากคุณกดปุ่ม "change time" ค้างไว้หนึ่งวินาที คุณจะสามารถเปลี่ยนเวลาได้โดยใช้ปุ่มอื่นๆ ตามที่แสดงในวิดีโอ ผมไม่ทราบว่าทำไมถึงตัดสินใจสร้างสิ่งนี้ขึ้นมา ผมแค่คิดว่ามันน่าจะเป็นประสบการณ์การเรียนรู้ที่สนุกสนาน นี่คือวิดีโอที่ผมสาธิตการใช้งาน เมื่อผมมี 3D printer ในที่สุด ผมจะเปลี่ยนสิ่งนี้ให้เป็นนาฬิกาที่สมบูรณ์แบบ ขออภัยเรื่องรูปลักษณ์ภายนอก
การสาธิตวิธีการใช้นาฬิกาของผม
รายละเอียดทางเทคนิคเพิ่มเติม
การรักษาเวลาที่แม่นยำ
Arduino มาตรฐานไม่แม่นยำพอสำหรับนาฬิกาในระยะยาว ดังนั้นโปรเจกต์นี้จึงใช้ DS3231 RTC module
- High Accuracy (ความแม่นยำสูง): DS3231 มีการชดเชยอุณหภูมิ ซึ่งหมายความว่ามันจะรักษาความแม่นยำได้ภายในไม่กี่นาทีต่อปี มันสื่อสารกับ Arduino ผ่าน I2C bus
- Battery Backup (แบตเตอรี่สำรอง): โมดูลนี้มี CR2032 coin cell ทำให้มั่นใจได้ว่าเวลายังคงถูกรักษาไว้แม้ว่าแหล่งจ่ายไฟหลักของ Arduino จะถูกตัดการเชื่อมต่อ
ส่วนติดต่อผู้ใช้ (UI) และการโต้ตอบ
- Display (หน้าจอแสดงผล): โดยทั่วไปใช้ 4-digit 7-segment display (TM1637) หรือ MAX7219 matrix
- Alarm Feature (คุณสมบัติการปลุก): มีปุ่มกดสำหรับตั้งค่าชั่วโมงและนาที Arduino จะเปรียบเทียบ "Current Time" จาก RTC กับ "Alarm Time" ที่อยู่ใน RAM ของมัน และจะส่งสัญญาณให้ buzzer ทำงานเมื่อเวลาตรงกัน