ชื่อโปรเจกต์: เครื่องจับเวลาในครัวพร้อมนาฬิกา
คำขอคือเครื่องจับเวลาในครัวที่ทำงานเหมือนกับเครื่องจับเวลาบนเตาอบไมโครเวฟ Whirlpool


คู่มือผู้ใช้
- ลูกบิดแบบหมุนยังเป็นปุ่มกดด้วย
- ในโหมดนาฬิกา การกดลูกบิดหรือหมุนตามเข็มนาฬิกาจะเป็นการเริ่มโหมดตั้งค่า Timer
- การหมุนลูกบิดในโหมดตั้งค่า Timer จะเป็นการตั้งเวลาเริ่มต้นของการนับถอยหลัง
- การกดลูกบิดเมื่อตั้งเวลาเริ่มต้น Timer แล้ว จะเป็นการเริ่มนับถอยหลังของ Timer
- การหมุนลูกบิดในโหมด Countdown จะเป็นการเปลี่ยนเวลาการนับถอยหลังที่กำลังทำงานอยู่
- เมื่อการนับถอยหลังของ Timer ถึงศูนย์ หน้าจอจะเริ่มกะพริบด้วยความสว่างเต็มที่และเสียงกริ่งจะดังขึ้นสามครั้ง
- การกดลูกบิดจะสิ้นสุด Alarm และส่ง Timer กลับไปยังเวลาเริ่มต้นที่ตั้งค่าไว้ล่าสุด
- ในโหมด Alarm เสียงกริ่งจะดังขึ้นสามครั้งทุกนาที
- การกดลูกบิดที่ 0:00 จะสลับกลับไปยังหน้าจอแสดงนาฬิกา
- โหมดตั้งค่า Timer จะกลับสู่หน้าจอแสดงนาฬิกาหลังจากไม่มีกิจกรรมเป็นเวลาหนึ่งนาที
- การกดค้างในโหมดตั้งค่า Timer จะรีเซ็ตเวลาเริ่มต้นของ Timer เป็น 0:00
- การกดค้างในโหมดนาฬิกาจะเริ่มโหมดตั้งเวลาของนาฬิกา
- เวลาการกดค้างคือ 3 วินาที
- การกระทำที่เป็นไปได้ทั้งหมดจะแสดงอยู่ในแผนภาพสถานะ
รายละเอียดทางเทคนิคเพิ่มเติม
อุปกรณ์ทำงานหลายอย่างความแม่นยำสูง
เครื่องมือในครัวเรือนที่ใช้งานได้จริง ซึ่งรวมนาฬิกา 24 ชั่วโมงแบบดั้งเดิมเข้ากับ Countdown Timer อิสระที่มีความแม่นยำสูง
- Asynchronous Dual-Clock Logic: Arduino จัดการ Loop การติดตามเวลาอิสระสอง Loop — Loop หนึ่งสำหรับรักษา "เวลาปัจจุบัน" และอีก Loop หนึ่งสำหรับ "Countdown Timer" — โดยไม่ใช้การเรียก
delay() - การเชื่อมต่อผ่าน I2C LCD: แสดงทั้งนาฬิกาและ Timer ที่ทำงานอยู่บน 16x2 LCD Firmware มีคุณสมบัติ "Timer Expired" ที่ทำให้ Backlight กะพริบและส่งเสียง Alarm จาก piezo เป็นช่วงๆ
การโต้ตอบ
- การตั้งเวลาด้วย Rotary Encoder: ใช้ Rotary Encoder สำหรับ "Fast-Dialing" Timer ทำให้ผู้ใช้สามารถตั้งระยะเวลา 60 นาทีได้ด้วยการคลิกเพียงไม่กี่ครั้ง เทียบกับการกดปุ่มหลายสิบครั้ง