ใครมีความรู้ด้าน ARduino ขอคำปรึกษาหน่อยครับ เกี่ยวกับ KEYPAD4x4 และ RTC

อุปกรณ์ที่ใช้มี Arduino uno R3 , RTC DS3231,จอ LCD 16x2

พอดีต้องการสร้างนาฬิกาปลุกตั้งเวลาอะครับ  การทำงานคือ
1.เปิดหน้ามาเป็นหน้า Menu ให้เลือก -set time (เอาไว้ตั้งเวลา)
                                                 -alarm(เอาไว้ตั้งนาฬิกาปลุก)

2.พอตั้งค่าเวลา set time เสร็จ กดปุ่ม # จะกลับมาที่หน้า menu
   แล้วกดตั้งเวลา alarm ต่อ พอกดปุ่ม # ก็จะแสดงเวลาที่ตั้งไว้ออกมา เช่น 11:30:01 จนกว่าจะถึงเวลาที่ตั้ง alarm ไว้ถึงปลุก

ที่นี้ปัญหาคือ เวลาแสดงเวลา 11:30:01  โปรแกรมมันจะรันรับค่าเวลาจาก Real time Clock(RTC) วินาทีต่อวินาทีอะครับ เป็น
11:30:01 >>>11:30:02>>>11:30:03 ..... ไปเรื่อยๆในลูปของมัน  


ปัญหาคือ : ต้องการกดปุ่ม # แล้วให้หลุดออกจากลูปการแสดงค่าเวลา แล้วกลับมาที่หน้า menu อะครับ  พอใช้คำสั่ง getkey();
                         แล้วตรวจสอบว่า      รับค่าเป็น # เมื่อไรให้หลุดจากลูปไปที่หน้าเมนู มันไม่ได้อะครับ เนื่องจากมันเป็นการตรวจสอบที่
                         คำสั่งเงื่อนไขบรรทัดนั้น แต่ในลูปมีหลายบรรทัด ถ้าเรากดปุ่ม # ไม่ตรงกับที่โปรแกรมกำลังอ่าน Code getkey(); ก็จะ
                         ทำให้ไม่สามารถตรวจสอบได้ว่ากดปุ่ม # นั้นหรือยัง เลยอยากทราบว่าควรแก้ไขปัญหายังไงดีครับ


พอทราบคร่าวๆมาว่าต้องใช้คำสั่ง interrupt  แต่ลองศึกษาดูแล้ว มีแต่ ใช้ ปุ่ม swith เพียวๆ ต่อแยกอะครับ แต่อยากใช้ปุ่มจาก Keypad ในการinterrupt ให้หลุดออกจากลูปการรับค่า ปุ่มที่ต้องการใช้คือ # ต้องทำยังไงอะครับ  


มีใครพอจะช่วยชี้แนะให้หน่อยได้ไหมครับ
เม่าเหม่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่