I built a basic LED blinker to serve as a car theft deterrent. Originally I was using a 9V battery and delay() but I've refined my approach to consume less power. Here's my code, utilizing the JeeLib library:
#include <JeeLib.h>
int led = 13;
ISR(WDT_vect) { Sleepy::watchdogEvent(); }
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
void loop() {
blink_quick();
blink_quick();
Sleepy::loseSomeTime(8000);
}
void blink_quick() {
digitalWrite(led, HIGH);
Sleepy::loseSomeTime(250);
digitalWrite(led, LOW);
Sleepy::loseSomeTime(250);
}
It just blinks twice every 8 seconds. I also used 4 AA batteries as they have a higher amperage rating. How long should this system work before I need to replace the batteries?
My thinking is that AA batteries offer 2000mAh and an Arduino typically consumes about 45mA on average. If I were running the above code with delay() instead of the JeeLib functions, it would last for 44 hours. Let's call one cycle the two blinks and the following 8 seconds of rest. I am confused about how long I should factor in for the digitalWrite(led, HIGH) and the corresponding 'low' call, because the rest of the time, the circuit is using JeeLib. I am just interested in figuring out how long I can let this run without changing the batteries, and admittedly I am not experienced enough to tell definitively.
Thanks!