Raspberry Pi GPIOマスター:PIRモーションセンサーをB+/Model 2でインターフェース
このステップバイステップガイドでは、Passive Infrared(PIR)モーションセンサーをRaspberry Pi B+/Model 2に接続し、GPIOピンをプログラムして動きを検知、アクションをトリガーする方法を学びます。ホームオートメーション、セキュリティアラート、シンプルなロボットなど、GPIOの習得は必須です。
必要なもの
- Raspberry Pi B+、B、またはModel 2(microSDカード、電源、キーボード、マウス、ディスプレイ付き)
- LED(任意の色)と220Ω抵抗
- PIRモーションセンサー(5V出力)
- ブレッドボードとジャンパーワイヤー(オス-オス、メス-オス)
PiでのGPIOの仕組み
PiのGPIOピンはRPi.GPIOなどのPythonライブラリでアクセス可能。各ピンは物理ピン番号(BOARD)またはBroadcomチップピン番号(BCM)で番号付けされます。本チュートリアルではわかりやすさのためBOARD番号を使用します。
PIRセンサーについて
PIRセンサーは温かい物体から放出される赤外線を検知。フレネルレンズ、IR検出器、制御回路で構成。赤外線レベルの変化を感知すると、最大1分間5VのロジックHIGHを出力。典型的な検知範囲は6〜7m。
ステップ1:GPIO出力でLEDを点滅
まず出力ピン制御の練習としてLEDを点滅。LEDのアノードを220Ω抵抗経由でピン3に、カソードをグランドピンに接続。
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.OUT) # ピン3を出力に
while True:
GPIO.output(3, GPIO.HIGH)
time.sleep(1)
GPIO.output(3, GPIO.LOW)
time.sleep(1)
ledblink.pyとして保存しsudo python3 ledblink.pyで実行。
ステップ2:PIRセンサーを読み取り応答
PIRセンサー配線:VCCを5V、GNDをグランド、OUTをピン7(GPIO 4)に。動き検知時にメッセージを表示するスクリプトを作成。
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN) # PIR出力を入力に
print('Ready – waiting for motion…')
try:
while True:
if GPIO.input(7):
print('Intruder detected!')
# ここでカスタムアクション追加(LED点灯、アラート送信など)
time.sleep(0.5)
except KeyboardInterrupt:
print('Exiting…')
finally:
GPIO.cleanup()
sudo python3 pir_detect.pyで実行し、コンソールでセンサーの動き検知を確認。
次のステップ
ここからプロジェクトを拡張:動き検知でLED点滅、タイムスタンプをファイルにログ、MQTTで通知送信など。初心者向けにRaspberry PiとArduinoの無料eBookダウンロードを推奨し、ハードウェアスキルをさらに深められます。
参考資料
- 公式Raspberry Piドキュメント - GPIO概要: raspberrypi.org
- PIRセンサーデータシート - 典型仕様: Adafruit
製造プロセス
- DS1820ワンワイヤー温度センサーをGPIOでRaspberry Piに接続する方法
- センサーデータをRaspberry Piに統合:実践ガイド
- HC-SR04超音波距離センサーをRaspberry Pi 3に接続 – 完全ガイド
- Raspberry Piでライントラッキングセンサー – シンプルなKY-033ドア/ライン検出器
- Home Assistant on Raspberry Piで安全なホーム監視 – モーション、アラーム、ビデオ撮影
- Raspberry Pi用DIY赤外線モーションセンサー構築 - ステップバイステップガイド
- Raspberry PiでPIRモーションセンサーとLEDを制御
- デジタルピンのみでRaspberry Pi用低コスト赤外線近接センサーを構築
- Raspberry Piガイガーカウンター構築 - オープンハードウェア放射線センサーチュートリアル
- Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
- Raspberry Pi光センサーチュートリアル - LDRを配線してPythonで光量を読み取る