Arduino PIRセンサーでハロウィン悪戯 – 動体検知で光と音で驚かせる
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | |
| PIRセンサー(人感センサー) | 1 | 動体検知用 |
| MP3モジュール(汎用、ボタンに配線済み) | 1 | 効果音再生用 |
| 赤色LED 5mm | 2 | 目用 |
| 白色LED 5mm | 1 | 稲妻エフェクト用 |
| 2チャンネルリレーモジュール | 1 | MP3モジュールのボタン操作用 |
プロジェクト概要
玄関先に置いた箱が、通りかかった人の動きをPIRセンサーで検知し、赤い目(LED)を光らせ、稲妻のような白色LEDフラッシュと唸り声(MP3)で驚かせるハロウィン向け悪戯デバイスです。子供たちを「半分死ぬほど」驚かせた実績あり。
構成: 2つのパート
Part 1: PIRセンサーとLED制御
PIRセンサーは電源・GND・信号の3線で簡単接続。信号ピンがHIGHになるとLED制御とリレー駆動を開始します。
Part 2: MP3モジュール連携
安価なMP3プレーヤー($3程度)の再生/停止・前曲ボタンにリレーを並列接続し、ArduinoからリレーをON/OFFすることで音声を再生。シールド不要で低コストです。
スケッチ
// Halloween Scare Box with PIR, LEDs, and MP3
// Part 1: PIR & LEDs - https://youtu.be/ZAUXMoygVOU
// Part 2: MP3 Sound - https://www.youtube.com/watch?v=uR_UTPioQYc
int pirSensor = 2;
int prevPin = 3; // MP3「前へ」ボタン用リレー
int pausePin = 4; // MP3「再生/停止」ボタン用リレー
int statusLed = 10; // ステータス表示用LED
int led = 9; // 目(赤色LED)PWM制御用
void setup() {
pinMode(pirSensor, INPUT);
pinMode(statusLed, OUTPUT);
pinMode(prevPin, OUTPUT);
pinMode(pausePin, OUTPUT);
pinMode(led, OUTPUT);
// 初期状態: リレーOFF(ボタン未押下)
digitalWrite(prevPin, HIGH);
digitalWrite(pausePin, HIGH);
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
}
void loop() {
if(digitalRead(pirSensor) == HIGH) {
// === 音声再生トリガー ===
digitalWrite(pausePin, HIGH); delay(100);
digitalWrite(prevPin, LOW); delay(100);
digitalWrite(prevPin, HIGH); delay(2000);
// === 目(赤LED)フェードイン/アウト ===
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
for(int i=0; i<255; i++) { analogWrite(led, i); delay(5); }
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH); delay(100);
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH); delay(100);
digitalWrite(statusLed, LOW); delay(100);
digitalWrite(statusLed, HIGH); delay(100);
digitalWrite(statusLed, LOW); delay(2000);
for(int i=255; i>=0; i--) { analogWrite(led, i); delay(5); }
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
// === 音声停止 ===
delay(2000);
digitalWrite(prevPin, HIGH); delay(100);
digitalWrite(pausePin, LOW); delay(100);
digitalWrite(pausePin, HIGH); delay(1000);
} else {
digitalWrite(statusLed, HIGH);
analogWrite(led, 0);
}
}
配線図
詳細な配線は動画で解説しています。

改造アイデア
- MP3モジュールをDFPlayer Mini等に置き換え、シリアル制御で曲選択可能に
- 超音波センサー併用で距離に応じた演出変更
- サーボモーターで蓋が開くギミック追加
- 電池駆動化して完全ワイヤレス設置
製造プロセス
- GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築
- Raspberry Pi、MCP9808、InfluxDB、Grafanaで作る家庭温度モニター
- Raspberry Pi GPIOマスター:PIRモーションセンサーをB+/Model 2でインターフェース
- Raspberry Piでホームセキュリティシステムを構築:PIRモーション検知+カメラメール通知
- HC-SR501 PIRモーションセンサーをRaspberry Piで接続・調整・プログラミングする方法
- エモーションセンサー&EEG:リアルタイム感情検知のための低コストハードウェア
- UnifiedWater v1 - 完全なArduino水質センサーキット
- 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
- ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
- Isorg、6インチ全画面マルチフィンガー指紋センサーを発表
- PIRセンサー回路の仕組み:設計、動作、実世界の応用