# ------ #
# sevseg #
# ------ #
# Import required libraries
from machine import ADC
import utime
import hidden
from machine import Pin
class SegDisplay:
def __init__(self, lists, anode):
self.obj = []
if anode == 1 :
self.arrSeg = [[0,0,0,0,0,0,1],\
[1,0,0,1,1,1,1],\
[0,0,1,0,0,1,0],\
[0,0,0,0,1,1,0],\
[1,0,0,1,1,0,0],\
[0,1,0,0,1,0,0],\
[0,1,0,0,0,0,0],\
[0,0,0,1,1,1,1],\
[0,0,0,0,0,0,0],\
[0,0,0,1,1,0,0]]
else :
self.arrSeg = [[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,0,0,1,1]]
self.setup(lists)
def setup(self, lists):
for col in range(len(lists)):
self.obj.append(Pin(lists[col], Pin.OUT))
def display(self, SegValue):
for a in range(7):
self.obj[a].value(self.arrSeg[SegValue][a])
# define GP ports to use
# Pins Matching: A, B, C, D, E, F, G
# 2 lines for 2 displays
seg_list1 = [2,3,4,5,6,7,8]
seg_list2 = [10,11,12,13,14,15,16]
segDisp1 = SegDisplay(seg_list1, 0)
segDisp2 = SegDisplay(seg_list2, 0)
adc = ADC(26)
while True:
adcval = adc.read_u16()
temp = hidden.measureval(adcval)
segDisp2.display(int(temp % 10))
segDisp1.display(int((temp/10) % 10))
utime.sleep(1)