from machine import Pin, SoftI2C
from i2c_lcd import I2cLcd
import utime
trigger=Pin(27,Pin.OUT)
echo=Pin(26,Pin.IN)
adress = 0x27
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=100000) # connect scl to GPIO 22, sda to GPIO 21
lcd = I2cLcd(i2c, adress, 2, 16)
def ultra():
trigger.off()
utime.sleep_us (2)
trigger.on()
utime.sleep_us (5)
trigger.off()
while echo.value() == 0:
signal_off = utime.ticks_us()
while echo.value() == 1:
signal_on = utime.ticks_us()
try:
time_passed = signal_on - signal_off
except NameError:
return 0
return time_passed/58
while True:
distance = ultra()
lcd.putstr(f'{distance}')
utime.sleep(4)
lcd.clear()