M5stackでレーザー距離センサーユニットを使って、おおよそ2mぐらいまでの距離測定ができるセンサーです。
レーザーユニットは、STEMMA QT/Qwiic互換 VL53L4CX搭載 ToF距離センサモジュールです。
https://www.switch-science.com/products/8183?variant=42382203420870
ソースコードは、
https://github.com/chateight/PlatformIO/blob/master/laser_dist_01/src/main.cpp
においてあります。ターゲットとの距離がある値以下になると、外部にパルスを出力するようにしています。
この出力をmicro:bit carで受け取って、
https://isehara-3lv.sakura.ne.jp/dojo/?page_id=365
障害物を検出すると90度ターンして回避するようにしたものが以下の写真です。
micro:bitのイベント処理はドキュメントが不足しているので試行錯誤しました。いずれにしろイベント処理は割り込み処理ですが、M5stackから複数のパルスが出力されるとスプールされるようですが、micro:bit側にそれをクリアする手段はなさそうなので、障害物検出時にはmicro:bitをターンさせた後でリセットしています。
micro:bit側から、M5stackに待て信号を送れば回避できるでしょうが、もう一本の配線が必要になります。