Raspberry Pi/初級/7分で読める/
ラズパイでPIR人感センサーを使う配線とPythonコード
PIR人感センサーは、人の動きを検知する入門向けセンサーです。モジュールによって出力電圧や調整つまみの仕様が異なるため、OUTピンがRaspberry PiのGPIOに安全な電圧か確認して使います。
WIRING ORDER
配線順序プレビュー
Tsunagu IoT Learn / Raspberry Pi
- 1STEP 1PIR VCC から Raspberry Pi 5V(物理ピン2または4) へここからPIR VCC→ここへRaspberry Pi 5V(物理ピン2または4)
確認: 多くのPIRモジュールは5V電源で使います。
- 2STEP 2PIR GND から Raspberry Pi GND(物理ピン6など) へここからPIR GND→ここへRaspberry Pi GND(物理ピン6など)
確認: 電源と信号の基準を共通にします。
- 3STEP 3PIR OUT から Raspberry Pi GPIO17(物理ピン11) へここからPIR OUT→ここへRaspberry Pi GPIO17(物理ピン11)
確認: OUTが3.3V出力のモジュールを使います。5V出力の場合はレベル変換が必要です。
用意するもの
- Raspberry Pi 4 / 5 などGPIOを使える本体
- PIR人感センサーモジュール
- ブレッドボード
- ジャンパーワイヤー
配線
| 接続元 | 接続先 | 確認点 |
|---|---|---|
| PIR VCC | Raspberry Pi 5V(物理ピン2または4) | 多くのPIRモジュールは5V電源で使います。 |
| PIR GND | Raspberry Pi GND(物理ピン6など) | 電源と信号の基準を共通にします。 |
| PIR OUT | Raspberry Pi GPIO17(物理ピン11) | OUTが3.3V出力のモジュールを使います。5V出力の場合はレベル変換が必要です。 |
配線元、配線先、コードのピン番号を同じ画面で確認できます。
手順
- 1PIRモジュールのVCC、GND、OUT表記を確認します。
- 2Raspberry Piの電源を切ってからVCCとGNDを接続します。
- 3OUTをGPIO17へ接続します。
- 4起動後、PIRの安定待ち時間を少し取ります。
- 5手を動かして検知表示が変わるか確認します。
GPIO17でPIR人感センサーを読むPythonコード
pythonimport time
import RPi.GPIO as GPIO
PIR_PIN = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIR_PIN, GPIO.IN)
try:
time.sleep(5)
while True:
if GPIO.input(PIR_PIN) == GPIO.HIGH:
print("動きを検知しました")
else:
print("待機中")
time.sleep(1)
finally:
GPIO.cleanup()動かないときの確認
- OUTがGPIO17へつながっているか
- PIRのVCCとGNDを逆にしていないか
- OUT電圧がRaspberry PiのGPIOに安全か
- 起動直後の安定待ち時間を取っているか
よくあるミス
- OUTが5VのモジュールをGPIOへ直結する
- センサーの保持時間設定により反応が遅いことを配線ミスと判断する
- GNDを共通にしない
次に試すこと
人感検知ができたら、検知時にLEDを光らせる、通知する、ログを残すなど、IoTらしい動作へ広げられます。
デモで配線を確認する