from machine import Pin
from utime import sleep_ms, ticks_ms
limite = 20
#criando variáveis:
led_a = Pin(2, Pin.OUT)
led_b = Pin(1, Pin.OUT)
led_c = Pin(21, Pin.OUT)
led_d = Pin(19, Pin.OUT)
led_e = Pin(18, Pin.OUT)
led_f = Pin(3, Pin.OUT)
led_g = Pin(4, Pin.OUT)
button1 = Pin(14, Pin.IN)
button2 = Pin(15, Pin.IN)
digitos = {
5: [0, 1, 0, 0, 1, 0, 0], #5
4: [1, 0, 0, 1, 1, 0, 0], #4
3: [0, 0, 0, 0, 1, 1, 0], #3
2: [0, 0, 1, 0, 0, 1, 0], #2
1: [1, 0, 0, 1, 1, 1, 1]} #1
leds = [led_a, led_b, led_c, led_d, led_e, led_f, led_g]
ultimo_estado_1 = 0
ultimo_estado_2 = 0
cliques1 = 0
cliques2 = 0
# espera início:
while True:
sleep_ms(5)
if button1.value() == 1 and button2.value() == 1:
while True:
if button1.value() == 0 and button2.value() == 0:
break
break
# faz a contagem de 5 a 1:
for i in range(5, 0, -1):
for l in leds:
l.value(digitos[i][leds.index(l)])
sleep_ms(1)
sleep_ms(1000)
for l in leds:
l.value(1)
sleep_ms(1)
print("🚦 Começe a clicar! \n")
inicio = ticks_ms()
# verifica cliques:
def verificar_clique(botao, ultimo_estado):
if botao.value() == 1 and ultimo_estado == 0:
return True, 1
elif botao.value() == 0:
return False, 0
else:
return False, 1
while True:
clique, ultimo_estado_1 = verificar_clique(button1, ultimo_estado_1)
if clique:
cliques1 += 1
clique, ultimo_estado_2 = verificar_clique(button2, ultimo_estado_2)
if clique:
cliques2 += 1
sleep_ms(2)
# verifica vencedor:
if cliques1 == limite or cliques2 == limite:
if cliques1 > cliques2:
print("🔵🔵 É o vencedor!")
else:
print("🔴🔴 É o vencedor!")
print("================================")
print(f"🏆 🔵 {cliques1}, 🔴 {cliques2}")
print(f"📟 Em {(ticks_ms()-inicio)/1000:.2f} segundos")
sleep_ms(100000)
break