//Eigene Uhr mit Display und folientaste zum konfigurieren der weckfunktion, snoozen und stoppen
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const uint8_t ROWS = 4;
const uint8_t COLS = 4;
char keys [ROWS] [COLS]
{
{ '1', '2', '3', 'A'},
{ '4', '5', '6', 'B'},
{ '7', '8', '9', 'C'},
{ '<', '0', '>', 'D'},
};
unsigned int stunde = 0;
unsigned int minute = 0;
unsigned int sekunde = 0;
void setup()
{
lcd.init(); //LCD und Hintergrundbeleuchtung anschalten
lcd.backlight();
}
void loop()
{
for (int i = 0; i < 10; i++)
{
if (sekunde == 59)
{
sekunde = 0;
if (minute == 59)
{
stunde += 1;
minute = 0;
}
minute += 1;
}
lcd.setCursor(2, 0);
lcd.print(stunde);
lcd.setCursor(4, 0);
lcd.print(" : ");
lcd.setCursor(7, 0);
lcd.print(minute);
lcd.setCursor(9, 0);
lcd.print(" : ");
if (sekunde > 9)
{
lcd.setCursor(12, 0);
lcd.print(sekunde);
}
else
{
lcd.setCursor(12, 0);
lcd.print("0");
lcd.setCursor(13, 0);
lcd.print(sekunde);
}
delay(1000);
sekunde++;
}
lcd.setCursor(0, 0);
lcd.clear();
}