I find that a 9 volt battery drains in 12 hours when connected to a sainsmart 8 channel relay. I use the relay to control pumps that I turn on for 2 minutes every 2 hours. I have a separate battery pack to power the pump/relays.
I think the main reason for loss in power is that the relay is active low -- therefore, I send a digitalwrite high command to all the relays to keep them off.
Is there any work around so that I don't have to send voltage to the relays constantly. Or am I draining the battery fast for another reason...
I use Narcoleptic library to put the arduino to sleep for 30 second intervals.
If you use separate power for the relays, then you should only connect relay VCC (and the inputs) to the Arduino.
NOT relay ground.
So JD-VCC jumper removed, and relay power connected to JD-VCC and relay board ground.
Arduino 5volt connected to relay VCC and relay inputs.
Relay ground NOT connected to Arduino ground.
Reverse logic.
One relay input now draws ~2mA (= opto LED) from the Arduino when the Arduino pin is LOW (= relay on).
No current flows when the Arduino pin is HIGH.
Which Arduino are you using.
Only some are, or can be made into low power after some modding.
Leo..
Never had the need for low power/sleep applications, but I think the Uno is not the greatest for that.
AFAIK the USB/serial chip, power LED, and 5volt and 3.3volt regulators use enough power to drain a 9volt smoke alarm battery in a day.
Leo..