【ラズベリーパイで人感センサー】焦電型赤外線センサーの使い方

【ラズベリーパイで人感センサー】焦電型赤外線センサーの使い方

ラズベリーパイでは様々なセンサーをつないで信号を読み取れます。その中でも焦電型赤外線センサーは人感センサーとして使えるため、活用の幅が広いことから初心者の方にもおすすめです。

焦電型赤外線センサー

僕は秋月電子で購入しました。レーダーのようなデザインがお気に入りです。

自宅のファンヒーターにも似たような形状のセンサーが付いています。

ファンヒーターの人感センサー

人が近付いたら運転スイッチが入り、人がいなくなると止まる仕組みです。ラズパイでも同じようにセンサーの信号がオンになったら、LEDを点灯するなど自由にプログラムを組むことが可能です。

そぞら
そぞら

この記事ではPythonプログラムで焦電型赤外線センサーの信号を読み取る方法を解説します。

焦電型赤外線センサーの仕組み

まずはセンサーの仕組みを理解しましょう。

熱を発する物体は赤外線を出しています。ヒトには体温があるので、人体からは赤外線が出ています。焦電型赤外線センサーは赤外線の動きを電圧の変化としてキャッチします。

そぞら
そぞら

つまり、焦電型赤外線センサーは熱の動きを検知します。

人が近くにいても止まっていればセンサーは反応しません。人が動いている時だけ反応します。

センサーの感度は調整可能

センサーの裏面にツマミが3つ付いています。感度などが調整可能です。

調整項目は以下の通りです。

DARK ADJ(調光)
時計回りに回すと暗い場所での感度が鈍くなります。
SENS(感度)
時計周りに回すと感度が高くなります。
DELAY_TIME(遅延時間)
時計周りに回すとセンサーONの時間が長くなります。

センサーの調整には手こずりました。調整がうまくできていないと、全く反応しなかったり、反応したままになったりします。

僕のセッティングを載せておきます。参考にしてください。

センサーの接続方法

ラズベリーパイと人感センサーを以下のように接続します。

線の色センサー側ラズベリーパイ側
① 赤5V
② オレンジOUTGPIO 18
③ 黒GND
人感センサーの接続
人感センサーピンの並び順

GPIOピンの配置は以下の画像を参考にしてください。

GPIOピンの配置

Pyhtonプログラムでセンサーの信号を取得する

センサーの信号を読み取るプログラムは以下の通りです。

import RPi.GPIO as GPIO
import time

GPIO_PIN = 18

GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN,GPIO.IN)

while True:
    if(GPIO.input(GPIO_PIN) == GPIO.HIGH):
        print("反応あり!")
        time.sleep( 1 ) 
        
    else:
        print("反応なし")
        time.sleep( 1 )        

プログラムを保存して実行してみましょう。

センサーの前で手を動かして「反応あり!」になれば成功です。うまくいかない場合は調整ツマミを動かしてみてください。

応用は簡単

例えば、人の動きを検知した時にLEDを点灯させたい場合は、上記のプログラム中の「print(“反応あり!”)」の下にLEDを点灯する処理を追加するだけです。

下のツイートではセンサーが反応したときに、カメラの画像を取得して保存するプログラムを組んでいます。

下記の事例はセンサーが反応した時にサーボモーターが動くようにプログラムを組んでいます。

コメントを残す

メールアドレスが公開されることはありません。