//Projektname: Eier Uhr Teil 2
//Name: Michael Lackner
//Datum: 18.03.2025
//Bibliotheken
#include <LiquidCrystal_I2C.h>;
#define I2C_ADDR
#define LCD_COLUMNS 20
#define LCD_LINES 4
//Konstanten
const int pot = A0;
const int btn = 2;
const int led = 13;
const int buz = 9;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
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();
lcd.setCursor(6, 0);
lcd.print("Einstellen");
}
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: ");
if (m < 10) Serial.print("0");
Serial.print(m);
Serial.print(":");
if (s < 10) Serial.print("0");
Serial.println(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: ");
if (m < 10) Serial.print("0");
Serial.print(m);
Serial.print(":");
if (s < 10) Serial.print("0");
Serial.println(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("Dein Ei ist fertig!");
while (true) { }
}
}
lcd.setCursor(6, 1);
lcd.print();
}