手拍子、声、または音でAC電球を制御する

手拍子、声、または音でAC電球を制御する

このチュートリアルでは、手拍子や音声コマンドを検出するサウンドモジュールを使って交流電球を制御する方法を学びます。この構成を使えば、音の入力に応じて簡単に照明をオン/オフできます。本プロジェクトではリレーを用いて交流電球への電力を切り替えるため、簡単な音声コマンドで高電圧機器を安全に制御できます。結果として、声や手拍子に反応する実用的で楽しい照明ができあがります。このモジュールはKY-037音声検出(またはサウンド検出)モジュールとも呼ばれます。

Sound detection microphone blue red

具体的な内容に入る前に、このプロジェクトに関わるコンポーネントを理解することが重要です。サウンドモジュールはオーディオ信号を検出し、それに対応する信号をArduinoに送ります。Arduinoはその信号を処理してリレーを制御し、リレーがAC電球に電力を供給します。このシステムはさまざまな音量に反応できるため、ライトを点灯させる方法に柔軟性があります(ビデオの00:30で)。

ハードウェア解説

このビルドには、以下のコンポーネントが必要です:

  • Arduinoボード:音声モジュールからの入力を処理し、リレーを制御する中央コントローラとして機能します。
  • サウンドモジュール:このモジュールは拍手や音声コマンドのような音入力を検出し、Arduinoに信号を出力します。通常、マイクと音を増幅するためのオペアンプが含まれます。
  • リレーモジュール:リレーを使うと、交流電球のような高電圧の機器を制御できます。リレーは、Arduinoでオンまたはオフに切り替えられるスイッチとして機能します。
  • AC電球:これはあなたが制御する光源です。リレーを介して安全に接続されていることを確認してください。

サウンドモジュールは音波をArduinoが読み取れる電気信号に変換することで動作します。リレーモジュールはArduinoからの低電圧入力を用いて高電圧の交流電流をオン/オフに切り替えるため、安全な動作に不可欠な部品です。

データシートの詳細

製造元一般的
部品番号音検出モジュール
ロジック/IO電圧5ボルト
供給電圧5ボルト
出力電流(チャンネルあたり)20 mA
ピーク電流(チャンネルあたり)50 mA
PWM周波数に関するガイダンス該当なし
入力論理閾値TTL互換
電圧降下 / RDS(オン)/ 彩度最大0.1 V
熱的制限摂氏85℃
パッケージモジュール
備考/バリエーションさまざまなDIYプロジェクトでよく使われます

  • リレーモジュールの適切な放熱を確保してください。
  • 電源の近くにデカップリングコンデンサを配置して電圧を安定させてください。
  • 配線を整理して、誤って短絡が起きないようにしてください。
  • 交流電圧に注意し、すべての接続が確実であることを確認してください。
  • サウンドモジュールの感度を環境に合わせて調整してください。

配線手順

Arduino wiring of Sound detection microphone with relay
Arduino wiring of Sound detection microphone with relay

まずサウンドモジュールをArduinoに接続します。次に、DOサウンドモジュールの(データ出力)ピンをArduinoのピン2に接続してください。VCCピンはArduinoの5V出力に接続する必要があり、そしてGNDピンはArduinoのグラウンドピンのいずれかに接続する必要があります。

次に、リレーモジュールに配線します。接続します:VCCリレーのピンをArduinoの5Vピンに接続し、GNDピンをグラウンドに接続してください。リレーの入力ピンはArduinoのピン10に接続してください。最後に、交流電球をリレーのコモン(共通)端子と常時開(NO)端子に接続し、回路が露出した接点から適切に絶縁されていることを確認してください。

コード例と解説

以下のコード例は、ピンの設定と音入力の読み取り方法を示しています:

int SOUND = 2; // connect output to Sound module DO
int relayPin = 10; // Connected to relay (LED)

void setup() {
  Serial.begin(9600);
  pinMode(SOUND, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
}

このセットアップでは、サウンドモジュールの出力がピン2に接続されており、そのピンはプルアップ抵抗付きの入力として設定されています。リレーピンはリレーを制御するために出力として設定されています。

Wirig relay module to AC load

次に、メインループは音声入力をチェックし、検出した音に基づいてリレーを制御します:

void loop() {
  val = digitalRead(SOUND);
  if(val == HIGH && lightON == LOW){
    heard = 1 - heard;
    delay(100);
  }    
  lightON = val;

  if(heard == HIGH){
    Serial.println("Light ON");
    digitalWrite(relayPin, LOW); 
  }else{
    Serial.println("Light OFF");
    digitalWrite(relayPin, HIGH);
  } 
  delay(100);
}

このループは音声入力を継続的に読み取ります。音が検出された場合(〜のときvalですHIGH), ライトの状態を切り替えます。そのheard変数は音が検知されたかどうかを追跡し、それに応じてリレーが作動します。

デモ/当日の内容

配線が完了し、コードがアップロードされたら、サウンドモジュールの近くで拍手するか声を出して機能をテストできます。最初の拍手や音でライトが点灯し、次の拍手や音で消灯するはずです。距離や声の大きさに注意してください。これらは検出に影響することがあります(ビデオの05:00参照)。

よくある落とし穴には配線ミスがあり、特にリレーの配線が誤っていると安全でない状態を招くことがあります。電気による危険を避けるため、リレーが正しく接続されていることとAC電球が正しく配線されていることを必ず確認してください。

動画のタイムスタンプ

  • 00:00- プロジェクトの紹介
  • 01:00- 使用されるコンポーネントの概要
  • 02:30- 配線手順
  • 04:15- コードのウォークスルー
  • 午前05:00- 機能の実演

画像

Wirig relay module to AC load
Wirig relay module to AC load
Sound detection microphone
KY-037-Voice-Sound-Detection-Sensor-Module-2
Sound detection microphone
KY-037-Voice-Sound-Detection-Sensor-Module-3
Sound detection microphone
KY-037-Voice-Sound-Detection-Sensor-Module-4
Arduino wiring of Sound detection microphone with relay
Arduino wiring of Sound detection microphone with relay
Sound detection microphone blue red
Sound detection microphone blue red
KY-037-Voice-Sound-Detection-Sensor-Module-1
KY-037-Voice-Sound-Detection-Sensor-Module-1
77-Control AC bulb with a hand clap or voice (basic digital)
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

まだリソースはありません。

ファイル📁

フリッツィングファイル