import time
import machine
from machine import Pin, I2C
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd

I2C_ADDR     = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16

# Inicializa I2C en los pines GP0 (SDA) y GP1 (SCL) con frecuencia de 400kHz
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)

trigger = Pin(16, Pin.OUT)
echo = Pin(17, Pin.IN)

time.sleep_ms(300)

while True:
    # Enviar pulso ultrasónico
    trigger.value(0)
    time.sleep_us(2)
    trigger.value(1)
    time.sleep_us(10)
    trigger.value(0)

    # Esperar que el pin echo se active
    while echo.value() == 0:
        ini = time.ticks_us()

    # Esperar que el pin echo se desactive
    while echo.value() == 1:
        fin = time.ticks_us()

    # Calcular duración del pulso y distancia
    duracion = time.ticks_diff(fin, ini)
    distancia = duracion * 0.0171  # en cm

    # Mostrar en la pantalla LCD
    lcd.clear()
    lcd.putstr("Distancia: %5.2f cm" % distancia)
    
    time.sleep(1)



'''
import time
import machine
from machine import Pin, I2C
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd

I2C_ADDR     = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16

# Inicializa I2C en los pines GP0 (SDA) y GP1 (SCL) con frecuencia de 400kHz
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)

trigger = Pin(16, Pin.OUT)
echo = Pin(17, Pin.IN)

time.sleep_ms(300)

while True:
    # Enviar pulso ultrasónico
    trigger.value(0)
    time.sleep_us(2)
    trigger.value(1)
    time.sleep_us(10)
    trigger.value(0)

    # Esperar que el pin echo se active
    while echo.value() == 0:
        ini = time.ticks_us()

    # Esperar que el pin echo se desactive
    while echo.value() == 1:
        fin = time.ticks_us()

    # Calcular duración del pulso y distancia
    duracion = time.ticks_diff(fin, ini)
    distancia = duracion * 0.0171  # en cm

    # Mostrar en la pantalla LCD
    lcd.clear()
    lcd.putstr("Distancia: %5.2f cm" % distancia)
    
    time.sleep(1)

'''
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT