/* Algotirma : watchdog interrupt akan menghitung
 *  waktu selama 8 detik, jika tidak ada tindakan
 *  maka arduino akan reset secara otomatis, jika
 *  ada tindakan (button ditekan) Loop akan berlanjut
 */

#include <avr/wdt.h>

byte LED = 13;
byte BUTTON = 2;

void interupsi(){
  wdt_disable(); 
}

void setup() {

pinMode (LED,OUTPUT);
pinMode (BUTTON, INPUT);

Serial.begin(9600);

digitalWrite (LED, HIGH);
delay(100);
digitalWrite (LED,LOW);
delay(100);
digitalWrite (LED, HIGH);
delay(100);
digitalWrite (LED,LOW);
delay(100);
}

void loop() {
wdt_enable(WDTO_8S);  //Timer 8 detik
//wdt_enable(WDTO_4S ) Timer 4 detik
//wdt_enable(WDTO_2S ) Timer 2 detik
//wdt_enable(WDTO_1S ) Timer 1 detik
Serial.println("Start");
attachInterrupt (digitalPinToInterrupt(BUTTON),interupsi,LOW);
delay(1000);
wdt_reset();
delay(10000); //pastikan delay ini lebih lama 2 detik dari timer wdt_enable
Serial.println("Loop Berlanjut");
delay(500);
}