ESP32チュートリアル 9/55 - プッシュボタンを使用してLEDをトグル、オンに押す、オフに押す - SunFounder ESP32 IoTキット
このチュートリアルでは、ESP32マイクロコントローラーを使用して、押しボタンでLEDをオンとオフに切り替える方法を学びます。このプロジェクトでは、押しボタンの状態を読み取り、それに応じてLEDを制御する方法を示します。ボタンが押されるとLEDが点灯し、離すと消灯します。これは、ESP32を使用した多くのインタラクティブプロジェクトの基礎的な概念です。
ESP32は、内蔵のWi-FiおよびBluetooth機能を備えた強力なマイクロコントローラーであり、さまざまなIoTアプリケーションに適しています。このレッスンでは、抵抗器やLEDなどの基本コンポーネントを含むSunFounder ESP32 Starter KitのESP32を使用して、シンプルな回路を作成します。配線とコードの詳細な説明については、ビデオ(ビデオは:00にあります)を参照してください。
ハードウェアの解説
このプロジェクトの主要なコンポーネントには、ESP32マイクロコントローラー、プッシュボタン、LED、および抵抗器が含まれます。ESP32はプロジェクトの脳として機能し、プッシュボタンの状態に基づいてLEDを制御します。プッシュボタンはユーザーが回路と対話することを可能にし、LEDはボタンが押されたときに視覚的なフィードバックを提供します。
プッシュボタンは押されると回路を閉じて電流を流すことで機能します。この動作により、ESP32の指定された入力ピンにHIGH信号が送られ、その後コードで読み取ることができます。ボタンに接続された抵抗は、ボタンが押されていないときにピンが定義された状態になるようにし、不安定な動作を防ぎます。
抵抗器付きの押しボタン
配線指示
回路を配線するには、まずLEDの長いピン(アノード)を220オームの抵抗器に接続します。抵抗器のもう一方の端をESP32のGPIOピン26に接続します。LEDの短いピン(カソード)はグラウンドに接続する必要があります。次に、プッシュボタンを取り、片側をボードの3.3V電源に接続します。プッシュボタンのもう一方の側はGPIOピン14に接続されます。
抵抗なしでボタンを押す
抵抗なしでボタンを押す
抵抗を使った押しボタン
抵抗器付きプッシュボタン
さらに、GPIOピン14からグラウンドに10kオームの抵抗を接続して、ボタンが押されていないときにピンがLOWを読み取るようにします。最後に、ESP32のグラウンドワイヤをブレッドボードの共通グラウンドに接続します。このセットアップにより、ESP32はボタンの状態を読み取り、それに応じてLEDを制御することができます。
コード例とウォークスルー
プログラムのコアは、定数を使用してボタンとLEDのピン番号を定義することから始まります。これにより、プログラムの実行中にピンの割り当てが変更されないことが保証されます。
// set pin numbers
const int buttonPin = 14; // Button pin
const int ledPin = 26; // LED pin
In thesetup()関数では、シリアルモニターを初期化し、ボタンのピンを入力として設定し、LEDのピンを出力として構成します。これにより、ESP32はボタンから読み取り、LEDを制御できるようになります。
void setup() {
Serial.begin(115200);
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
中にloop()プログラムはボタンの状態を継続的に読み取り、それをシリアルモニターに表示します。ボタンが押されるとLEDが点灯し、そうでない場合は消灯します。このロジックはボタンの状態に基づいてLEDを切り替えるために不可欠です。
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
delay(100);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
この基本機能により、LEDはプッシュボタンに直接応答します。プロジェクトの詳細や完全なコードについては、提供されたビデオ(ビデオ中の14:00)をご覧ください。
デモンストレーション / 期待すること
配線が完了し、コードがアップロードされたら、プッシュボタンを押すとLEDが点灯し、放すとLEDが消灯するはずです。この動作はボタンの状態が正しく読み取られていることを確認します。LEDが期待通りに反応しない場合は、配線を確認し、ボタンが正常に機能していることを確認してください。
テスト中は、ボタンの状態読み取りのためにシリアルモニタを確認してください。ボタンが押されているときには「1」が表示され、解放されると「0」が表示されるはずです。読み取りが予期しない変動を示す場合は、配線の問題やコードに追加のデバウンシングロジックが必要であることを示しているかもしれません。
動画のタイムスタンプ
- 00:00 開始
- 1:48 プロジェクト紹介
- 3:10 スイッチとプッシュボタンの説明
- 7:19 配線の説明
- 12:25 プッシュボタンの説明用Arduinoコード
- 15:56 ESP32ボードとCOMポートを選択中
- 17:38 プロジェクトのデモンストレーション
- 18:33 プロジェクト-2 LEDの切り替え
- 19:09 ArduinoコードでLEDを点灯
- 21:16 LEDのトグルデモ
画像
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button with resistor
808-ESP32 Tutorial 9/55 - Arduino code push button
言語: C++