みなさんこんにちわ、こんばんわ。

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

 

}

------------------------------------------

 

以上です!