0

My Arduino Mini board has DHT22 temperature sensor and 433MHz radio transmitter modules. I'm using DHT and RCswitch libraries to make use of them. Code looks like this:

void setup() {
 tempSwitch.enableTransmit(RADIO_PIN);
 dht.begin();
}
void loop() {
 float temp = dht.readTemperature();
 unsigned long message = createTemperatureMessage(SENSOR_ID, temp);
 tempSwitch.send(message, 32);
#ifdef MY_DEBUG
 unsigned int sleepCount = 1; 
#else
 // 3600s / 2 / 8s == 225
 unsigned int sleepCount = 225;
#endif
 for (; sleepCount > 0; sleepCount--) {
 LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
 }
}

So I'm reading temperature and sending it using RCswitch library. Initially I just had delay(1000); instead of fancy LowPower sleep loop but I wanted to make my "device" more battery-friendly so I switched to low-power sleep.

The problem is that now Arduino is only sending data first time and after sleeping 30 minutes (in "release" mode) it does not send anything anymore. If I reduce 30 minutes to 8 seconds it is capable of sending data as well as if I replace sleep with delay(30*60*1000);.

From beyond it looks like something is not caching up after the sleep. Do I need to "wake" radio module in any special way? How to fix that?

asked Aug 2, 2018 at 18:39

1 Answer 1

1

I've never tried this, but if you are putting the Arduino to sleep I would expect it to cut power to the devices (does it?) if it does then after a 30 minute sleep I would expect the devices to come back up in the initial state. Guessing by your code the initial state of the radio is Tx Disabled, so try moving the

tempSwitch.enableTransmit(RADIO_PIN);

to before the

float temp = dht.readTemperature();

line.

I'd also be concerned that the DHT22 is not in the correct state after you wake up.

Can you try doing a 1 second LowPower sleep in debug mode, I suspect it would work more often.

answered Aug 3, 2018 at 12:09
1
  • 1
    You idea kind of worked (I just called setup() instead) but with addition of delay(1000); after power-down sleep itself. Commented Aug 6, 2018 at 7:25

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.