from machine import Pin
from utime import sleep
# A
# ---
# F | G | B
# ---
# E | | C
# ---
# D
# ESP32 pins & 7 segment pins
s_pins = [
Pin(14, Pin.OUT), # A
Pin(13, Pin.OUT), # B
Pin(19, Pin.OUT), # C
Pin(22, Pin.OUT), # D
Pin(23, Pin.OUT), # E
Pin(12, Pin.OUT), # F
Pin(27, Pin.OUT), # G
Pin(21, Pin.OUT) # DP
]
# ESP32 pins & Digit pins
d_pins = [
Pin(32, Pin.OUT), # Digi_1
Pin(33, Pin.OUT), # Digi_2
Pin(25, Pin.OUT), # Digi_3
Pin(26, Pin.OUT) # Digi_4
]
# Common anode 7 segment
digits = [
[0, 0, 0, 0, 0, 0, 1, 1], # 0
[1, 0, 0, 1, 1, 1, 1, 1], # 1
[0, 0, 1, 0, 0, 1, 0, 1], # 2
[0, 0, 0, 0, 1, 1, 0, 1], # 3
[1, 0, 0, 1, 1, 0, 0, 1], # 4
[0, 1, 0, 0, 1, 0, 0, 1], # 5
[0, 1, 0, 0, 0, 0, 0, 1], # 6
[0, 0, 0, 1, 1, 1, 1, 1], # 7
[0, 0, 0, 0, 0, 0, 0, 1], # 8
[0, 0, 0, 1, 1, 0, 0, 1], # 9
[0, 0, 0, 1, 0, 0, 0, 1], # a
[1, 1, 0, 0, 0, 0, 0, 1], # b
[0, 1, 1, 0, 0, 0, 1, 1], # C
[1, 0, 0, 0, 0, 1, 0, 1], # d
[0, 1, 1, 0, 0, 0, 0, 1], # E
[0, 1, 1, 1, 0, 0, 0, 1] # F
]
# Digit numbers
num_dig = [
0,
0,
0,
0
]
def reset():
for pin in s_pins:
pin.value(1)
reset()
szam = 3456
num_dig[0] = szam // 1000
num_dig[1] = (szam - (num_dig[0]*1000)) // 100
num_dig[2] = (szam - (num_dig[0]*1000 + num_dig[1]*100)) // 10
num_dig[3] = (szam - (num_dig[0]*1000 + num_dig[1]*100 + num_dig[2]*10))
for i in range(len(num_dig)):
print (num_dig[i])
while True:
for pin in d_pins:
pin.value(1)
for j in range(len(s_pins)):
s_pins[j].value(0)
sleep(0.001)
reset()
pin.value(0)
sleep(0.2)