#include "LowPower.h"
// Use pin 2 as wake up pin
const int wakeUpPin = 2;
void wakeUp()
{
// Just a handler for the pin interrupt.
}
int ledPin[8] = { 4, 5, 6, 7, 8, 9, 10, 11};
const int buttonPin = 13;
int buttonState = HIGH;
int pushCounter = 0;
int numberOfLED = 8;
void setup() {
pinMode(wakeUpPin, INPUT);
pinMode(buttonPin, INPUT);
for (int i = 0; i <= 8; i++) {
pinMode(ledPin[i], OUTPUT);
}
pinMode(wakeUpPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
for (int i = 0; i < numberOfLED; i++) {
if (pushCounter % numberOfLED == i) {
digitalWrite(ledPin[i], HIGH);
delay(5000);
digitalWrite(ledPin[i],LOW);
}
else {
digitalWrite(ledPin[i], LOW);
}
}
pushCounter++;
delay(400);
}
attachInterrupt(0, wakeUp, HIGH);
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
// Disable external pin interrupt on wake up pin.
detachInterrupt(0);
}