from machine import Pin, I2C
import ssd1306
import time
i2c = I2C(scl=Pin(22), sda=Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
trig_pin = Pin(12, Pin.OUT)
echo_pin = Pin(14, Pin.IN)
def measure_distance():
trig_pin.on()
time.sleep_us(10)
trig_pin.off()
while echo_pin.value() == 0:
pulse_start = time.ticks_us()
while echo_pin.value() == 1:
pulse_end = time.ticks_us()
pulse_duration = pulse_end - pulse_start
distance = (pulse_duration * 0.0343) / 2
return distance
while True:
distance = measure_distance()
oled.fill(0)
oled.text("Distance:", 0, 0)
oled.text("{:.2f} cm".format(distance), 0, 20)
oled.show()
time.sleep(1)