import machine
import utime
import urandom
# Variável para verificar se um botão foi pressionado
pressed = False
# Configuração dos pinos
led = machine.Pin(15, machine.Pin.OUT)
left_button = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)
right_button = machine.Pin(16, machine.Pin.IN, machine.Pin.PULL_DOWN)
# Variável para armazenar o botão mais rápido
fastest_button = None
# Manipulador de interrupções
def button_handler(pin):
global pressed, fastest_button
if not pressed:
pressed = True
fastest_button = pin
print(f"Botão pressionado: {pin}")
# Acender o LED por um tempo aleatório entre 5 e 10 segundos
print("Acendendo o LED...")
led.value(1)
utime.sleep(urandom.uniform(5, 10))
print("Desligando o LED...")
led.value(0)
# Configuração das interrupções
left_button.irq(trigger=machine.Pin.IRQ_RISING, handler=button_handler)
right_button.irq(trigger=machine.Pin.IRQ_RISING, handler=button_handler)
print("Interrupções configuradas. Aguardando pressionamento do botão...")
# Loop para esperar até que um botão seja pressionado
while fastest_button is None:
utime.sleep(0.1) # Espera curta para não sobrecarregar a CPU
# Determinar e imprimir o vencedor
if fastest_button == left_button:
print("O jogador da esquerda venceu!")
elif fastest_button == right_button:
print("O jogador da direita venceu!")