ESP32 チュートリアル 14/55 - SunFounder ESP32 IoT 学習キットを使用したカスタム音楽ノートの再生

ESP32 チュートリアル 14/55 - SunFounder ESP32 IoT 学習キットを使用したカスタム音楽ノートの再生

このチュートリアルでは、SunFounder ESP32マイクロコントローラーを使用して、パッシブブザーとトランジスタを用いて音楽ノートを再生する方法を学びます。このプロジェクトは、ESP32のGPIOピンを介してブザーを制御することで、特定の周波数の音を生成する方法を示すことを目的としています。

私たちはESP32にパッシブブザーを接続し、提供する周波数に基づいて異なる音楽ノートを生成できるようにします。このセットアップには、高速でブザーをオンオフするためにトランジスタを使用することが含まれ、私たちが聞くことができる音波を生成します。プロジェクトについてのさらなる詳細は、ビデオ(ビデオの00:30で)を必ず確認してください。

ESP32-13-ブザー-回路図

ハードウェアの説明

このプロジェクトで使用される主なコンポーネントには、SunFounder ESP32マイクロコントローラー、パッシブブザー、NPNトランジスター(2N8050)が含まれます。ESP32は、内蔵Wi-FiおよびBluetooth機能を備えた強力な開発ボードであり、さまざまなIoTアプリケーションに対応できる柔軟性を提供します。この場合、ブザーを制御するための信号を生成します。

受動型ブザーは、交互電圧が加わると音を生成して動作します。内蔵オシレーターを持つ能動型ブザーとは異なり、受動型ブザーは音を生成するために外部信号を必要とします。トランジスタはスイッチとして機能し、ESP32がブザーを直接電源供給することなく制御できるようにし、マイクロコントローラーの電流定格を超えないようにします。

S87050トランジスタ

データシートの詳細

製造業者 サンファウンダー
部品番号 受動ブザー
動作電圧 3.3 V - 5 V
共振周波数 2 kHz - 4 kHz
現在の消費量 ≤ 30 mA
音圧レベル ≥ 70 dB
パッケージ スルーホール
ノート / バリアント None

  • ブザーを接続する際は、正しい極性を確認してください。
  • トランジスタのベースには、電流制限抵抗を使用してください。
  • ブザーをその電圧定格に対応する電源に接続してください。
  • トランジスタの最大電流定格を超えないように注意してください。
  • 配線を整理してショートサーキットを避ける。
  • コードをアップロードする前に回路をテストして、部品の損傷を避けてください。
  • コンポーネント接続を簡単にするためにブレッドボードを使用してください。
  • ボタンを使用する場合は、入力をデバウンスすることを確認してください。
  • 高い電流で使用する場合は、トランジスタのためにヒートシンクを追加することを検討してください。

配線指示

ESP32-13-buzzer-wriing

コンポーネントを配線するには、まずパッシブブザーの正端子をESP32の3.3Vピンに接続します。ブザーの負端子はNPNトランジスタのコレクタに接続する必要があります。トランジスタのエミッタピンはESP32のグラウンド(GND)に配線するべきです。

次に、トランジスタのベースからESP32のGPIOピン14に1 kΩの抵抗を接続します。この抵抗はトランジスタのベースに流れる電流を制限します。最後に、すべてのグラウンド接続が一緒に結合されて回路の共通基準が提供されることを確認してください。

コード例とウォークスルー

const int buzzerPin = 14; // the buzzer pin

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Set as output
}

コード内で定数変数を定義します。buzzerPin14に設定されており、トランジスタのベースに接続されたGPIOピンを示しています。setup()このピンをOUTPUTとして設定し、ESP32がブザーを制御できるようにします。

void loop()
{
  for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
  {
    digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
    delay(3); // Wait for 3 milliseconds
    digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
    delay(3); // 
  }
  delay(1000); // Wait for 1s before starting the next loop
}

そのloop()この関数には50回実行されるforループがあります。各イテレーションではブザーが迅速にオンとオフ切り替えられ、音を生成します。3ミリ秒の遅延がブザーの活性化と非活性化の時間を制御し、ループの最後に1秒の遅延が繰り返す前の一時停止を提供します。

デモンストレーション / 何を期待するか

配線が完了し、コードがアップロードされると、ブザーから一連の短い音が鳴るはずです。ブザーが音を出さない場合は、接続を確認してください。特にトランジスタの向きや抵抗値に注意してください。コードで正しいピンが使用されていること、ESP32に適切に電源が供給されていることを確認してください。

デモ中に問題が発生した場合、配線が不適切であるか、ブザーに対して間違ったピンを使用している可能性があります。指示に従って配線を確認し、電源が適切であることを確認してください(ビデオの08:15にて)。

動画のタイムスタンプ

  • 00:00 スタート
  • 1:52 プロジェクトの紹介
  • 4:11 配線の説明
  • 8:11 Arduino IDEでESP32ボードとCOMポートを選択する
  • 9:53 Arduinoコードの説明
  • 13:17 プロジェクトデモンストレーション
  • 13:58 プロジェクト2のコードとデモンストレーション

画像

ESP32-13-buzzer-wriing
ESP32-13-buzzer-wriing
ESP32-13-buzzer-schematic
ESP32-13-buzzer-schematic
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
S87050_transistor
S87050_transistor
813-ESP32 Tutorial 14/55- Arduino code for custom music tone
言語: C++
コピーしました!

リソースと参考文献

ファイル📁

データシート(pdf)