"""
from __future__ import print_function
import time, sys, signal, atexit
from upm import pyupm_ad8232 as upmAD8232
"""
from machine import Pin, SoftI2C, ADC, Timer
from utime import sleep_ms
from ssd1306_0 import SSD1306_I2C
import framebuf
from images import (cangrejo, daniel, gato, juana, flor, leidy)
from math import floor
from time import sleep, sleep_ms
import time
import dht
"""def bpm():
myAD8232 = upmAD8232.AD8232(10, 11, 0)
def SIGINTHandler(signum, frame):
raise SystemExit
def exitHandler():
print("Exiting")
sys.exit(0)
atexit.register(exitHandler)
signal.signal(signal.SIGINT, SIGINTHandler)
while(1):
print(myAD8232.value())
time.sleep(.001)
if __name__ == '__main__':
bpm()"""
#pin del sensor
sensor = dht.DHT22(Pin(32))
def temperatura(x):
#global setpoint
sensor.measure()
temp = sensor.temperature()
tim0 = Timer(0)
tim0.init(period=1000, mode=Timer.PERIODIC, callback=temperatura)
teclas = [['1', '2', '3', 'A'], ['4', '5', '6', 'B'], ['7', '8', '9', 'C'], ['*', '0', '#', 'D']]
# Defininicón de Pines
filas = [2,4,5,19]
columnas = [12,27,26,25]
pines_Filas = [Pin(pin_nombre, mode=Pin.OUT) for pin_nombre in filas]
pines_Columnas = [Pin(pin_nombre, mode=Pin.IN, pull=Pin.PULL_DOWN) for pin_nombre in columnas]
#Función para inicializar el teclado
def inicio_teclado():
for fila in range(0,4):
pines_Filas[fila].value(0)
#funcion para utilizar el teclado
def escanear_teclado(fila, columna):
# poner todas las filas en alto
pines_Filas[fila].value(1)
key = None
# verificación al presionar una tecla o evento
if (pines_Columnas[columna].value()==0):
key = 0
if (pines_Columnas[columna].value() == 1):
key = 1
pines_Filas[fila].value(0)
# retorne el estado de la tecla
return key
inicio_teclado()
lista=[]
print("ingrese su setpoint:")
while True:
for fila in range(4):
for columna in range(4):
tecla = escanear_teclado(fila, columna)
if tecla == 1:
if len(lista)==0: #cuando se presiona un tecla inicializa la obtencion de el set point
oled.fill(0)
if teclas[fila][columna]!='D' and teclas[fila][columna]!='#' and teclas[fila][columna]!='C': #no tiene en cuenta D y # como teclas
lista.append(teclas[fila][columna]) # añade cada tecla oprimida a la lista
sleep(0.5)
oled.text((str(teclas[fila][columna])),15,0)
oled.show()
sleep(0.5)
print(lista)
print("Es el numero: ", teclas[fila][columna])
while teclas[fila][columna]=='D': #cuando se presiona la tecla enter
ole.fill(0)
oled.text("SetPoint:",15,0)
oled.text(str(setpoint)+"'C",15,15)
oled.show() #se muestra el setpoint guardado y se empieza a leer la temp
sleep(2)
oled.fill(0)
#sensor.measure()
#temp = sensor.temperature()
while teclas[fila][columna]=='#': # si se oprime el boton para poner un set point nuevo
oled.fill(0)
sleep(2)
reiniciar_setpoint()
break
if __name__ == '__main__':
WIDTH = 128
HEIGHT = 64
i2c = SoftI2C(scl = Pin(22), sda = Pin(21))
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)
temp = sensor.temperature()
sens=float(temp)
sens1=str(sens)
#Global Variables
oled.fill(0)
oled.text("TEMPERATURA:", 15, 0)
oled.text(sens1,15, 15)
oled.text("'C",50, 15)
oled.show()
sleep_ms(1000)