人感センサ(HC-SR501)の使い方

作成者:海野紗綾
投稿日:2024年1月20日
最終更新日:2024年4月29日

はじめに

このブログでは人感センサの使い方、使用例について説明します。

人感センサとは

人感センサとは、人などに反応して作動するセンサ全般のことを指す言葉です。様々な機器に搭載されており、スイッチのオン・オフをする場合が多いです。

人感センサの種類

人感センサの多くは、赤外線によって動きを検知する「赤外線センサ」が使われています。ほかにも、「音感センサ」や、「超音波センサ」、人が触れることで発生する静電気を感知する「タッチセンサ」などがあります[1]。
今回使用した人感センサはHC-SR501という商品で、赤外線焦電センサです[2]。

赤外線センサの種類

赤外線センサの種類
(図1 赤外線センサの種類と比較 基礎知識-赤外線センサの種類と比較- | 基礎知識 | 村田製作所 より引用)
赤外線センサには大きく「熱型」と「量子型」に分けられます(図1)。熱型は赤外線を熱に変換し、抵抗変化や熱起電力などにして出力を取り出すタイプです。量子型は、半導体の遷移間エネルギーを利用した光導電効果や、PN接合による光起電力効果を利用したタイプです。

HC-SR501

HC-SR501
(図2 HC-SR501 人体感知センサモジュール HC-SR501 _製|電子部品・半導体通販のマルツ より引用)

概要

赤外線焦電センサを使用した人体センサモジュールです。赤外線焦電センサとは、赤外線センサの種類のうちの一つです。

仕様

電源電圧: DC4.5〜20V
消費電流: 50μA以下
出力信号: HIGH 3.3V、LOW 0V
動作モード:L:再検知しない     H:再検知あり
検知時間: 0.5s
出力時間: 3〜200s※調整可能
基板外形: 32x24mm
感知範囲: 100°
感知距離:センター 5〜7m     サイド 3〜4m
使用環境温度: −15〜+70℃

HC-SR501の使い方

HC-SR501
(図3 ピンの配置)
ピンの配置は図3のようになっています。 Vccは仕様より4.5~20Vです。Raspberry Piで使う場合は5Vで使えます。OUTは、センサがonのとき3.3V、センサがoffのとき0Vを出力します。
また、センサには回せるつまみが2つついています。
HC-SR501
(図4 つまみ)
図4の向きから見て右がセンサ感度を調節するつまみで、センサが感知する距離を設定できます。(3~7m) 左側はON時間を調整するつまみで、センサがonになった時に、onを維持する時間を調整できます。(5~200s)
図4の向きから見て反時計回りにいっぱい回した状態がそれぞれの最小になります。 センサ感度が3mで、ON時間調整が5sです。 これを時計回りに回転した状態が最大になります。 センサ感度が7mで、ON時間調整が200sです。

使用例

今回は人感センサを用いて、LEDを60秒間点灯させるプログラムを作成しました。
  ソースコード
  
    import RPi.GPIO as GPIO
    import time

    SENSOR_PIN = 18
    INFLI_PIN = 5

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(SENSOR_PIN, GPIO.IN)
    GPIO.setup(INFLI_PIN, GPIO.OUT)

    try:
        print ('-----Start-----')
        n = 1
        while True:
            if GPIO.input(SENSOR_PIN) == GPIO.HIGH:
                print("{}".format(n) + "回目検知")
                GPIO.output(INFLI_PIN, GPIO.HIGH)
                n += 1
                time.sleep(60)
            else:
                GPIO.output(INFLI_PIN,GPIO.LOW)
                print(GPIO.input(SENSOR_PIN))
                time.sleep(2)
    except KeyboardInterrupt:
        print("Cancel")

  
回路図
HC-SR501
(図5 回路図)

まとめ

人感センサについてまとめ、使い方、使用例について紹介しました。人感センサを使うことで、必要な時のみシステムを作動することが出来るので、様々なことに応用できると思います。ぜひ使用する際の参考にしてください。

参考

[1]人感センサ―の仕組みとは?
[2]人感センサ―モジュール【HC-SR501】
[3]【Rasperry Pi】人感センサ―(HC-SR501)の使い方
[4]人感センサ―(HC-SR501)を使用して、動きを検出する