from machine import RTC,Pin
import time
rtc=RTC()
rtc.datetime((2026,8,31,6,4,59,55,0))
segment_pins=[Pin(i,Pin.OUT) for i in range(7)]
digit_pins=[Pin(i,Pin.OUT) for i in range(7,11)]
colon_pin =Pin(11,Pin.OUT)
digits=[
[1,1,1,1,1,1,0],
[0,1,1,0,0,0,0],
[1,1,0,1,1,0,1],
[1,1,1,1,0,0,1],
[0,1,1,0,0,1,1],
[1,0,1,1,0,1,1],
[1,0,1,1,1,1,1],
[1,1,1,0,0,0,0],
[1,1,1,1,1,1,1],
[1,1,1,1,0,1,1] ]
def show_digit(digit_position,number_to_display):
for dp in digit_pins:
dp.value(1)
pattern=digits[number_to_display]
for i in range(7):
segment_pins[i].value(pattern[i])
digit_pins[digit_position].value(0)
time.sleep(0.005)
digit_pins[digit_position].value(1)
while True :
current_time=time.localtime()
print(current_time)
hours=current_time[3]
minutes=current_time[4]
seconds=current_time[5]
d1=hours // 10
d2=hours % 10
d3=minutes // 10
d4=minutes % 10
display_numbers=[d1,d2,d3,d4]
if seconds % 2 ==0:
colon_pin.value(1)
else :
colon_pin.value(0)
for repeat in range(50):
for position in range(4):
number=display_numbers[position]
show_digit(position,number)