●ESP32( マイコン )も 使ってみよう
プログラム ( スケッチ ) を、ESPマイコン( ESP-WROOM-02 )に
書き込んで、手作りの電子回路基板を動かすことができました。
同機種の上位に、ESP32-DOWDQ6 ( 32bit MCU ) 搭載 の ESP32マイコン
( ESP32-WROOM-32 ) が、あるようですので試してみることにしました。
【 Wi-Fiモジュール ESP-WROOM-32 】
■特長・主な仕様
・対応無線規格:
・WiFi:802.11 b/g/n
・Bluetooth v4.2
・デュアルコア Tensilica LX6
・SRAM:520KB
・電源電圧:2.2V~3.6V
・静電容量タッチインターフェース:x10
・32kHzオシレータ:x1
・GPIO:x21
・UART:x3
・SPI :x2
・I2S :x2
・ADC :x16
・DAC :x2
・I2C :x2
・SDIO:マスター/スレーブ
※工事設計認証(技適)番号:211-161007
・
・
・
・
・
●勉強しながら … お手頃な、開発ボードを使用します。
【 ESP32−DevKitC ESP−WROOM−32開発ボード 】秋月電子通商
パソコンとUSBケーブルで接続して、Arduino言語のプログラム構築に
伴う開発作業が行えますので、とても便利なユニットです。
●パソコンにUSB接続しました。
・USBケーブル
USB2.0 Aオス−マイクロBオス 0.3m A−microB
●ピンアサインです。……… クリックすれば、拡大します。
【 Wi-Fiモジュール ESP-WROOM-32 】 ………38 ピン
【 ESP-WROOM-32 開発ボード 】 ……… 38 ピン
・GPIO : 32 ピン
・3V3 : 1 ピン
・5V : 1 ピン
・EN : 1 ピン
・GND : 3 ピン
*ピン数は同じ(38本)ですが、ピン配置が異なります。
・
・
・ ■■■ Arduino 統合開発環境( Arduino IDE ) ■■■
・
・
●パソコン ( Windows 10 ) にセットアップします。
既に、ESPマイコン ( ESP-WROOM-02 ) で使用している開発環境
( Arduino IDE )に対して、ESP32マイコンも使えるように追加設定です。
●ESP32用ボードマネージャのURLを追加です。
ファイル > 環境設定 > 設定
■追加のボードマネージャのURL :
https://dl.espressif.com/dl/package_esp32_index.json
●ESP32も扱えるように、追加ソフトウェアのインストールです。
ツール > ボード > ボードマネージャ
「 esp32 」を検索して、インストールしました。
・
・
・
・
・
●基板が丸出しでは、壊れそうなので ……… ケースの中に入れました。
■既に、装備している小型のスイッチボタン(2個)を …
幾度も使えば、基板ごと、押し潰して不良を起こしてしまいますので
ESP02用と同じ要領で、スイッチボタンを付け加えました。
【 青 】PGM ボタン ……… Boot ( 起動 )
【 赤 】RST ボタン ……… EN ( リセット )
■スケッチを【書き込み】可能な状態にする … ボタン操作です。
●配線図です。……… クリックすれば、拡大します。
・
・ ●Arduino IDEの操作を、確認したいので …
・
・ 簡単なスケッチを作成しての試行です。
・
●スケッチの内容です。
void setup()
{
pinMode (16, OUTPUT);
}
void loop()
{
digitalWrite (16, HIGH);
delay(500);
digitalWrite (16, LOW);
delay(500);
}
●選択するボードですが ……… これで、良いのかしら (^^?
ツール > ボード > ESP32 Arduino > ESP32 Dev Module
●取り合えず、ボード情報の項目を設定しました。
→ この設定で、良いのかしら (^^?
●スイッチ ボタン操作で … 書き込み可能状態にしてからの操作です。
【 マイコンボードに書き込む 】ボタンを押下しました。
■コンパイル → ■書き込み ……… できました。(OK)
●スケッチの実行です。
自動的に、書き込んだスケッチが実行されています。
→ LED点滅 ( 点灯・消灯 )していますので … OKです。
・
・
・ ●メモ
・
・
●スイッチ ボタン操作で、書き込みモードにするのですが …
何故か … 何もしなくても、書き込みできました。?
●スケッチ(プログラム)の命令が違うようです。
・analogWrite が、ないみたいです。(代用のdacWriteが…なんか、違うかも?)
・出力の種類
・デジタル出力 : digitalWrite
・PWM出力 : ledcWrite
・アナログ出力 : dacWrite
●新しいモデル( ESP32D )ですが … 何が、違うのかしら?
【 ESP−WROOM−32D 開発ボード 】秋月電子通商
→ 機会があれば … 使ってみます。
・
・
・ ●大きなプログラムで …
・
・
●( 領域不足 )により、コンパイルできない事象が発生しました。
■ESP32 Dev Moduleの仕様
・プログラム(FLASH) : 4MB
・データ(RAM) : 320KB
■パーティション … FLASH( 4MB )内で
プログラム領域( 1.2MB )に、OTA 【 有効 】 設定していました。
(対応)
・OTAを、使用しない 【 無効 】 状態にして …
プログラム領域を、拡大(3MB)設定しての対応です。
【 ツール 】 → 【 Partition Scheme 】 → 【 Huge APP... 】
→ コンパイル(OK)→ 書き込みできました。
・
・
・ ●新しいモデル( ESP32E )ですが …
・
・
●8MBメモリです。
【ESP32−DevKitC−VE ESP32−WROVER−E開発ボード 8MB】
●大きさとピン数は同じです。
●設定です。
■使用不可ピン
・GPIO16 : X
・GPIO17 : X
・GPIO15 : ?
・
・
・ ●最新の統合開発環境( Arduino IDE )です。
・
・
●他のパソコンに、インストールしました。 ( VER 2.1.0 )
→ 試しに、画面色を設定しました。
●コンパイル(OK)→ 書き込みできました。
→ バックアップ環境として … いいかも (^^)
・
・
・
・
・