工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット

部品と用品

Arduino UNO 1
MP3モジュール 1
リレーモジュール 4チャネル 1
PIRモーションセンサーモジュール HC-SR501 1
単3電池×3 ホルダー(オプション) 1
2ピン防水航空プラグソケットコネクタ 3
密閉型フードコンテナボックス (190×60×120mm) 1
黒スプレー塗料 1
32mm ウッドドリルビット 1
16mm ウッドドリルビット 1
USBドライブ(FAT32フォーマット済み) 1

このプロジェクトについて

更新: 笑う幽霊バリエーションをzipファイルに追加、追加バッテリーパックも同梱

ハロウィンに玄関へ近づく人を驚かせるため、前庭に設置する小型の隠しオーディオボックスをいくつか作りたかったです。これが最も複雑で最初のテストケースとなったもので、恐怖のサウンドトラック再生と、注目を集める2種類の視覚ライティングエフェクトを備えています。

まず、リレーでMP3アンプモジュールを制御するというオリジナルコンセプトを考案したKristian Blåsol氏に感謝します。

この製作のコンセプトは、単三電池または外部12V電源で動作する、モーション作動型の自己完結型スピーカーを作ることです。2つの12V LED出力も備え、エフェクト用に使用できます。安価(総費用20ポンド/25ドル未満)、カスタマイズ可能、ハロウィン当日の天候に耐えられることが要件でした。

ここでは近くに屋外コンセントがあったため12V外部電源を採用し、2A消費の高輝度LEDも使用しています。単三電池ホルダーや5000mAhのUSBモバイルバッテリーで5V/12V電池駆動にもほぼ無改造で対応可能です。5V外部ライトを使う場合も、入力電源を5Vに変えるだけで対応できます。

(注:長時間使用後、ArduinoがMP3モジュールに大音量で十分な電流を供給できず、再生中にリセットがかかることが判明。専用5V電池を追加して対処)

パート1:製作

Arduino UNOでMP3プレーヤーとライティングを制御します。4チャネルリレーモジュールを使用し、うち2つでMP3モジュールの「再生」と「前の曲」ボタンを押下シミュレート、残り2つでLEDのオン/オフを行います。

制御配線はすべて30AWGより線(100mm)、12V回路は18AWGを使用し、箱の中で長めに取ってあります。見た目はごちゃごちゃしていますが、箱の中は広く、蓋を開けて部品を取り出しやすくするためです。信頼性のため最終的にはすべて半田付け予定ですが、蓋を外せるようPIRセンサー接続はメスコネクタ、スピーカーケーブルはMP3モジュール側でネジ止めにしています。

配線図の通りに配線し、12V電源を防水コネクタから取り込みます。外部LEDのスイッチングには、入力側の-Vを出力側の-Vに直結し、+V側をリレー経由で制御します。

ケース加工:中央に32mm穴(スピーカー用)、上部片側に16mm穴(PIRセンサー用)を開け、全体を黒スプレーで塗装。基板上のLEDが光ってバレないようにし、隠蔽性を高めました。

(図示せず:スピーカー防水のため、自転車のチューブとパッチキットで外側にパッチを貼り、音は出せるが水は入らないようにしました。その上からボルト固定)

スピーカーをネジ止め、PIRセンサーをグルーガンで固定(後でエポキシ樹脂に変更、グルーでは水が入ったため)。

すべての部品を写真のように配置。MP3モジュールとArduinoのUSBポートにアクセス可能です。(5V駆動にする場合、ArduinoのUSBコネクタまたはMP3プレーヤーのmicro USBから給電可能)

製作完了後、コードをアップロードして全機能テスト。半田付け部分に補強としてグルーガンを追加(スピーカー接続など脆弱な箇所)。

※使用MP3モジュールはFAT32フォーマットのUSB/SDカードが必要。他フォーマットでは動作しませんでした。

パート2:サウンド

効果音はAudacityで編集。素材・クレジット:

パート3:セットアップ

オーディオファイルとArduinoプログラムのリレー切り替えタイミングは同期しています。別のオーディオファイルを使う場合は、テストしながらタイミングを調整してください。変更が必要なコード箇所はコメントで示しています。

パート4:実環境テスト

パート5:最終ビルド

ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット
ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット

コード

// ピン割り当て
int pirSENSOR = 2;      // モーション検知、感度と範囲は最大に設定
int previousBUTTON = 3; // MP3モジュールの「前の曲」ボタン
int playBUTTON = 4;     // MP3モジュールの「再生/一時停止」ボタン
int whiteLED = 5;       // 白色フラッシュライト
int redLED = 6;         // 赤色シーケンスライト(悲鳴時に点灯)
int statusLED = 10;     // ステータスLED

