みなさんこんにちわ、こんばんわ。
SAIです。
今回からESP32で遊びますよ!
まず新しいマイコンでやることは、やっぱりLEDをチカチカですよね
①LEDチカチカをするGPIOを決める
ブレッドボードを用意してLEDを接続しようかな?
と思ったのですが、FREENOVEさんのボードを見ると、LEDが4個ついていて、
そのうち1つにIO2と書かれていました。
ということは、LEDを接続しなくても、GPIO2でLEDチカチカは見れそうな気がします。
が、念のため抵抗とLEDも接続してみました。
一応、回路的には GPIO2(6番目のpin)から抵抗180Ωを接続してLEDを介してGNDに戻しています。
そんなわけで、制御するLEDはGPIO2とします。
②GPIO2を制御するには
LEDをチカチカする方法はArduinoと同じで、
ESP32でも最初にポートの設定をして、
制御をしたいタイミングで出力をHi/Lo切り替える方式です。
ArduinoIDEでは、
(1)起動直後に動作する処理 setup()
(2)起動後ぐるぐる繰り返す処理 loop()
が用意されていますね。
まず、GPIO2を出力ポートとして利用するには、
pinMode()関数で出力設定をしますね。
そして、GPIO2をHi/Lo切り替えるには、
digitalWrite()関数でHi/Lo切り替えます。
Arduinoの時と同じです。
③コードを書いてみよう
こんな感じですね。
※記事の最後にコードを記載しておきますので、コピペする方はそこからコピペしてね。
1行目は、LED用の出力先であるGPIOを示す 2 を定義しています。
6行目で、pinMode()により、GPIO2を出力(OUTPUT)に設定しています。
12行目と14行目は、digitalWrite()により、出力をHIGHとLOWに制御することで点灯と消灯をさせています。
13行目はdelay()関数なのですが、タイマーで500ms間の待ち時間を設定しています。
なので、500msごとに点灯 消灯を繰り返すコードになっています。
④動かしてみる
動かしてみましたよ
これが消灯した状態ですね
そしてこっちが点灯した状態で
1秒ごとにチカチカしていました
動画にした方が判りやすいですね。
気が向いたらYoutubeにしようと思います。
それでは、LEDチカチカはここまで。
Topへ戻る↓
https://ameblo.jp/saiduke/entry-12881307216.html
今回使用したコード
------------------------------------------
const int CGPIO_LED_PIN = 2;
// 起動時初期設定 //
void setup() {
//GPIOの初期設定
pinMode(CGPIO_LED_PIN, OUTPUT);
}
// ぐるぐるループ //
void loop() {
//LED点灯 //
digitalWrite(CGPIO_LED_PIN, HIGH);
delay(500);
digitalWrite(CGPIO_LED_PIN, LOW);
delay(500);
}
------------------------------------------
以上です!















