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