from machine import Pin,SoftSPI
from time import sleep
from max7219 import Matrix8x8
#LED-Semáforo_1
verde1= Pin(13,Pin.OUT)
amarillo1=Pin(25,Pin.OUT)
rojo1=Pin(32,Pin.OUT)
#LED-Semáforo_2
verde2= Pin(15,Pin.OUT)
amarillo2=Pin(16,Pin.OUT)
rojo2=Pin(19,Pin.OUT)
#Matrix 8x8
sck= Pin(23,Pin.OUT)
cs = Pin(22,Pin.OUT)
mosi=Pin(21,Pin.OUT)
miso=Pin(18,Pin.IN)
spi= SoftSPI(baudrate= 100000,polarity=0,
phase=0,sck=sck,mosi=mosi,miso=miso)
display= Matrix8x8(spi,cs,4)
display.brightness(2)
display.fill(0)
def control(s_1,s_2):
#s_1
verde1.value(s_1[0])
amarillo1.value(s_1[1])
rojo1.value(s_1[2])
#s_2
verde2.value(s_2[0])
amarillo2.value(s_2[1])
rojo2.value(s_2[2])
while True:
#S1-Verde - S2-Rojo
for i in range(72,3,-1):
display.text('T-',0,0,1)
display.text(str(i),15,0,1)
display.show()
control([1, 0, 0], [0, 0, 1])
sleep(1)
display.fill(0)
#S1-Amarillo - S2-Verde
for i in range(3,-1,-1):
display.text('T-',0,0,1)
display.text(str(i),15,0,1)
display.show()
control([0, 1, 0], [1, 0, 0])
sleep(1)
display.fill(0)
#S1-Rojo - S2-Verde
for i in range(52,3,-1):
display.text('T-',0,0,1)
display.text(str(i),15,0,1)
display.show()
control([0, 0, 1], [1, 0, 0])
sleep(1)
display.fill(0)
#S1-Verde - S2-Amarillo
for i in range(3,-1,-1):
display.text('T-',0,0,1)
display.text(str(i),15,0,1)
display.show()
control([1, 0, 0], [0, 1, 0])
sleep(1)
display.fill(0)