Recently i have started a new project. It has to consume very low power. So i decided to deep sleep the arduino and remove pwr led. But i have to wake it up by wireless communication by interrupts, after its work finished it has to go into sleep mode again.
But i couldnt find ant method to wake it up. I have tried to use rf receivers analog pin as trigger but it isnt gone well. And i switch to using hc05 bluetooth module, but the module doesnt support low consuption.
Although there are wireless recievers that can produce an interrupt when they receive 'a signal' and you can then use the interrupt to wake up an Arduino, the wireless receiver has to be powered and running in order to recieve 'a signal'.
There are also Wireless receivers that can be put into deep sleep mode, but then their receiver part is off, and they cannot receive 'a signal'.
As far I've been reading sleep modes for Arduino do not cover all components, so for example the voltage regulator is always drawing current so no efficient at all if you want to use a battery. There are other boards with different microcontrollers that are designed for low power requirements but I think Arduino is not the best option. Anyway I'm using an Arduino Due and an XBee module in my project and finally decided to use a timer circuit that completely shutdowns everything. The circuit is based on TPL5110 IC and is from Adafruit, it can wake up automatically with a controllable period between 100ms and 2 hours which is perfect for my needs (sensor readings every hour). When it is active, Arduino sketch is reading sensor data and send it wireless, finally as a last code line I set a PWM output high to raise a pulse to 'Done' pin in TPL5110 which cuts immediately power, and it waits with Vout = 0 until the next cycle. Is an easy solution for just 5$.
Recently i have started a new project. It has to consume very low power. So i decided to deep sleep the arduino and remove pwr led. But i have to wake it up by wireless communication by interrupts, after its work finished it has to go into sleep mode again.
But i couldnt find ant method to wake it up. I have tried to use rf receivers analog pin as trigger but it isnt gone well. And i switch to using hc05 bluetooth module, but the module doesnt support low consuption.
Thanks in advence
For the best chance of help, you should tell us which parts you are actually using, you presumably know which 'Arduino' and 'rf receiver' you are using, the forum does not.
No way to do what you want with that receiver by itself, but the basic problem is that the receiver has to be running all the time in order to be able to wake up the Arduino, so there isnt any way to make such a project low power.
Cheap OOK 433 Mhz receivers typically draw around 4 ma .
The only way I know to solve this problem, and its not a great solution, is to periodically wake up the Arduino at a known time , use the Arduino to turn the receiver on and listen for a short period and then if nothing is heard turn the receiver off and go back to sleep again.
This solution however needs an accurate clock connected to the Arduino to wake it up at a known time.
You would also need something like a PT2272 decoder connected to the receiver, one of the data lines from the PT2272 connected to an Arduino input pin, and a 433 Mhz transmitter and PT2262 encoder and clock at the transmitting end., or another Arduino using RC switch.
You might be able to hack up an RXB12 to do a little better (it has a semi-sleep mode which can be woken with a specific signal, and triggers a pin that can wake a micro - but you'd need to carefully unsolder and pry up pins on the SOIC-16 package and wire to them.). See the SYN470 datasheet for more info. I haven't tried this.
Power usage from the receiver will still be orders of magnitude higher than the deep-sleeping microcontroller.