from machine import Pin, I2C
import utime
from ssd1306 import SSD1306_I2C
trigger = Pin(12, Pin.OUT)
echo = Pin(13, Pin.IN)
WIDTH = 128
HEIGHT = 64
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=200000)
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)
def distance():
trigger.low()
utime.sleep_us(2)
trigger.high()
utime.sleep_us(10)
trigger.low()
while echo.value() == 0:
off_time = utime.ticks_us()
while echo.value() == 1:
on_time = utime.ticks_us()
total_time = on_time - off_time
return total_time
while True:
oled.fill(0)
measured_time = distance()
distance_cm = (measured_time * 0.0343) / 2
oled.text("Distance: ", 25, 15)
oled.text(str(round(distance_cm))+" cm",30,50)
oled.show()
print("Distance:",distance_cm)