#define mediaPlayer 5 // Pini ku është lidhur MediaPlayer ose LED-i
#define Ndizet 3 // Pini ku është lidhur butoni
unsigned long mediaPlayerStartTime = 0; // Koha kur MediaPlayer u ndez
unsigned long timerDuration = 120000; // 2 minuta (120,000 milisekonda)
void setup() {
pinMode(mediaPlayer, OUTPUT); // Pini i MediaPlayer-it si dalje
pinMode(Ndizet, INPUT_PULLUP); // Pini i butonit si hyrje me pull-up të brendshëm
digitalWrite(mediaPlayer, LOW); // Fillimisht MediaPlayer është i fikur
Serial.begin(9600); // Aktivizo monitorin serial për të printuar informacion
}
void loop() {
// Kontrollo nëse butoni është shtypur
if (digitalRead(Ndizet) == LOW) { // Butoni është shtypur (LOW për shkak të INPUT_PULLUP)
digitalWrite(mediaPlayer, HIGH); // Ndez MediaPlayer-in (ose LED-in)
mediaPlayerStartTime = millis(); // Regjistro kohën kur u ndez
while (digitalRead(Ndizet) == LOW); // Prit derisa butoni të lirohet (evito shtypje të shumta)
}
// Kontrollo nëse kanë kaluar 2 minuta
if (millis() - mediaPlayerStartTime < timerDuration) {
// Shfaq kohën e mbetur në sekonda
unsigned long remainingTime = (timerDuration - (millis() - mediaPlayerStartTime)) / 1000; // Përdorimi i millisekondave dhe ndarja me 1000 për të marrë sekondat
Serial.print("Sekondat mbetura: ");
Serial.println(remainingTime); // Printo kohën mbetur në sekonda
} else {
digitalWrite(mediaPlayer, LOW); // Fik MediaPlayer-in (ose LED-in)
Serial.println("MediaPlayer është fikur."); // Njoftim kur MediaPlayer është fikur
}
}