void setup() {
  pinMode(pirSENSOR, INPUT);
  pinMode(previousBUTTON, OUTPUT);
  pinMode(playBUTTON, OUTPUT);
  pinMode(whiteLED, OUTPUT);
  pinMode(redLED, OUTPUT);
  pinMode(statusLED, OUTPUT);
  
  digitalWrite(previousBUTTON, HIGH); // リレーはHIGH=OFF/OPEN
  digitalWrite(playBUTTON, HIGH);
  digitalWrite(whiteLED, HIGH);
  digitalWrite(redLED, HIGH);
}

void loop() {
  if (digitalRead(pirSENSOR) == HIGH) { // PIRが動きを検知
    digitalWrite(previousBUTTON, LOW);  // 「前の曲」押下(最初から再生)
    delay(100);
    digitalWrite(previousBUTTON, HIGH); // ボタン離す
    delay(100);

    // LEDフラッシュシーケンス - 注目喚起
    digitalWrite(whiteLED, LOW); delay(1000);
    digitalWrite(whiteLED, HIGH); delay(500);
    digitalWrite(whiteLED, LOW); delay(500);
    digitalWrite(whiteLED, HIGH); delay(9000);

    // "I see you" パターン
    digitalWrite(whiteLED, LOW); delay(500);
    digitalWrite(whiteLED, HIGH); delay(100);
    digitalWrite(whiteLED, LOW); delay(500);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(500);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(300);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(300);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(300);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(300);
    digitalWrite(whiteLED, HIGH); delay(6000);

    // 子供の声パターン
    digitalWrite(whiteLED, LOW); delay(300);
    digitalWrite(whiteLED, HIGH); delay(1000);
    digitalWrite(whiteLED, LOW); delay(100);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(100);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(100);
    digitalWrite(whiteLED, HIGH); delay(300);
    digitalWrite(whiteLED, LOW); delay(100);
    digitalWrite(whiteLED, HIGH); delay(1000);
    digitalWrite(whiteLED, LOW); delay(600);
    digitalWrite(whiteLED, HIGH); delay(1400);
    digitalWrite(whiteLED, LOW); delay(100);
    digitalWrite(whiteLED, HIGH); delay(7000);

    // 悲鳴/血のシーケンス
    digitalWrite(redLED, LOW); delay(3000);
    digitalWrite(redLED, HIGH); delay(100);

    // 再生停止
    digitalWrite(playBUTTON, LOW);  // 一時停止/停止
    delay(100);
    digitalWrite(playBUTTON, HIGH); // ボタン離す
    delay(60000); // 1分間クールダウン
  } else {
    digitalWrite(statusLED, HIGH); // PIRが何も検知しないときはステータス点灯(一部USBバッテリーの自動オフ防止)
  }
}

回路図

※このバリエーションはバッテリーパック1つのみ。後でオーディオ用に独立した2つ目の電源を追加しました(電流不足でArduinoがシャットダウンするため)

ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット

PIRを接着固定、スピーカーをプラスチックネジでボルト留め

ハロウィン用PIRモーションスピーカー:恐怖の音と光エフェクトキット

voices_audio_dUluBtMyqG.mp3 - ライティングエフェクトなし、通行時に6種類の笑い声を再生するボイスボックス版

laughing_ghost_variant_VsB0Y8CTlM.zip - 笑う幽霊バリエーション

archive_IipdobBdHs.zip - アーカイブ

graveyard_ambience_sound_fx_(128_kbps)_nhuprhuJcc.mp3 - 墓地アンビエンス効果音

製造プロセス

  1. GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築
  2. スマートフォンのBluetooth近接検知でスマートオートロックドアを構築
  3. Raspberry Pi GPIOマスター:PIRモーションセンサーをB+/Model 2でインターフェース
  4. Raspberry Piでホームセキュリティシステムを構築:PIRモーション検知+カメラメール通知
  5. HC-SR501 PIRモーションセンサーをRaspberry Piで接続・調整・プログラミングする方法
  6. Bluetooth Mesh設計の選択:モジュールかディスクリートデバイスか
  7. Apacer XR-DIMM:DO-160G認定取得の堅牢DDR4メモリ、防衛・航空向け
  8. emtrion、NXP i.MX 8M Mini搭載コンパクトモジュール「emCON-MX8M Mini」量産開始
  9. congatec、NXP i.MX 8M Mini搭載SMARC 2.0モジュール発表
  10. 誘導型近接センサー:回路設計、機能、実用応用
  11. PIRセンサー回路の仕組み:設計、動作、実世界の応用