"""
Sensor Ultrasonico
Equipo:
-Jean Heredia 2712
Ultrasonico y LCD para caudal
Fecha:
15 de enero del 2024
"""
import machine
from machine import Pin, SoftI2C, Timer
from time import sleep_us, sleep
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
echo = Pin(18, Pin.IN)
trig = Pin(5, Pin.OUT)
I2C_ADDR = 0x27
totalRows = 2
totalColumns = 16
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) # Inicializa la comunicación I2C para ESP32
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
# Función para la impresión de la temperatura y humedad
def medicion_US(event):
trig.value(0)
sleep_us(2)
trig.value(1)
sleep_us(10)
trig.value(0)
#densidad del alcohol etílico 0,79g/ml a 20 C
# diámetro de 1/2"
x = machine.time_pulse_us(echo, 1)
area=3.1416*(0.0127/2)**2
caudal = 0.79 *x
print('caudal:', caudal, 'kg/s')
# Actualiza la lectura en el LCD
lcd.clear()
lcd.move_to(0, 0)
lcd.putstr('caudal:')
lcd.move_to(0, 1)
lcd.putstr(f'{caudal:.2f} kg/s')
US_timer = Timer(1)
US_timer.init(period=5000, mode=Timer.PERIODIC, callback=medicion_US)
while True:
pass # Mantén el programa en ejecución