明日は我が身の備忘録(あすびぼ)

自分向け備忘録です。頻繁に更新は難しいでしょうね

ESP32-DevKitC(ESP-WROOM-32開発ボード)GPIO設定(Lチカッ)

 前回は、ESP32の開発環境を構築して、hello_world を実行した。しかし、まだどんな感じでプログラムしてよいかわかっていないので、今回はLチカのサンプルプログラムを実行してみる。

f:id:kirikoshokunin:20210331220805j:plain:w300

サンプルプログラムをワークスペースまでコピー

 

f:id:kirikoshokunin:20210331205423p:plain:w350
サンプルプログラム blinkをコピー

コピーした後は下のような画面になる。

f:id:kirikoshokunin:20210331205518p:plain:w350
コピーした後の画面

カレントディレクトリをコピーして生成したblinkに移動

ターゲットをesp32に設定

 ターゲットをesp32に設定するには下のコマンドを実行する。

idf.py set-target esp32

f:id:kirikoshokunin:20210331205821p:plain:w350
idf.py set-target esp32実行後の画面

 LEDを接続するPINの設定

このLチカサンプルプログラムはLEDを接続するピンをmenuconfigで設定できる。 そのためまずは、下のコマンドでmenuconfigを開く。

idf.py menuconfig

 これを実行すると下のような画面が出現する。

f:id:kirikoshokunin:20210330215527p:plain
ESP32の設定画面

f:id:kirikoshokunin:20210331210403p:plain
menuconfig 画面で”Example Configuration”を選択

f:id:kirikoshokunin:20210331210523p:plain
Blink GPIO number

f:id:kirikoshokunin:20210331220311p:plain
LEDを接続するピンを設定する。今回はPin32を入力

32に設定したら、q を入力する。

f:id:kirikoshokunin:20210331221944p:plain
変更後、qを入力するとセーブするか尋ねられる。

プロジェクトをビルド

設定が完了したら、下のコマンドでプロジェクトをビルドする。(凄い時間が掛かる)

idf.py build

プログラムを書き込む

ビルドが正常に終了したら、下のコマンドで書き込む。

idf.py -p COM9 flash

Lチカ サンプルプログラム (blink.c)

ESP-IFをインストールしたときに同時にダウンロードされた、Lチカのサンプルプログラムを下に示す。

 18行目の#define でLEDを接続するピンを設定されている。CONFIG_BLINK_GPIOとなっているとmenuconfigで設定したピン番号を設定されるが、ここにピン番号を記入するとプログラム上でも設定ができる。

この行でGPIOの入出力設定をする。

 gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);

この行でGPIOの出力設定をする。第一引数でピン番号を設定、第二引数で出力を設定(0 or 1)

gpio_set_level(BLINK_GPIO, 0);

この行はDelay関数、1000msec処理を停止する。

vTaskDelay(1000 / portTICK_PERIOD_MS);

シリアルで出力はprintfを用いればよいらしい。初期設定は115200bps。

printf("Turning on the LED\n");

実行した動画

youtu.be

前回記事

kirikoshokunin.hatenablog.com