#include #include #include #include #define Relay_On DDB3 #define Relay_Off DDB4 #define Output_Pin DDB1 #define Input_Pin DDB2 #define bit_flip(p,m) ((p) ^= (m)) const unsigned long Alarm = 600; //Time in seconds that must pass without signal from Pi before power is reset unsigned long Timer_time; //Tracks time since last signal from Pi ISR(INT0_vect) //Interrupt routine which is called when signal is recieved from Pi { Timer_time = 0; //Reset timer } void Turn_relay_off(void) //turns relay off { bit_flip(PORTB,(1<