@nekitoss
I used 3.3V pro mini with regulator removed and powered by Vin pin. Also removed leds from the pro mini.
I used minicore bootloader.
I used the small pir sensors and again removed the regulator to power directly from the pro mini outputs.
After that sleep the node and trigger on interrupt.
Send battery level once a day.
Use inbuilt battery level monitor and not external components that constantly drain power to get battery level.
1.8V is 0% on the graph (not visible yet!) but I have had nodes working below 1.7V It's a matter of luck with that it seems.
Hope this helps you on the right track. I'll try and help if you want.
This is the latest image and still going strong after 18 months. Voltage is at 2.903V
Here is photo of the test example - I need to make a case and produce more of them over winter.....
Here is the same build/code of a window sensor. Similar time frame but hardly triggered.....
I built a trip wire for the post box that I'm connecting. It's however based on a mercury tilt sensor so I'm really not sure whether I think it's a great idea putting it to use (at least not with a sturdy case...). However, I can share my code:
#define DIGITAL_INPUT_SENSOR 2 // The digital input you attached your motion sensor. (Only 2 and 3 generates interrupt!)
#define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
MyMessage msgTripped(CHILD_ID_TRIPPED, V_TRIPPED);
void setup()
{
gw.sendSketchInfo("Postal", "1.0");
gw.present(CHILD_ID_TRIPPED, S_MOTION);
pinMode(DIGITAL_INPUT_SENSOR, INPUT); // sets the motion sensor digital pin as input
}
void loop()
{
boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == LOW;
if(tripped) {
gw.send(msgTripped.set("1")); // Send tripped value to gw
}
gw.sleep(INTERRUPT,FALLING, SLEEP_TIME);
}