import time
from machine import I2C, Pin
from I2C_LCD import I2cLcd
trigPin=Pin(2,Pin.OUT,0)
echoPin=Pin(5,Pin.IN,0)
ledred=Pin(34, Pin.IN)
soundVelocity=340
distance=0
ledred.value(1)
def getSonar():
trigPin.value(1)
time.sleep_us(10)
trigPin.value(0)
while not echoPin.value():
pass
pingStart=time.ticks_us()
while echoPin.value():
pass
pingStop=time.ticks_us()
pingTime=time.ticks_diff(pingStop,pingStart)
distance=pingTime*soundVelocity//2//10000
return int(distance)
i2c = I2C(scl=Pin(14), sda=Pin(13), freq=400000)
devices = i2c.scan()
if len(devices) == 0:
print("No i2c device !")
else:
for device in devices:
print("I2C addr: "+hex(device))
lcd = I2cLcd(i2c, device, 2, 16)
try:
lcd.move_to(0, 0)
lcd.putstr("distance")
while True:
lcd.move_to(0, 1)
lcd.putstr(str(getSonar()))
time.sleep_ms(1000)
except:
pass