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

具体的な内容に入る前に、このプロジェクトに関わるコンポーネントを理解することが重要です。サウンドモジュールはオーディオ信号を検出し、それに対応する信号を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に接続します。次に、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に接続されており、そのピンはプルアップ抵抗付きの入力として設定されています。リレーピンはリレーを制御するために出力として設定されています。

次に、メインループは音声入力をチェックし、検出した音に基づいてリレーを制御します:
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- 機能の実演
画像
必要かもしれないもの
-
アマゾンAmazonから音検出モジュールを購入するamzn.to
-
イーベイeBayのISD1820ボイスレコーダーebay.us
-
アリエクスプレスこの商品をAliExpressから購入してください。s.click.aliexpress.com
リソースと参考文献
まだリソースはありません。
ファイル📁
フリッツィングファイル
-
音声検出モジュール(KY-037)
Sound Detection Module.fzpz0.03 MB