こんにちは!yasueです。
[前回]でESP-IDFの開発環境でESP32-DevKitCを動作させる方法を理解することができました。今回は、Lチカしていきたいと思います。
今回使用するもの
- ESP32-DevKitC
- ブレッドボード
- ESP32-DevKitCの幅が広いので、サンハヤト製SAD-01などがオススメ
- 適当なLEDと抵抗
①通常のLチカの動作確認
Lチカするためのプログラムですが、前回に引き続きshotaさんのブログを参照するので説明は割愛します。各行にコメントを追加して頂いているので、凄く分かりやすいです。
Lチカするための配線は図1の通りです。めっちゃ簡単ですね。
図1. ブレッドボード配線図(通常のLチカ)
実際の動作確認結果は動画1の通りです。プログラムの通り、cntが奇数の間LEDが点灯していることが分かります。簡単な動作確認ですが、動くと楽しくなってきますね!
動画1. 通常のLチカの動作確認
②タクトスイッチを使ったLチカの動作確認
次に、タクトスイッチをハードウェアスイッチとして用いたLチカさせたいと思います。(スイッチの信号を制御して点灯させているわけではないです)
まずは、図2のようにブレッドボードに配線をしていきます。
図2. ブレッドボード配線図(タクトスイッチを使ったLチカ)
プログラムはいじっていないので、タクトスイッチを押している&cntが奇数の時にLEDが点灯するはずです。
実際の動作確認結果は動画2の通りです。問題なくLチカしました。
動画2. タクトスイッチを使ったLチカの動作確認(cntが奇数の時点灯)
③タクトスイッチを使ったLチカの動作確認(スイッチを押している間ずっと点灯)
最後は、タクトスイッチを押している間ずっとLEDが点灯するようにプログラムを変更します。といっても、while文の中身を次のように少し変更するだけです。
while(1) { // gpioの出力をセットする // 出力を1に固定 gpio_set_level(GPIO_OUTPUT_IO_0, 1); gpio_set_level(GPIO_OUTPUT_IO_1, 1); }
これでタクトスイッチが押されている間ずっとLEDが点灯するはずです。
実際の動作確認結果は動画3の通りです。こちらも問題なく動作しました。
動画3. タクトスイッチを使ったLチカの動作確認(スイッチを押している間ずっと点灯)
今回、タクトスイッチをただのハードウェアスイッチとして使用しました。次回はスイッチの信号を取り込んで制御していきたいと思います。
次回もよろしくお願いします!