#include <TimerOne.h>
const int ledM = 3, ledH = 2, pb = 7;
void setup() {
Serial.begin(9600);
pinMode(ledM, OUTPUT);
pinMode(ledH, OUTPUT);
pinMode(pb, INPUT);
//inisialisasi interrupt
Timer1.initialize(1000000);
Timer1.attachInterrupt(ledTask);
}
void loop() {
//mencetak pesan ke serial monitor
Serial.println("Universitas Indonesia, universitas kami.");
Serial.println("Ibukota Negara, pusat ilmu budaya bangsa.");
Serial.println("Kami mahasiswa, pengabdi cita.");
Serial.println("Ngejar ilmu pekerti luhur.");
Serial.println("'Tuk nusa dan bangsa.");
Serial.println("S'mangat lincah gembira.");
Serial.println("Sadar bertugas mulia.");
Serial.println("Bersatu dalam karya.");
Serial.println("Mahasiswa...");
Serial.println("Universitas Indonesia, perlambang cita.");
Serial.println("Berdasarkan Pancasila-dasar negara.");
Serial.println("Kobarkan semangat kita.");
Serial.println("Demi Ampera.");
//LED merah ON setelah pesan selesai
digitalWrite(ledM, HIGH);
Serial.println("PESAN SELESAI");
delay(1000);
digitalWrite(ledM, LOW);
delay(1000);
if (digitalRead(pb) == HIGH) {
digitalWrite(ledH, HIGH);
Serial.println("INTERRUPT ON!");
} else {
digitalWrite(ledH, LOW);
}
}
void ledTask() {
if (digitalRead(pb) == HIGH) {
digitalWrite(ledH, HIGH);
Serial.println("INTERRUPT ON!");
} else {
digitalWrite(ledH, LOW);
}
}