<aside> ⚠️
配ってあればやってみてください
</aside>
platformio.iniに反映されていれば完了M5Unit-Sonicライブラリをインストールする
#include <M5Unified.h>
#include <M5GFX.h>
#include <Unit_Sonic.h>
M5Canvas canvas(&M5.Display);
SONIC_I2C sensor;
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
Wire.begin(); // Sonic Unit は I2C
sensor.begin();
M5.Display.begin();
canvas.setColorDepth(1);
canvas.setFont(&fonts::Orbitron_Light_24);
canvas.setTextSize(1);
canvas.createSprite(M5.Display.width(), M5.Display.height());
canvas.setPaletteColor(1, ORANGE);
Serial.begin(115200);
}
int point = 0;
int last_point = 0;
void loop() {
canvas.scroll(4);
float Distance = sensor.getDistance();
Serial.printf("Distance: %.2fmm\r\n", Distance);
point = map((int)Distance, 20, 4500, 10, 180);
canvas.drawLine(0, point, 4, last_point, 1);
last_point = point;
canvas.fillRect(0, 190, 320, 50, BLACK);
canvas.drawString(String(Distance) + "mm", 80, 190);
canvas.pushSprite(0, 0);
}

画面に距離が表示されたらOK
✅紙や手で遮って距離が変わるか試そう
✅どこまで測れるでしょう。最小値と最大値を見つけよう