#include #include #include // Pins #define MOVEMENT_PIN PCINT2 #define SENDER 4 ContactSensor sensor = ContactSensor(MOVEMENT_SENSOR, SENDER); volatile bool shouldSend = false; void setup() { pinMode(MOVEMENT_PIN, INPUT_PULLUP); sensor.setup(); TinyPower::setup(); PCMSK |= (1 << MOVEMENT_PIN); } void loop() { if (shouldSend) { shouldSend = false; int currentState = digitalRead(MOVEMENT_PIN); sensor.sendState(!currentState); } TinyPower::sleep(); } ISR(PCINT0_vect) { shouldSend = true; }