2021.7.17 Coskx Lab
M5Stack Grayにレーザー距離センサを接続して周囲の対象物までの距離を測定します。
VL53L0Xを基板上に取り付けた製品は多数ありますがここでは秋月電子のAE-VL53L0Xを使います。
図のようにAE-VL53L0XをM5Stackに接続します。
使用していないXSHUTとGPIOは線を外した方がノイズに強くなります。
名称 | 機能 | 配線色 | M5Stack配線先 |
V+ | 3.3~5V 入力 | 赤 | 3.3V |
GND | GND | 黒 | GND |
SDA | データ線 | 黄 | SDA (21) |
SCL | クロック線 | 緑 | SCL (22) |
XSHUT | シャットダウン入力端子 | 青 | 接続しない |
GPIO | GPIO(2.8Vレベル) | 紫 | 接続しない |
VL53L0XはI2CでCPUとデータをやり取りしますが,そのためのライブラリが必要です。
Arduino IDEにて,「ツール」メニューから,「ライブラリを管理」を選び,「ライブラリマネージャ」を開きます。
上部にある「タイプ すべて」,「トピック すべて」の右側の長いボックスが検索欄なので,
そこに「VL53L0X」と書き込むと検索されます。複数の「VL53L0X」が見つかりますが,
「by PoLolu」と書いてあるものを選んでインストールします。
ライブラリを使わずに,プログラムした(長いプログラムになります)例も
https://github.com/m5stack/M5Stack/blob/master/examples/Unit/ToF_VL53L0X/ToF_VL53L0X.ino
にあります。
https://github.com/pololu/vl53l0x-arduino
を参考にさせていただきました。
実行時に,測定距離2m以上(実際には1.2mを超えた付近から)の場合,8190mmが表示されますが,これは測定が失敗しているときです。
動作テスト用プログラム本体(センサは常時稼働)
動作が不安定,時折初期化を失敗するとき,モータを含むシステムで使って誤動作するとき
(1)センサケーブルが細くて耐ノイズ性に問題があります。ケーブルはきれいに束ねない方がよいようです。
(2)使用していないセンサのケーブル(XSHUTの青のケーブル,GPIOの紫ケーブル)はノイズの原因になりますので取り外した方が良いでしょう。(下の画像は紫ケーブルを外したところ。細いピンなどで詰めを持ち上げれば簡単に外れます。)
センサを手にもって,周囲に向けたところ,1.2m程度までの距離測定ができました。