超音波センサーを使って距離を計測する
超音波センサーの動作原理
超音波の反射時間を利用して非接触で測距するモジュールです。外部からトリガパルスを入力すると超音波パルス (8 波) が送信され、出力された反射時間信号をマイコンで計算することによって距離を測ることができます。
具体的にはセンサーの Trig
ピンにパルス (短い時間) 電圧をかけて測定を開始し、Echo
ピンが HIGH
である時間の長さを計測します。
超音波センサーの確認
同梱されている超音波距離センサーは販売時期によってモデルが異なり、それにより配線作業の手順が異なります。そのため、まず超音波距離センサーのモデルを特定するところから始めましょう。
HC-SR04 と US-100 の見分け方
超音波距離センサーには HC-SR04 と US-100 があります。見分け方はピンの数です。 HC-SR04 はピンの数が 4 、US-100 はピンの数が 5 となっています。
ここから先はお手元の超音波距離センサーに対応した配線をご確認ください。
【HC-SR04】配線
必要なパーツが揃っているか確認しましょう
- 超音波センサー HC-SR04 (スピーカのような形の青い基板)
- ブレッドボード (穴がたくさん空いた白い板)
- ジャンパーコード (オス-メス/赤黒黄青の 4 本)
最初に、センサーをブレッドボードに刺します。端から 2 列目に刺すと安定します。
ジャンパーコードを刺していきます。センサーの表面の
VCC
からGND
の順に、赤・青・黄・黒を使ってください。ラズパイにケーブルを刺します。
- 刺すピンを間違えると故障の原因になるので、十分気をつけてください。
- 赤いケーブルを最後に接続してください。
以上で HC-SR04 の配線は完了です。「センサーをテストしてみる」にお進みください。
【US-100】配線
必要なパーツが揃っているか確認しましょう
- 超音波センサー US-100 (スピーカのような形の緑色の基板)
- ブレッドボード (穴がたくさん空いた白い板)
- ジャンパーコード (オス-メス/赤黒黄青の 4 本)
超音波距離センサーの裏面を確認してください。その時、ジャンパプラグ (白、もしくは黒の部品) がついていれば抜き取ってください。
- 抜き取ったジャンパプラグは本手順では使用しませんが、保管しておいてください。
- ジャンパプラグは US-100 の動作モードを決める役割があります。抜き取ることで HC-SR04 と同じモードで動作します。詳しくは スイッチサイエンスの商品ページ をご覧ください。
センサーをブレッドボードに刺します。端から 1 列目に挿すと、この後の配線がやりやすくなります。
センサーのピンは 5 つありますが、そのうち右側 4 つを使用します (一番左のピンは利用しません) ジャンパコードはセンサーの一番右から赤、青、黄、黒と挿します。
ラズパイにケーブルを刺します。
- 刺すピンを間違えると故障の原因になるので、十分気をつけてください。
- 赤いケーブルを最後に接続してください。
以上で US-100 の配線は完了です。「センサーをテストしてみる」にお進みください。
センサーをテストしてみる
以降は HC-SR04 と US-100 共に同じとなります。
以下のコマンドで、センサーのテスト用プログラムをダウンロード・実行し、正しくセンサー値が読み出せるか試しましょう。センサーの前に手をかざして数値が変化することを確認してください。
pi@raspberrypi ~ $ curl -O http://soracom-files.s3.amazonaws.com/sensor_test.py
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1641 100 1641 0 0 2171 0 --:--:-- --:--:-- --:--:-- 2170
pi@raspberrypi ~ $ python sensor_test.py
距離: 38.6 cm
距離: 38.9 cm
距離: 2.3 cm
:
プログラムを終了するには Ctrl-C
を押してください。
トラブルシュート
- 何も出力されない場合は接続するジャンパーコードの接続と色を確認してください。