34 lines
751 B
C++
34 lines
751 B
C++
// **** INCLUDES *****
|
|
#include "LowPower.h"
|
|
|
|
// Use pin 2 as wake up pin
|
|
const int wakeUpPin = 2;
|
|
|
|
void wakeUp()
|
|
{
|
|
// Just a handler for the pin interrupt.
|
|
}
|
|
|
|
void setup()
|
|
{
|
|
// Configure wake up pin as input.
|
|
// This will consumes few uA of current.
|
|
pinMode(wakeUpPin, INPUT);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
// Allow wake up pin to trigger interrupt on low.
|
|
attachInterrupt(0, wakeUp, LOW);
|
|
|
|
// Enter power down state with ADC and BOD module disabled.
|
|
// Wake up when wake up pin is low.
|
|
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
|
|
|
|
// Disable external pin interrupt on wake up pin.
|
|
detachInterrupt(0);
|
|
|
|
// Do something here
|
|
// Example: Read sensor, data logging, data transmission.
|
|
}
|