from time import sleep_ms, ticks_ms
from machine import I2C, Pin, ADC, PWM
from i2c_lcd import I2cLcd
import time
import dht
# menu = 0
# analogico_estatico = True
# botao_estatico = True
# sensor_temperatura_e_umidade.measure()
# temperatura = sensor_temperatura_e_umidade.temperature()
# def alerta_temperatura_abaixo_de_10_grau():
# if temperatura <= 10:
# return "Abaixo de 10"
# else:
# return False
# def menu_principal(menu):
# alerta = alerta_temperatura_abaixo_de_10_grau()
# if alerta == "Abaixo de 10":
# lcd.move_to(0,0)
# lcd.putstr("TemperaturaBaixa")
# lcd.move_to(0,1)
# lcd.putstr(f"FuncBLOQ {str(temperatura)}")
# menu = -1
# return menu
# else:
# lcd.move_to(0,0)
# lcd.putstr("Selecione opcao")
# lcd.move_to(0,1)
# lcd.putstr("Use o Analogico")
# menu = 0
# return menu
# def menu_temperatura(yvalue, menu, analogico_estatico):
# if menu == 1:
# lcd.move_to(0,0)
# lcd.putstr("Temperatura ")
# lcd.move_to(0,1)
# lcd.putstr("Selecionar ")
# def menu_temparatura_selecionado(menu):
# if menu == 1.1:
# sensor_temperatura_e_umidade.measure()
# lcd.move_to(0,0)
# lcd.putstr("TemperaturaAtual")
# lcd.move_to(0,1)
# lcd.putstr(str(sensor_temperatura_e_umidade.temperature()) + " ")
# def menu_umidade(yvalue, menu, analogico_estatico):
# if menu == 2:
# lcd.move_to(0,0)
# lcd.putstr("Umidade ")
# lcd.move_to(0,1)
# lcd.putstr(0,1)
# lcd.putstr("Selecionar ")
# def menu_umidade_selecionado(menu):
# pass
# def subir_menu(yvalue, menu, analogico_estatico):
# if yvalue == 0 and analogico_estatico == True and menu != -1:
# menu += 1
# analogico_estatico = False
# return menu, analogico_estatico
# def diminuir_menu(yvalue, menu, analogico_estatico):
# if yvalue == 4095 and analogico_estatico == True and menu != -1:
# menu -= 1
# analogico_estatico = False
# return menu, analogico_estatico
# def menu_okay(select, menu, botao_estatico):
# if menu != -1 and select == 0 and botao_estatico == True:
# menu += .1
# botao_estatico = False
# return menu, botao_estatico
# def voltar_menu(xvalue, menu, analogico_estatico):
# if menu != -1 and xvalue == 0 and analogico_estatico == True:
# menu -= .1
# analogico_estatico = False
# return menu, analogico_estatico
# while True:
# xvalue = xAxis.read()
# yvalue = yAxis.read()
# select = button.value()
# menu, analogico_estatico = subir_menu(yvalue, menu, analogico_estatico)
# menu, analogico_estatico = diminuir_menu(yvalue, menu, analogico_estatico)
# menu, botao_estatico = menu_okay(select, menu, botao_estatico)
# menu, analogico_estatico = voltar_menu(xvalue, menu, analogico_estatico)
# menu = menu_principal(menu)
# menu_temperatura(yvalue, menu, analogico_estatico)
# menu_temparatura_selecionado(menu)
# if yvalue == 2048 and xvalue == 2048:
# analogico_estatico = True
# print(analogico_estatico, menu, select, xvalue)
# alerta = alerta_temperatura_abaixo_de_10_grau()
# print(alerta)
xAxis = ADC(Pin(34, Pin.IN))
xAxis.atten(xAxis.ATTN_11DB)
yAxis = ADC(Pin(35, Pin.IN))
yAxis.atten(yAxis.ATTN_11DB)
button = Pin(33, Pin.IN, Pin.PULL_UP)
AddressOfLcd = 0x27
i2c = I2C(scl=Pin(22), sda=Pin(21), freq=400000)
lcd = I2cLcd(i2c, AddressOfLcd, 2, 16)
sensor_temperatura_e_umidade = dht.DHT22(Pin(4))
buzzer = PWM(Pin(14))
buzzer.duty(0)
menu = 0
analogico_estatico = True
botao_solto = True
def menu_temperatura():
lcd.move_to(0,0)
lcd.putstr(" Temperatura ")
lcd.move_to(0,1)
lcd.putstr("<-Sair Entrar-> ")
def menu_umidade():
lcd.move_to(0,0)
lcd.putstr(" Menu ")
lcd.move_to(0,1)
lcd.putstr("<-Sair Entrar-> ")
def menu_principal():
lcd.move_to(0,0)
lcd.putstr(" Menu ")
lcd.move_to(0,1)
lcd.putstr("Use o analogico")
def menu_temperatura_selecionado(menu):
sensor_temperatura_e_umidade.measure()
temperatura = sensor_temperatura_e_umidade.temperature()
while menu == 1.1:
lcd.move_to(0,0)
lcd.putstr(" Temperatura ")
lcd.move_to(0,1)
lcd.putstr(f" {str(temperatura)} ")
menu_principal()
def menu_acima(menu, analogico_estatico, botao_solto):
yvalue = yAxis.read()
if yvalue == 4095 and menu == 2 and analogico_estatico == True:
menu = 1
analogico_estatico = False
menu_temperatura()
elif yvalue == 4095 and menu == 1 and analogico_estatico == True:
menu = 0
analogico_estatico = False
menu_principal()
return menu, analogico_estatico
def descer_menu(menu, analogico_estatico, botao_solto):
yvalue = yAxis.read()
if yvalue == 0 and menu == 0 and analogico_estatico == True:
menu = 1
analogico_estatico = False
menu_temperatura()
elif yvalue == 0 and menu == 1 and analogico_estatico == True:
menu = 2
analogico_estatico = False
menu_umidade()
return menu, analogico_estatico
def selecionar_menu(menu, analogico_estatico, botao_solto):
xvalue = xAxis.read()
print(menu)
if xvalue == 4095 and menu == 1 and analogico_estatico == True:
menu = 1.1
analogico_estatico = False
menu_temperatura_selecionado(menu)
print(menu)
return menu, analogico_estatico
def voltar_menu(menu, analogico_estatico, botao_solto):
pass
def configurar_limite(menu, analogico_estatico, botao_solto):
pass
while True:
menu, analogico_estatico = menu_acima(menu, analogico_estatico, botao_solto)
menu, analogico_estatico = descer_menu(menu, analogico_estatico, botao_solto)
menu, analogico_estatico = selecionar_menu(menu, analogico_estatico, botao_solto)
voltar_menu(menu, analogico_estatico, botao_solto)
configurar_limite(menu, analogico_estatico, botao_solto)
if xAxis.read() == 2048 and yAxis.read() == 2048:
analogico_estatico = True