//Michael Lackner
//06.05.2025
//Eieruhr Teil 3
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int pot = A0;
const int btn = 4;
const int led = 12;
const int buz = 7;
int t = 0;
bool running = false;
void setup() {
pinMode(pot, INPUT);
pinMode(btn, INPUT);
pinMode(led, OUTPUT);
pinMode(buz, OUTPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
int b = digitalRead(btn);
if (!running) {
if (b == LOW) {
t = map(analogRead(pot), 0, 1023, 0, 900);
int m = t / 60;
int s = t % 60;
Serial.print("Kochzeit: ");
lcd.setCursor(0, 0);
lcd.print("Kochzeit:");
if (m < 10) Serial.print("0");
Serial.print(m);
Serial.print(":");
if (s < 10) Serial.print("0");
Serial.println(s);
lcd.print(m);
lcd.print(":");
lcd.print(s);
delay(200);
}
if (b == HIGH) {
running = true;
Serial.println("Countdown startet!");
}
} else {
if (t > 0) {
delay(1000);
t--;
int m = t / 60;
int s = t % 60;
Serial.print("Kochzeit: ");
lcd.setCursor(0, 0);
lcd.print("Kochzeit:");
if (m < 10) Serial.print("0");
Serial.print(m);
Serial.print(":");
if (s < 10) {
Serial.print("0");
}
Serial.println(s);
lcd.setCursor(0, 1);
lcd.print(m);
lcd.print(":");
lcd.print(s);
} else {
for (int i = 0; i < 5; i++) {
digitalWrite(led, HIGH);
delay(200);
digitalWrite(led, LOW);
delay(200);
}
tone(buz, 1000, 500);
delay(1000);
Serial.println("Fertig! Dein Ei ist fertig!");
while (true) { }
}
}
}