#Importação das bibliotecas
from machine import Pin
from utime import sleep
from machine import PWM
import random
#Criação dos objetos
ver = Pin(16, Pin.OUT)
azu = Pin(17, Pin.OUT)
ama = Pin(18, Pin.OUT)
lar = Pin(19, Pin.OUT)
rox = Pin(20, Pin.OUT)
bot = Pin(15, Pin.IN, Pin.PULL_DOWN)
buzzer = PWM(22)
#Vamos usar a biblioteca Random para gerar um número aleatório no range de 1 a 5 através de uma função.
def randomizar():
return random.randint(1, 5)
#Vamos criar uma função para acender os leds visando o uso de um switchcase no futuro:
def acendedor(numero):
leds = {1: ver, 2: azu, 3: ama, 4: lar, 5: rox}
leds[numero].on()
#Vamos fazer o contraponto dessa função:
def apagador():
ver.off()
azu.off()
ama.off()
lar.off()
rox.off()
def handler(args):
global numeral
numero_aleatorio = randomizar()
print(f'Número aleatório gerado: {numero_aleatorio}')
if numeral == numero_aleatorio:
print('Você acertou!')
acendedor(numeral)
buzzer.duty_u16(6)
sleep(2)
buzzer.duty_u16(0)
apagador()
else:
print('Você não acertou o número, tente novamente!')
apagador()
bot.irq(handler=handler, trigger=Pin.IRQ_RISING)
print('Pressione o botão para iniciar o jogo!')
while True:
try:
# Primeira entrada do usuário
numeral = int(input('Entre com um número de 1 a 5: '))
if numeral < 1 or numeral > 5:
print('Número inválido! Por favor, entre com um número de 1 a 5.')
continue
#Instrui o usuário a acionar a interrupção
print('Pressione o botão para gerar o número aleatório!')
while bot.value() == 0:
sleep(0.1)
#Negação de entrada do usuário
except ValueError:
print('Erro de código!')