¿Por que necesitas interrupciones? Con
digitalRead deberia bastar, aqui tienes un ejemplo muy bueno de la propios tutoriales oficiales de Arduino, lo usan para encender o apagar un LED segun este pulsado o no el switch, pero tu puedes cambiarlo para que setee la variable que quieras (o cualquier otra cosa que se te ocurra)
http://arduino.cc/en/Tutorial/ButtonSaludos
int ledPin =13;
int entrada =4;
int valor;
int salida =7;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(entrada, INPUT);
pinMode(salida, OUTPUT);
}
void loop()
{
digitalWrite(salida, HIGH);
valor =digitalRead(entrada);
if (valor ==HIGH) { digitalWrite(ledPin, HIGH); }
else { digitalWrite(ledPin, LOW); }
}
Led en el 13, y pulsador en el 7 y 4. Se me queda todo el rato encendido el led