# P17: Utilizando dois push buttons e um buzzer,
# construa e programe um circuito que calcule e
# verifique o IMC de uma pessoa. O circuito deverá
# funcionar da seguinte forma:
# ▪ Ao ser executado, o programa imprime na tela
# uma solicitação para que o usuário digite o peso
# e a ALTURA, devendo lê-los e armazená-los em
# variáveis;
# ▪ Em seguida, imprime na tela uma mensagem
# orientando o usuário a pressionar o botão;
# ▪ Ao pressionar o botão, ativa-se uma interrupção
# que calcule o IMC, dividindo a massa pelo
# quadrado da altura. Em seguida, o código da
# interrupção verifica o IMC e estabelece a
# classificação de risco conforme os critérios
# abaixo:
# ▪ Se 𝐼𝑀𝐶 < 18,5, imprima na tela “Abaixo do
# peso. Baixo risco de comorbidades”.
# ▪ Se 18,5 ≤ 𝐼𝑀𝐶 < 24,99, imprima na tela
# “Eutrófico. Risco médio de comorbidades”.
# ▪ Se 24,99 ≤ 𝐼𝑀𝐶 < 29,99, imprima na tela
# “Sobrepeso. Risco pouco elevado de
# comorbidades”.
# ▪ Se 29,99 ≤ 𝐼𝑀𝐶 < 34,99, imprima na tela
# “Obesidade grau I. Risco elevado de
# comorbidades”.
# ▪ Se 34,99 ≤ 𝐼𝑀𝐶 < 39,99, imprima na tela
# “Obesidade grau II. Risco muito elevado de
# comorbidades”.
# ▪ Se 𝐼𝑀𝐶 ≥ 39,99, imprima na tela “Obesidade
# grau III. Risco muitíssimo elevado de
# comorbidades”.
from machine import Pin,PWM
from time import sleep
buzzer = PWM(1)
bot_r = Pin(16,Pin.IN,Pin.PULL_UP)
bot_g = Pin(20,Pin.IN,Pin.PULL_DOWN)
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
massa_aferida = float(input(f"\nENTRE COM SUA MASSA AFERIDA:\t"))
altura_aferida = float(input(f"ENTRE COM SUA ALTURA AFERIDA:\t"))
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
print(f"\n1-BOTAO VERMELHO\n2-BOTAO VERDE")
print(f"\nPRESSIONE UM DOS BOTOES")
sleep(3)
def calculo_imc (args):
imc = (massa_aferida) / (altura_aferida)**2
if imc < 18.5:
print(f"Abaixo do peso. Baixo risco de comorbidades")
sleep(5)
# ▪ Se 𝐼𝑀𝐶 < 18,5, imprima na tela “Abaixo do
# peso. Baixo risco de comorbidades”.
if imc >= 18.5 and imc < 24.99:
print(f"“Eutrófico. Risco médio de comorbidades”")
sleep(5)
# ▪ Se 18,5 ≤ 𝐼𝑀𝐶 < 24,99, imprima na tela
# “Eutrófico. Risco médio de comorbidades”.
if imc >= 24.99 and imc <29.99:
print(f"“Sobrepeso. Risco pouco elevado de comorbidades”")
sleep(5)
# ▪ Se 24,99 ≤ 𝐼𝑀𝐶 < 29,99, imprima na tela
# “Sobrepeso. Risco pouco elevado de
# comorbidades”.
else:
print(f"ESTA FUNCIONANDO,RLX")
sleep(5)
bot_r.irq(handler = calculo_imc, trigger = Pin.IRQ_FALLING)