Go Down

Topic: Time based output (Read 567 times) previous topic - next topic

leovanasch

Hello!

I'm trying to build a low power gps module with an update rate which is user set. For example, I want to be able to set the update rate to every 15 minutes, 8 minutes, 5 minutes and every minute. When the GPS-location doesnt need to be updated I want the arduino to go into a sleep mode for power saving. Most sleep modes need an interrupt to come out of the sleep mode.
Preferably I want to do this with a timer on the side. I want to be able to set the timer to the user defined countdown time. After the timer has reached 0, I want the (clock)module to sent a pulse to the interrupt pin on an Uno to come out of the sleep mode and get a GPS location.
Ive been looking around the find a solution for this, however I havent found one. I hope someone here can help me out, all help and suggestions are welcome!

Thanks in advance.

Leo

johnwasser

Running the Arduino for a few microseconds every second shouldn't increase the power requirement much.  If your GPS provides a "Pulse Per Second" output you could use that to wake the CPU.  Count off the time and if its not time to take a reading, go back to sleep.

If you want an external chip, many RTC chips have alarm-clock outputs.  You can set the alarm for some time in the future and use the alarm signal to trigger and interrupt.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

Nick Gammon

http://www.gammon.com.au/power


A simple solution is to use the watchdog timer to wake you every 8 seconds. Count those up as appropriate to get your desired interval (eg. a minute would be 7 lots of 8 seconds plus one of 4).

You may (probably) want to use a MOSFET to turn the power to the GPS on and off as required.
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

holmes4

There are a number of different was of making an Arduino "sleep" take a look in the datasheet!.

Mark

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy