5

I want to connect a device to a door handle, so whenever someone opens the door I'll be able to send a message via my arduino that is connected to a WIFI shield.

I have a simple orientation sensor, so I know when the handle is being pushed. The problem is I don't want to keep the Arduino on all of the time (energy issues).

The orientation sensor closes a circuit for about 100ms, so I thought to connect the battery to the Arduino in series with the sensor, but the problem is that it might take more than 100ms to connect and send the data - I need at least 5 seconds to be sure.

Any ideas on how to make the Arduino "power up" for 10 seconds each time someone uses the door handle and then to cut off the power?

7

Easy answer: Don't.

Have the Arduino sleep most of the time, and let the door handle invoke an interrupt that wakes it up. Then do whatever processing is required, and then go back to sleep.

This won't work as well with a full Arduino as it would with a bare MCU since the rest of the board has its own quiescent load, but once you get it working with an Arduino you can get a bare MCU, wire it up, write the code to it, and away you go.

|improve this answer|||||
4

I had a similar situation some time ago. I don't have the schematic at hand, but it looked more or less like the one below.

enter image description here

It works as follows:

  1. Momentary switch closes and saturates Q1 via R1. It also powers the Arduino. The I/O in on the Arduino has not been programmed yet so it floats. Q1 energizes the coil of the relay which closes its N.O. contact. Now the circuit has latched and you have power to the Arduino for as long as you want.

  2. Arduino starts, does its work (xmits signal or whatever) and then programs the selected I/O pin as output and pulls it low. This will divert current away from the base of Q1, which will cut the current to the coil and everything closes down and no power is drawn from the battery. R1 should be some 10 times greater than R2 for this to work. Say R1 = 1K, and R2 = 100 Ohm.

This is a concept drawn from memory, it might require some refining :-)

|improve this answer|||||
  • I was going to suggest something along these lines - having the Arduino use a relay to turn itself off would fit the bill quite nicely. Of course the current draw of the relay might be more than it's worth, but I confess very little knowledge in that area – Wayne Werner Jan 14 '16 at 21:28
2

You may find the answer to How can a let my atmega328 run for a year on batteries? from SE Electrical Engineering helpful. It is a very detailed resource on power saving measures for the Arduino.

|improve this answer|||||
2

You are much better off sleeping the Arduino. In power-down mode the processor can use as little as 100 nA (0.1 µA) which is somewhat less than the self-discharge rate of batteries anyway.

I have a page about power saving techniques.

You also would want to make a custom board, or at least choose an Arduino without a voltage regulator, LEDs, USB chip, etc.

The Atmega328P, when in power-down sleep mode, can be woken by an external interrupt, such as what your door could provide.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.