この一連の記事ではスマート卓上ファンを作ってみようとしています。このファンにはSTマイクロエレクトロニクスのToF(Time-of-Flight)測距センサを使っています。一部のToF測距センサはst.comで提供されるスマート人感検出(以下SPD:Smart Presence Detection)を使うことで高度な人感センサとして動作します。このSPDの結果を使い、羽の回転や左右の首振りを制御します。
以下のように人の動きに合わせて動くスマート卓上ファンを作ってみたいと思います。
1.1 ToF測距センサとは?
ToF測距センサは赤外光を照射して対象に反射して戻ってくるまでの時間で物体との距離を測定するセンサです。STマイクロエレクトロニクスのToF測距センサは照射(TX)と受光(RX)が一体となった小さなモジュールになっています。I2Cの通信だけで制御するので、組み込みやすいです。いくつか種類がありますが、今回使用するVL53L7CXは4x4や8x8の解像度で距離が分かるマルチゾーン解像度のセンサになっています。

1.2 マルチゾーン解像度のセンサの違いは?
マルチゾーン解像度のセンサは2種類あります。VL53L7CXとVL53L8CXです。細かい違いはいくつかありますが、大きな違いとしては視野角(FoV : Field of View)です。下図のように距離の測定範囲もしくは測定角度が異なります。今回はより広い範囲で人がいるかいないかを判定したいので、VL53L7CXを選びます。最大の測定可能距離はVL53L7CXの方が少し短く350cmになります。

ちなみにもう一つの大きな違いは通信方法です。VL53L8CXでは1MHzのI2Cだけでなく、より高速なSPI通信が使えます。
1.3 SPD=スマート人感検出とは?
SPDはこの8x8の解像度を持ったToF測距センサを使った高度な人感センサとして機能するライブラリになっています。STSW-IMG048としてst.comで提供されています。
センサの前に人が来たことや去ったことを検知するだけでなく、通り過ぎるだけの人を検知したり、⑤にあるようにセンサに対してどの位置に人がいるかをX,Y,Zの座標で検出することもできます。今回はこの⑤の機能を主に使っていきます。

1.4 できたもの
購入したボードや既製品を自分で切ったアクリル板にねじ止めしているので、バラック感が漂う下のようなものができました。STM32H5とVL53L7を使用しています。

動きはまずまずです。マネキンを使っていますが、近づいてくるとファンが動き出し、左右への移動するとそれを追いかけます。

マネキンが遠ざかるとファンが止まります。

1.5 使用ボード
こちらのデモでは以下のボードを使用しています。
- NUCLEO-H533RE
- SATEL-VL53L7CX
- DCモータドライバーボード (Amazonで購入)
- ステッピングモータドライバーボード (Amazonで購入)
1.6 使用ソフトウェア
こちらのデモの制作には以下のソフトウェアを使用しています。すべてst.comから無料でダウンロードできるものになっております。
- STM32CubeMX Version 6.14.1
- STM32CubeIDE Version 1.18.1
- STSW-IMG048 Version SPD_kit_1.0.1
今回はToF測距センサとSPDの紹介と、それを使ったデモを紹介しました。なにか他の用途が思いつきましたでしょうか?次回からの記事ではこのスマート卓上ファンの制作過程を制作記として解説していきます。最初は機構やモータ制御について考えていきます。次の記事に続きます!
次の記事へのリンク
