/********************************
Name: Albion Thaqi
Datum: 04.04.24
Übung: Eieruhr mit Taster und Potentiometer
********************************/
int sec = 0;
int min = 0; // Ändere die Zeit auf 3 Minuten
int totalSeconds = 1;
int potival = 0;
const int ledPin = 13;
const int buzzer = 10; // OUTPUT Buzzer
const int taster = 12; // Definiere Taster-Pin
const int poti = A2;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(taster, INPUT);
Serial.begin(9600);
Serial.println("Stellen Sie den Timer ein und drücken Sie die Taste:");
}
void loop()
{
while (digitalRead(taster) == LOW)
{
timerset();
Serial.print(min);
Serial.print(":");
if (sec < 10)
{
Serial.print("0");
}
Serial.println(sec);
delay(1000); // Verzögerung eine Sekunde
}
if (digitalRead(taster) == HIGH) // Überprüfe, ob Taster gedrückt
{
totalSeconds = min * 60 + sec;
while (totalSeconds >= 0)
{
Serial.print(min);
Serial.print(":");
if (sec < 10)
{
Serial.print("0");
}
Serial.println(sec);
delay(1000); // Verzögerung um eine Sekunde
totalSeconds--; // Verringere die Sekunden
min = totalSeconds / 60; // Minuten aus den verbleibenden Sekunden
sec = totalSeconds % 60; // verbleibende Sekunden
}
while (totalSeconds <= 0)
{
if (digitalRead(taster) == HIGH)
{
totalSeconds = 1;
}
digitalWrite(ledPin, HIGH); // Schalte die LED ein
tone(buzzer, 600, 1000);
delay(1000);
digitalWrite(ledPin, LOW); // Schalte die LED ein
delay(1000);
}
}
}
void timerset() // Unterfunktion
{
potival = analogRead(poti);
potival = map(potival, 0, 1023, 30, 260);
min = potival / 60;
sec = potival % 60;
}