超音波センサーで取得した距離をOLEDディスプレイに表示

超音波センサーで取得した距離をOLEDディスプレイに表示

超音波センサーで取得した距離をOLEDディスプレイに表示します。
センサーとディスプレイの設定はこちらから

 

超音波センサー OLEDディスプレイ

配線図

実際の配線

MicroPythonプログラム

import machine
import utime
import ssd1306

# 超音波センサーのGPIO設定
trigger = machine.Pin(14, machine.Pin.OUT)
echo = machine.Pin(15, machine.Pin.IN)

# oledディスプレイの初期設定
sda = machine.Pin(0)
scl = machine.Pin(1)
i2c = machine.I2C(0,sda=sda, scl=scl, freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)

def read_distance():
    trigger.low()
    utime.sleep_us(2)
    trigger.high()
    utime.sleep(0.00001)
    trigger.low()
    while echo.value() == 0:
        signaloff = utime.ticks_us()
    while echo.value() == 1:
        signalon = utime.ticks_us()
    timepassed = signalon - signaloff
    distance = (timepassed * 0.0343) / 2
    return distance

while True:
    oled.fill(0)  # ディスプレイの初期化
    d = read_distance()
    d = round(d, 2)  # 小数点以下を2桁に丸める
    oled.text('distance', 5, 5)
    oled.text(str(d), 30, 25)
    oled.show()
    utime.sleep(0.1)

実行

 

OLEDディスプレイに距離が表示されました。

詳しくは