import time
from machine import Pin, ADC
adc=ADC(Pin(2,Pin.IN),atten=ADC.ATTN_11DB)
dig_1 = Pin(5, Pin.OUT)
dig_2 = Pin(18, Pin.OUT)
dig_3 = Pin(19, Pin.OUT)
dig_list = [dig_1, dig_2, dig_3]
a = Pin(32, Pin. OUT)
b = Pin(33, Pin. OUT)
c = Pin(25, Pin. OUT)
d = Pin(26, Pin.OUT)
e = Pin(27, Pin. OUT)
f = Pin(14, Pin. OUT)
g = Pin(12, Pin. OUT)
dp = Pin(13, Pin. OUT)
led_list = [a, b, c, d, e, f, g, dp]
code_dict = {
0: [1, 1, 1, 1, 1, 1, 0, 0],
1: [0, 1, 1, 0, 0, 0, 0, 0],
2: [1, 1, 0, 1, 1, 0, 1, 0],
3: [1, 1, 1, 1, 0, 0, 1, 0],
4: [0, 1, 1, 0, 0, 1, 1, 0],
5: [1, 0, 1, 1, 0, 1, 1, 0],
6: [1, 0, 1, 1, 1, 1, 1, 0],
7: [1, 1, 1, 0, 0, 0, 0, 0],
8: [1, 1, 1, 1, 1, 1, 1, 0],
9: [1, 1, 1, 1, 0, 1, 1, 0],
}
red_led=Pin(4,Pin.OUT)
def clear_dig():
for dig in dig_list:
dig.on()
def clear_led():
for led in led_list:
led. off()
def clear():
clear_dig()
clear_led()
def display_number(order, number):
logic_list = code_dict. get(number)
if logic_list and 0 <= order < 3:
clear()
dig_list[order]. off()
if order==0:
led_list[7].value(1)
for i in range(len(logic_list)):
led_list[i]. value(logic_list[i])
while True:
value_adc = adc.read ()
value = (3.3/4095)*value_adc
value = round (value, 2)
if value > 2.0:
red_led.on()
else:
red_led.off()
v_str = str(value)
v_list = v_str.split('.')
if len(v_list[1]) < 2:
display_number (2, 0)
else:
display_number(2, int(v_list[1][1]))
display_number(1, int(v_list[1][0]))
display_number(0, int(v_list[0]))
time.sleep (0.04)