はじめに
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センサの動作確認
回路図
【電子工作】回路図作成ソフトの定番!「Fritzing」を使い倒す | Makepresso
Fritzing-Library/Adafruit VL53L0X Time of Flight Distance Sensor.fzpz at master · adafruit/Fritzing-Library · GitHub
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
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
動作画像
ToF距離センサ動いた! やっぱりラズベリーパイはつなげるだけでセンサ動かせるのでめちゃくちゃ簡単。手順もネットに素敵な記事があるし! pic.twitter.com/fAjojCZl8e
— YU2TA7KA (@UGKGbrothers) 2019年3月9日
展望
ToFセンサの動作確認はかなり簡単にできました。あとはこれを既存のドアチェッカーのシステムに組み込みつつ、腹筋ローラーの回数を計測するアルゴリズムを構築することで基本機能がきそうです。そこから、さらに下記のような機能を付加つけたいと考えています。
- 1回のカウントごとにSlackに通知する
- ある距離でどれだけの時間静止していたかを計測してトレーニング強度をつける
- 1回のカウントごとにSlackに通知したものをRaspberryPiで喋らせる