import led
print(" ")
print("MAIN wird gestartet...")
print(" ")
# PIXEL-LEDs für die aktuelle Uhrzeit ermitteln und für die Anzeige vorbereiten.
def printtime(h, m):
# ------------------------------------ #
# Minuten setzen und als Text ausgeben
# ------------------------------------ #
# Von 0 bis 5 Minuten -> (UHR)
if m >= 0 and m < 5:
led.m_vor(0)
omt = "UHR"
led.s_uhr(1)
led.m_dot(m)
# Von 5 bis 10 Minuten -> (FÜNF NACH)
if m >= 5 and m < 10:
led.s_uhr(0)
omt = "FÜNF NACH"
led.m_fuenf(1)
led.m_nach(1)
led.m_dot(m)
# Von 10 bis 15 Minuten -> (ZEHN NACH)
if m >= 10 and m < 15:
led.m_fuenf(0)
omt = "ZEHN NACH"
led.m_zehn(1)
led.m_nach(1)
led.m_dot(m)
# Von 15 bis 20 Minuten -> (VIERTEL NACH)
if m >= 15 and m < 20:
led.m_zehn(0)
omt = "VIERTEL NACH"
led.m_viertel(1)
led.m_nach(1)
led.m_dot(m)
# Von 20 bis 25 Minuten -> (ZWANZIG NACH)
if m >= 20 and m < 25:
led.m_viertel(0)
omt = "ZWANZIG NACH"
led.m_zwanzig(1)
led.m_nach(1)
led.m_dot(m)
# Von 25 bis 30 Minuten -> (FÜNF VOR HALB und STUNDE + 1)
if m >= 25 and m < 30:
h += 1
led.m_zwanzig(0)
led.m_nach(0)
omt = "FÜNF VOR HALB"
led.m_fuenf(1)
led.m_vor(1)
led.m_halb(1)
led.m_dot(m)
# Von 30 bis 35 Minuten -> (HALB und STUNDE + 1)
if m >= 30 and m < 35:
h += 1
led.m_fuenf(0)
led.m_vor(0)
omt = "HALB"
led.m_halb(1)
led.m_dot(m)
# Von 35 bis 40 Minuten -> (FÜNF NACH HALB und STUNDE + 1)
if m >= 35 and m< 40:
h += 1
omt = "FÜNF NACH HALB"
led.m_fuenf(1)
led.m_nach(1)
led.m_halb(1)
led.m_dot(m)
# Von 40 bis 45 Minuten -> (ZWANZIG VOR und STUNDE + 1)
if m >= 40 and m < 45:
h += 1
led.m_fuenf(0)
led.m_nach(0)
led.m_halb(0)
omt = "ZWANZIG VOR"
led.m_zwanzig(1)
led.m_vor(1)
led.m_dot(m)
# Von 45 bis 50 Minuten -> (VIERTEL VOR und STUNDE + 1)
if m >= 45 and m < 50:
h += 1
led.m_zwanzig(0)
omt = "VIERTEL VOR"
led.m_viertel(1)
led.m_vor(1)
led.m_dot(m)
# Von 50 bis 55 Minuten -> (ZEHN VOR und STUNDE + 1)
if m >= 50 and m < 55:
h += 1
led.m_viertel(0)
omt = "ZEHN VOR"
led.m_zehn(1)
led.m_vor(1)
led.m_dot(m)
# Von 55 bis 59 Minuten -> (FÜNF VOR und STUNDE + 1)
if m >= 55 and m <= 59:
h += 1
led.m_zehn(0)
omt = "FÜNF VOR"
led.m_fuenf(1)
led.m_vor(1)
led.m_dot(m)
# ------------------------------------ #
# Stunden setzen und als Text ausgeben #
# ------------------------------------ #
# Stunde 0 oder 12
if h == 0 or h == 12:
oht = "ZWÖLF"
led.s_elf(0)
led.s_zwoelf(1)
# Stunde 1 oder 13 in den ersten 5 Minuten (ES IST "EIN" UHR)
if (h == 1 and m < 5) or (h == 13 and m < 5):
oht = "EIN"
led.s_zwoelf(0)
led.s_ein(1)
# Stunde 1 oder 13 in nach 5 Minuten (ES IST FÜNF NACH "EINS")
if (h == 1 and m>= 5) or (h == 13 and m >= 5):
oht = "EINS"
led.s_ein(0)
led.s_eins(1)
# Stunde 2 oder 14
if h == 2 or h == 14:
oht = "ZWEI"
led.s_eins(0)
led.s_zwei(1)
# Stunde 3 oder 15
if h == 3 or h == 15:
oht = "DREI"
led.s_zwei(0)
led.s_drei(1)
# Stunde 4 oder 16
if h == 4 or h == 16:
oht = "VIER"
led.s_drei(0)
led.s_vier(1)
# Stunde 5 oder 17
if h == 5 or h == 17:
oht = "FÜNF"
led.s_vier(0)
led.s_fuenf(1)
# Stunde 6 oder 18
if h == 6 or h == 18:
oht = "SECHS"
led.s_fuenf(0)
led.s_sechs(1)
# Stunde 7 oder 19
if h == 7 or h == 19:
oht = "SIEBEN"
led.s_sechs(0)
led.s_sieben(1)
# Stunde 8 oder 20
if h == 8 or h == 20:
oht = "ACHT"
led.s_sieben(0)
led.s_acht(1)
# Stunde 9 oder 21
if h == 9 or h == 21:
oht = "NEUN"
led.s_acht(0)
led.s_neun(1)
# Stunde 10 oder 22
if h == 10 or h == 22:
oht = "ZEHN"
led.s_neun(0)
led.s_zehn(1)
# Stunde 11 oder 23
if h == 11 or h == 23:
oht = "ELF"
led.s_zehn(0)
led.s_elf(1)
return (oht, omt)
# Display aktualisieren
def disp():
tm.numbers(hour,minute,False)
time.sleep_ms(500)
tm.numbers(hour,minute,True)
time.sleep_ms(500)
return
textdebug = True
loopcounter = 0
while True:
if loopcounter == 0 or loopcounter == 20:
# Zeit aus RTC nehmen
#t = (Jahr, Monat, Tag, Tag der Woche(Montag = 0), Stunden, Minuten, Sekunden, ms)
#t = (2024, 2, 2, 4, 13, 7, 26, 6213)
print("Hole RTC-Zeit")
t = rtc.datetime()
# Zeit aufteilen
hour = t[4]
minute = t[5]
second = t[6]
loopcounter = 0
outputStart = "ES IST"
#outputHour = hour
#outputHourText = ""
#outputMinuteText = ""
# ---------------------------------------------------------------------------------------
# PIXELWERTE der LEDs ermitteln und als Ausgabe schreiben
# ---------------------------------------------------------------------------------------
# Einschalten von "ES IST"
led.es_ist(1)
outputtext = printtime(hour, minute)
#outputHourText = outputtext[0]
#outputMinuteText = outputtext[1]
led.write()
# ---------------------------------------------------------------------------------------
# PLAINTEXT-Ausgabe
# ---------------------------------------------------------------------------------------
# Zeitausgabe setzen NUR wenn volle Stunde
if textdebug == True:
if minute >= 0 and minute < 5:
#------"ES IST"--------------"FÜNF"-----------------"UHR"-----
print(outputStart + " " + outputtext[0] + " " + outputtext[1])
print(hour, minute, second)
else:
#------"ES IST"------------ "VIERTEL NACH"-----------"FÜNF"-----
print(outputStart + " " + outputtext[1] + " " + outputtext[0])
print(hour, minute, second)
# ---------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------
# TODO: UHRZEIT neu abrufen
# ---------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------
# Display aktualisieren #
#----------------------------------------------------------------------------------------
#disp()
# ---------------------------------------------------------------------------------------
#ENDE
# ---------------------------------------------------------------------------------------
loopcounter += 1
#print("Loopcounter: %s" %loopcounter)