【PR】この記事には広告が含まれています。

超音波距離センサーHC-SR04を使って距離を計測する方法について解説します。

こちらがHC-SR04です。 秋月電子通商で300円で販売されています。

超音波の反射時間を利用して、非接触で距離を測ることができます。測定可能距離は2~400cmです。

ピンヘッダーが取付けされているので、はんだ付けせずにそのままブレッドボードに差し込んで接続することができます。
かなり接近して撮影しています。実物は相当小さいです。
超音波距離センサーとラズパイを接続するためのパーツ
①ブレッドボード

ブレッドボードを使用すると、センサーやジャンパワイヤのピンを穴に差すだけで簡単に接続ができるため、はんだ付けをする必要がなく、やり直しもできるため、とても便利です。
②ジャンパワイヤ

片側がブレッドボードの穴に差し込める「オス型」(ピン)で、もう一方がラズパイのピンに差し込める「メス型」になっているものが必要です。
③抵抗(1kΩ)×3

GPIOに5Vを入力するとラズベリーパイが壊れてしまうので、抵抗を使って電圧を下げます。

ブレッドボードとジャンパワイヤの接続はピンを差し込むだけで簡単にできます。
ラズベリーパイと超音波距離センサーを接続する。

まず、超音波センサHC-SR04のピンについて解説します。
①「VCC」 5V 電源
②「trig」 トリガー・・・ラズパイからの信号を受けると、超音波を送信します。GPIO27に接続します。
③「echo」 エコー・・・超音波を送信してから受信するまで、ECHO端子はHighになります。Highになっている時間の半分を音速で割った数値が距離になります。GPIO18に接続します。
④「gnd」 グランド
それでは下図のように配線していきます。

注意点は、抵抗を使うことです。ラズパイのGPIOピンは、3.3V用であるため、Echo信号をラズパイがそのまま受けると、GPIOが破損する恐れがあります。そこで、抵抗器を用いて分圧します。
超音波距離センサーを動かすためのプログラム
プログラムを実行すると、距離の測定が繰り返し行われて、結果が表示されます。測定を中止するには「ctrl」キーを押しながら、「C」を押します。
有機ELディスプレイに測定結果を表示させてみました。
こちら、ちょっとした活用事例です。
先ほどのプログラムを少しアレンジしています。
あらかじめセンサーから床までの距離を測っておいて、その値から頭までの距離を引いた数値が、身長になります。