検索コード

ESP32 チュートリアル 13/55 - アクティブブザーによる Arduino ビープ | SunFounder の ESP32 IoT 学習キット

ESP32 チュートリアル 13/55 - アクティブブザーによる Arduino ビープ | SunFounder の ESP32 IoT 学習キット

このチュートリアルでは、ESP32マイクロコントローラーとトランジスタを使用してアクティブブザーを制御する方法を学びます。このプロジェクトでは、ブザーをオンとオフにしてビープ音を作成します。ESP32の内蔵Wi-FiおよびBluetooth機能を活用すれば、将来的にこのプロジェクトをより複雑なIoTアプリケーションに拡張することができます。

使用するコンポーネントには、ESP32ボード、アクティブブザー、トランジスタ(S8050)、および抵抗が含まれます。これらのコンポーネントを正しく配線することにより、ESP32を通じてブザーの音を制御できます。さらに、このプロジェクトを立ち上げるために必要な配線とコードの簡単な概要を提供します。詳しくは、このチュートリアルに付随するビデオを確認してください(ビデオは00:00にあります)。

S87050トランジスタ

ハードウェアの説明

このプロジェクトの主なコンポーネントには、ESP32マイクロコントローラー、アクティブブザー、S8050トランジスタが含まれています。ESP32は、Wi-FiとBluetoothを両方搭載した強力なマイクロコントローラーで、広範囲なIoTプロジェクトに対応しています。アクティブブザーは、電圧が加わると音を生成し、S8050トランジスタはESP32からの低電圧信号でブザーを制御するスイッチとして機能します。

トランジスタには三つのピンがあります:コレクタ、ベース、エミッタです。抵抗を通してベースピンに電圧が加わると、コレクタからエミッタへ電流が流れることができるようになり、これによってブザーが動作します。この設定により、ESP32のGPIOピンを過負荷にすることなく、安全にブザーを制御できることが保証されます。

ESP32-13-ブザー-回路図

データシートの詳細

メーカー サンファウンダー
部品番号 TMBB 12 A05
動作電圧 3-8 V
定格電圧 5 V
最大電流 30 mA
振動周波数 2700 ± 300 Hz

  • 1 kΩの抵抗を使用して、トランジスタのベースへの電流を制限します。
  • アクティブブザーが正しくプラス端子とマイナス端子に接続されていることを確認してください。
  • ショート回路を防ぐためにピン接続を再確認してください。
  • 接続や調整を簡単にするためにブレッドボードを使用してください。
  • ブザーは3.3Vと5Vの両方で動作できますが、回路のニーズに応じて電源を供給してください。

配線指示

ESP32-13-buzzer-wriing

コンポーネントを配線するには、まずアクティブブザーをブレッドボードに挿入します。ブザーの正端子をESP32の3.3Vピンに接続します。ブザーの負端子はS8050トランジスタのコレクタピンに接続する必要があります。次に、S8050トランジスタをブレッドボードに挿入し、平らな面が自分の方を向いていることを確認します。左のピン(コレクタ)はブザーの負端子に接続し、中間のピン(ベース)は1 kΩの抵抗に接続し、右のピン(エミッタ)はグラウンドに接続します。

1 kΩの抵抗の反対側をESP32のGPIOピン14に接続します。最後に、トランジスタのエミッターピンをブレッドボードのグラウンドレールに接続します。すべての接続が確実であることを確認し、回路に電源を供給する前にピンの配置を再確認してください。

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

ブザーを制御するコードの簡単な概要です。まず、ブザーに接続されたピンを定義します:

const int buzzerPin = 14; // the buzzer pin

この行は変数を設定します。buzzerPinESP32のピン14を指しており、これはブザーの制御に使用されます。

次に、ブザー ピンを出力として設定します。setup()関数:

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

これにより、ESP32はピン14を使用してブザーをオンおよびオフにする信号を送ることを認識します。

In theloop()関数では、ブザーを複数回作動させるためにforループを作成します:

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); // 
}

このループはブザーを50回鳴らし、各鳴動は3ミリ秒続きます。ループが完了した後、繰り返す前に1秒の遅延があります。

デモンストレーション / 期待すること

配線とコードが正しく設定されていると、ESP32に電源を入れることでブザーが作動し、一連のビープ音を発生させるはずです。ブザーが鳴らない場合は、接続を確認し、特にトランジスタと抵抗の向きを確認してください。コードで正しいGPIOピンが使用されていることと、電源が十分であることを確認してください(ビデオは01:30で)。

ビデオのタイムスタンプ

  • 00:00 開始
  • 1:45 ブザープログラムの紹介
  • 5:57 ブザーとS8050トランジスタの配線
  • 9:57 ESP32ブザー用のArduinoコード
  • 12:52 ESP32ボードとCOMポートを選択中
  • 14:05 3.1 ブザープロジェクトのデモンストレーション

画像

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
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
言語: C++
const int buzzerPin = 14; // ブザーピン

void setup()
{
  pinMode(buzzerPin, OUTPUT); // 出力として設定
}

void loop()
{
  for (int i = 0; i < 50; i++) // 50回ループして、そのたびに短い音を鳴らします。
  {
    digitalWrite(buzzerPin, HIGH); // ブザーを鳴らすにはHIGHに設定してください。
    delay(3); // 3ミリ秒待ってください
    digitalWrite(buzzerPin, LOW); // LOWでブザーをオフにする
    delay(3);
  }
  delay(1000); // 次のループを開始する前に1秒待ってください。
}

リソースと参考文献

ファイル📁

データシート(pdf)