from machine import Pin, I2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
import utime

trigger = Pin(19, Pin.OUT)
echo = Pin(18, Pin.IN)

def ultrasonic():
    trigger.low()
    utime.sleep_us(2)
    trigger.high()
    utime.sleep_us(10)
    trigger.low()
    
    while echo.value() == 0:
        signaloff = utime.ticks_us()
    while echo.value() == 1:
        signalon = utime.ticks_us()
        
    timepassed = signalon - signaloff
    return timepassed

# Define the I2C interface and the LCD dimensions
I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16

i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=200000)
print(f"I2C Address      : {hex(i2c.scan()[0]).upper()}")
print(f"I2C Configuration: {i2c}")

lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)

while True:
    measured_time = ultrasonic()
    distance_cm = (measured_time * 0.0343) / 2
    distance_cm = round(distance_cm, 2)

    lcd.clear()
    lcd.putstr(f"Distance:\n{distance_cm}cm")
    utime.sleep(1)

    print("The distance from object is", distance_cm, "cm")
    utime.sleep(1)
$abcdeabcde151015202530fghijfghij
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT