YU2TA7KA's BLOG ~take one step at a time~

派生開発、組み込み開発周りのこと。

ToF(Time of Flight)センサの購入と動作確認

f:id:yuji-tanaak:20190316101710p:plain

はじめに

ToFセンサを用いて腹筋ローラーメーター作成中です。ToFセンサの購入と動作確認についてまとめます。購入について結構悩みました(笑)構想はこちらを参照ください。

ToF(Time of Flight)センサとは

光源から発した光が対象物で反射し、センサーに届くまでの光の飛行時間(時間差)を検出することで、対象物までの距離を測定するセンサです。
www.fujiele.co.jp

ToFセンサの購入

距離センサとしてVL53L0Xを使用したモジュールは秋月電子通商、スイッチサイエンス、ストロベリー・リナックスなどで扱っております。しかし、微妙に価格、送料、モジュールの仕様が違っており、決断に時間がかかりました。改めてまとめます。パーツ選びは楽しいかつ面倒くさい!

送料比較

通販サイト 秋月電子通商 スイッチサイエンス ストロベリー・リナックス
送料 10,800円以上で無料、未満は500円 3,000円以上で無料、未満は150円*1 一律630円

VL53L0X距離センサモジュール比較

通販サイト 秋月電子通商 スイッチサイエンス ストロベリー・リナックス
商品名 VL53L0X使用 レーザー測距センサモジュール(ToF) VL53L0X Time-of-Flight 距離センサモジュール VL53L0X TOFレーザー測距センサモジュール
価格*2 1,080円 1,512円 1,480円
はんだ付け 不要 必要 必要
通信規格 I2C I2C I2C
電源電圧 3.3〜5.0V 3.3~6V 3.3V/5.0V
測定範囲 3〜200cm 〜200cm 0〜200cm

私は秋月電子のToFセンサを2つ購入しました。ので、2,700円くらいでした。はんだ付け不要が購入の決めてでした。

ToFセンサの動作確認

Raspberry PiのI2Cを有効にする

Raspberry PiのI2C接続をraspi-configを使って有効にします。

$sudo raspi-config
『5 Interfacing Options 』⇒『P5 I2C』⇒『はい』
Raspberry Pi講座 距離センサ(VL53L0X) - Hobby robot laboratory

VL53L0Xとの通信確認とI2Cチャンネルの確認

$sudo apt-get update
$sudo apt-get upgrade
$sudo apt-get dist-upgrade
$sudo apt-get install python-dev and python3-dev
$sudo apt-get -y install python-smbus i2c-tools
$sudo i2cdetect -y 1

Raspberry Pi講座 距離センサ(VL53L0X) - Hobby robot laboratory

f:id:yuji-tanaak:20190316184851p:plain
$sudo i2cdetect -y 1の結果

VL53L0XをPythonで使用する

$sudo apt-get install build-essential python-dev
$cd ~
$git clone https://github.com/johnbryanmoore/VL53L0X_rasp_python.git
$cd VL53L0X_rasp_python
$make
$cd python
$python VL53L0X_example.py

Raspberry Pi講座 距離センサ(VL53L0X) - Hobby robot laboratory

動作画像


展望

ToFセンサの動作確認はかなり簡単にできました。あとはこれを既存のドアチェッカーのシステムに組み込みつつ、腹筋ローラーの回数を計測するアルゴリズムを構築することで基本機能がきそうです。そこから、さらに下記のような機能を付加つけたいと考えています。

  1. 1回のカウントごとにSlackに通知する
  2. ある距離でどれだけの時間静止していたかを計測してトレーニング強度をつける
  3. 1回のカウントごとにSlackに通知したものをRaspberryPiで喋らせる

*1:10,000円以上で無料、未満は500円の商品もある。

*2:2019年3月16日時点