# Bibliotheken laden
from machine import Pin, RTC, ADC, Timer
import time
import tm1637
# Display initialisieren
display = tm1637.TM1637(clk=Pin(21), dio=Pin(20))
# Pause zwischen den unterschiedlichen Darstellungen
pause = 3
print('7-Segment-Test: "88:88" (alle Segmente leuchten)')
display.write([127, 255, 127, 127])
# Pause
time.sleep(pause)
print('Helligkeit einstellen (von dunkler nach heller)')
for i in range (0, 7+1):
display.brightness(i)
time.sleep(0.5)
# Pause
time.sleep(pause)
print('Anzeige löchen')
display.write([0, 0, 0, 0])
# Pause
time.sleep(pause)
print('Ganzzahlen anzeigen / Wertebereich: -999 bis 9999')
display.number(1)
time.sleep(1)
display.number(12)
time.sleep(1)
display.number(123)
time.sleep(1)
display.number(1234)
time.sleep(1)
print('Überschreitung des Wertebereichs')
display.number(12345)
time.sleep(2)
display.number(-1234)
time.sleep(2)
display.number(-123)
time.sleep(1)
display.number(-12)
time.sleep(1)
display.number(-1)
# Pause
time.sleep(pause)
print('Text anzeigen')
display.show('help')
time.sleep(2)
display.show('cool')
time.sleep(2)
display.show(' ja')
time.sleep(2)
display.show('nein')
time.sleep(2)
display.show(' ')
# Pause
time.sleep(pause)
print('Laufschrift: Hallo Welt') # Default: 4 FPS = 250
display.scroll('Hallo Welt', 250)
# Pause
time.sleep(pause)
# Echtzeituhr im Mikrocontroller initialisieren
rtc = RTC()
# Datum und Uhrzeit lesen
datetime = rtc.datetime()
print('Aktuelle Uhrzeit: %02d:%02d' % (datetime[4], datetime[5]))
display.numbers(datetime[4], datetime[5])
# Pause
time.sleep(pause)
# Initialisierung des ADC4
sensor = ADC(4)
# Temperatur messen
value = sensor.read_u16()
temp = int(27 - ( (value * 3.3 / 65535) - 0.706 ) / 0.001721)
print('Temperatur: %s°C' % temp) # Wertebereich -9 bis 99
display.temperature(temp)
# Pause
time.sleep(pause)
print('Countdown von 9999 bis 0')
for count in range (9999, -1, -1):
display.number(count)
time.sleep(0.00001)
# Pause
time.sleep(pause)
print('Countdown von 01:00 bis 00:00')
counter = 60
points = 1
timeValue = time.localtime(counter)
display.numbers(timeValue[4], timeValue[5], points)
time.sleep(1)
# Funktion: Countdown herunterzählen
def countdown(value):
global counter
global points
# Blinkender Doppelpunkt im Wechsel
if points == 0: points = 1
else: points = 0
# Countdown reduzieren
counter -= 1
# Countdown ist abgelaufen (0 = Ende)
if counter == 0:
clock.deinit()
print('Countdown Ende')
# Countdown in Minuten und Sekunden umrechnen und anzeigen
timeValue = time.localtime(counter)
display.numbers(timeValue[4], timeValue[5], points)
# Initialisierung Timer für Countdown
clock = Timer(freq=1, mode=Timer.PERIODIC, callback=countdown)