from machine import SPI, Pin
import network
import ntptime
import utime
gunler = ["Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"]
print("\nBaşladı...\n")
sta_if = network.WLAN(network.STA_IF)
utime.sleep(1)
print(sta_if.active(True))
utime.sleep(1)
print(sta_if.active())
utime.sleep(3)
sta_if.connect("Wokwi-GUEST", "")
utime.sleep(3)
print(sta_if.isconnected())
print(sta_if.ifconfig()[0])
k = 0
if(sta_if.isconnected()):
print("İnternet bağlantisi saglandi.\n")
k = 1
else:
print("İnternet bağlantisi saglanmadi.\n")
k = 0
#k = 1
def zamanAl():
try:
ntptime.settime()
except OSError as e:
print(f"Hata {e}")
utime.sleep(2)
zamanAl()
spi = SPI(2, baudrate=100_000)
latch = Pin(5, mode=Pin.OUT, value=1)
print("\nBasladi...\n")
saat = 0
dakika = 0
data = bytearray(4)
saat_data = bytearray(2)
# dGFEDCBA
segment = (0b00111111, #0
0b00000110, #1
0b01011011, #2
0b01001111, #3
0b01100110, #4
0b01101101, #5
0b01111101, #6
0b00000111, #7
0b01111111, #8
0b01101111 #9
)
def saatYaz():
if(saat == 0):
saat_data = 0
else:
saat_data = (1 << (saat - 1))
data[0] = 255 - segment[int(dakika % 10)] #dk birler
data[1] = 255 - segment[int(dakika / 10)] #dk onlar
if(saat == 0):
data[2] = 0
data[3] = 0
else:
data[2] = saat_data >> 8 #saat 2.blok
data[3] = saat_data & 0xFF #saat 1.blok
latch(0)
spi.write(data)
utime.sleep_ms(10)
latch(1)
if __name__ == "__main__":
while(1):
if(k == 1):
if(dakika == 0):
#a_time = utime.localtime()
a_time = utime.localtime(utime.mktime(utime.localtime()) + (3 * 3600)) #+3
#print(f"Local time before synchronization:{utime.localtime()}")
print("Senkronizasyondan önceki zaman:")
print(f"{a_time[2]:02d}/{a_time[1]:02d}/{a_time[0]:4d} {gunler[a_time[6]]}\n{a_time[3]:02d}:{a_time[4]:02d}:{a_time[5]:02d}")
zamanAl()
else:
a_time = utime.localtime(utime.mktime(utime.localtime()) + (3 * 3600)) #+3
#print("Local time after synchronization:%s" %str(time.localtime()))
print("Senkronizasyondan sonraki zaman:")
print(f"{a_time[2]:02d}/{a_time[1]:02d}/{a_time[0]:4d} {gunler[a_time[6]]}\n{a_time[3]:02d}:{a_time[4]:02d}:{a_time[5]:02d}")
print("")
saat = a_time[3]
if(saat >= 12):
saat -= 12
dakika = a_time[4]
saatYaz()
else:
print("Hata")
utime.sleep(1)