สถานการณ์
ฉันได้สร้างล็อคประตูอิเล็กทรอนิกส์ที่ดีสำหรับห้องพักหอพักของฉัน ปัจจุบันเป็น Arduino Diecimila ที่มี servo [un] ล็อคประตู มันมีปุ่มกดตัวเลขที่มีปุ่ม 3x4 และ 5 LED (2 ชุดคู่และ LED เดียว) มันยังทำงานบนเครื่องชาร์จโทรศัพท์มือถือ
ตอนนี้ฉันได้ออกแบบใหม่เพื่อให้ทำงานบน Arduino แบบสแตนด์อโลน (ATmega328) แต่ต้องการให้มันทำงานบนแบตเตอรี่ AA หรือแม้กระทั่งแบตเตอรี่ขนาด 9V
สำหรับส่วนซอฟต์แวร์ฉันคิดว่าฉันสามารถsleep
โทรหาบางครั้งภายในวิธีวนรอบเพื่อให้การใช้พลังงาน ATmega ต่ำที่สุด และปล่อย "แฟลช" ของ LED ให้นานที่สุดเท่าที่จะเป็นไปได้
คำถามที่ 1
เมื่อมีการกดปุ่มในช่วงเวลาไม่กี่มิลลิวินาทีที่บอร์ดหลับจะมีการ "จดจำ" / "ถือ" ไว้จนกว่ามันจะออกจากโหมดสลีปแล้วจะถูกเลือกเป็นการกดปุ่มหรือไม่?
อะไรจะเป็นวิธีที่ดีที่สุดในการจัดการกับการกดปุ่มนี้ในโหมดสลีป ฉันสามารถเขียนโค้ดเพื่อให้ปลุกเมื่อมีการใช้งานปุ่มหรือฉันต้องปล่อยให้โหมดนอนหลับเช่น 10m.s ในทุก ๆ วง?
คำถามที่ 2
ฉันจะเข้าใกล้คณิตศาสตร์ในการคำนวณว่าต้องใช้แบตเตอรี่ AA จำนวนเท่าใดเพื่อเรียกใช้อุปกรณ์นี้เป็นเวลา 10 เดือน
นอกจากนี้ฉันไม่ทราบวิธีการวัดการใช้พลังงานเฉลี่ยต่อนาทีหรืออย่างนั้นเนื่องจากมันสลับอย่างรวดเร็วเป็นต้น