Hi,
I've worked on several Arduino projects, including a quadrotor. I am pretty sure I'll be able to build a device based on the interrupts you want.
I am attaching a very simple code I did long back, which involved simple timing and Relays.
(It may be terminated because of the character limit on this proposal)
#define TWO_HOURS 7200000 //use for final running
// #define TWO_HOURS 11999 //use for testing
const int led = 13;
const int relay1 = 4;
const int relay2 = 5;
const int relay3 = 6;
const int relay4 = 7;
unsigned long count = 0;
void wait_two_hours()
{
while((millis() - count) < TWO_HOURS)
{
delay(4000);
}
count = millis();
return;
}
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
digitalWrite(relay1 , LOW);
digitalWrite(relay2 , LOW);
digitalWrite(relay3 , LOW);
digitalWrite(relay4 , LOW);
count = millis();
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
delay(5000);
digitalWrite(relay2, LOW);
delay(2000);
digitalWrite(relay3, HIGH);
delay(5000);
digitalWrite(relay3, LOW);
delay(3000);