from machine import Pin, I2C
import ssd1306
import time
trigger = Pin(5, Pin.OUT)
echo = Pin(18, Pin.IN)
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
def distance():
trigger.off()
time.sleep_us(2)
trigger.on()
time.sleep_us(10)
trigger.off()
while echo.value() == 0:
pass
start = time.ticks_us()
while echo.value() == 1:
pass
end = time.ticks_us()
duration = end - start
dist = (duration * 0.0343) / 2
return dist
while True:
d = distance()
oled.fill(0)
oled.text("Distance:", 0, 10)
oled.text(str(d) + " cm", 0, 30)
oled.show()
time.sleep(1)