●ESPマイコン( ESP-WROOM-02 )を 使ってみよう
お手頃で、安価な、マイコン ……… ESP8266EX( 32bit MCU )搭載の wifi通信が可能な ESPマイコンモジュール( ESP-WROOM-02 )を、試してみることにしました。 【 Wi-Fiモジュール ESP-WROOM-02 】
■主な仕様 ・電源電圧 :3.0~3.6V ・消費電流 :平均80mA ・対応WiFiプロトコル:802.11b/g/n(2.4GHz) ・サイズ :18mm×20mm×3mm ・端子ピッチ :1.5mm ・Wi-Fiモード :station/softAP/SoftAP+station ・セキュリティ :WPA/WPA2 ・暗号化 :WEP/TKIP/AES ・内蔵フラッシュ :4メガバイト(32メガビット)

( ESP-WROOM-02 の WiFiモード )  ・WIFI_STA : ステーションモード ( 無線LAN子機 )  ・WIFI_AP : アクセスポイントモード ( 無線LAN親機 )  ・WIFI_AP_STA : WIFI_STA + WIFI_APの混合モード  ・WIFI_OFF : WiFi機能 オフ
●オープンソース の Arduino ……… Arduino ( アルデュイーノ ) のプログラムを書き込んで AVRマイコン ( Arduino互換 ) としても使えるようです。 PICより、使いやすいとのことですので、とても興味があります。 プログラミング言語は、C言語系の 「 Arduino 言語 」です。 また、プログラムのことを、写生図や下絵を意味する 「 スケッチ 」 と呼ばれています。
・ ・ ・ ・ ・
●開発ボードです。 ESPマイコンモジュール( ESP-WROOM-02 )と USBシリアルインターフェース搭載の小型ユニットです。 ・統合開発環境( Arduino IDE )で、プログラム開発ができる。(無料) ・プログラム書き込み機能が装備されているので、専用ライタは不要である。 【 ESP-WROOM-02 開発ボード 】
パソコンとUSBケーブルで接続して、Arduino言語のプログラム構築に 伴う開発作業が行えますので、とても便利なユニットです。
●パソコンにUSB接続しました。
・USBケーブル  USB2.0 Aオス−マイクロBオス 0.3m A−microB
●ピンアサインです。……… クリックすれば、拡大します。 【 Wi-Fiモジュール ESP-WROOM-02 】 ………18 ピン 【 ESP-WROOM-02 開発ボード 】 ……… 20 ピン  → 2ピン( 5V入力、CBUSO端子 )増設されている。
・ ・ ■■■ Arduino 統合開発環境( Arduino IDE ) ■■■ ・ ・       パソコン ( Windows ) 環境下 ・
●パソコン ( Windows 10 ) にセットアップです。 Arduino公式サイトからダウンロードです。
https://www.arduino.cc/en/Main/Software
■インストールできました。
Arduino 統合開発環境で、Arduino言語のプログラムを構築します。 【1】スケッチの作成 【2】スケッチの書き込み
・ ・ ●PC( Windows )の環境で ……… ・ ・   「 Arduino IDE 」の設定です。 ・
●「 Arduino IDE 」を起動する。 デスクトップの「 Arduino IDE 」アイコンを、ダブルクリックする。
↓ ●起動後の初期画面です。

●環境設定です。 【 ファイル 】→【 環境設定 】→【 設定 】
・スケッチブックの場所     : C:\07-Arduino *任意 ・追加のボードマネージャのURL : http://arduino.esp8266.com/stable/package_esp8266com_index.json ・直接編集できる設定ファイルです。 C:\Users\User\Documents\ArduinoData\preferences.txt
●ESP-WROOM-02用コアライブラリのインストールです。 【 ツール 】→【 ボード 】→【 ボードマネージャ 】で 「 esp8266 by ESP8266 Community 」を選択する
 → この設定で、良いのかしら (^^?
●ボードの最新バージョンがインストールされているのか? 【 ツール 】→【 ボード: "Generic ESP8266 Module" 】→【 ボードマネージャ 】
 → 最新バージョンがインストールされていますので … OKです。
●個別ライブラリを追加登録する方法  ■該当分を、ダウンロード( zipファイル )して解凍します。  ■ライブラリ本体(解凍後)のフォルダごとコピーして登録する。  *登録(コピー)先フォルダ … libraries   C:\07-Arduino\libraries
■Arduino IDE画面【 ライブラリをインクルード 】操作でも…  ・「 zipファイル 」形式で登録できます。
●Arduino IDE の フォルダ構成  ■ArduinoIDE本体( ArdunData )   C:\Users\User\OneDrive\ドキュメント\ArduinoData  ■ボード&設定情報( preferences.txt )   C:\Users\User\OneDrive\ドキュメント\ArduinoData\preferences.txt  ■スケッチブック( 07-Arduino )   C:\07-Arduino  ■ライブラリ( libraries )   C:\07-Arduino\libraries *クラウドストレージ( OneDrive )を使用しています。
・ ・ ・ ●ATコマンドで、動作確認します。 ・ ・
●応答確認です。 【 ツール 】→【 シリアルモニタ 】で、ATコマンドを入力する。
・コマンド : AT ・改行 : CRおよびLF ・速度 : 115200 bps
●ATコマンド( 応答確認 )の実行結果です。
 → 応答確認 OKです。
●ATコマンド( SDKの情報 )、( IP、アクセスポイント情報 )の確認です。 ・SDKの情報 : AT+GMR ・IP、アクセスポイント情報 : AT+CIFSR
 → 動作確認 OKです。
・ ・ ・ ・ ・
●基板が丸出しでは、壊れそうなので ……… 【 ESP-WROOM-02 開発ボード 】を、ケースの中に入れました。
 → お手軽に作りましたが、いいかも
・ ・ ●Arduino IDEの操作を、確認したいので ……… ・ ・   簡単なスケッチを作成しての試行です。 ・
●プログラム作りの流れ 【1】スケッチの作成   ・Arduino言語で作成したスケッチ(プログラムソース)を    コンパイルして実行形式のスケッチ(プログラム)を生成する。   *スケッチ(プログラムソース)は、パソコンに保存できるので    必要な時に読み込んで作業する。 【2】スケッチの書き込み   ・実行形式スケッチをESPマイコン ( ESP-WROOM-02 ) に書き込む。 【3】スケッチの実行   ・ESPマイコンに格納した実行形式スケッチを実行する。    (電源を切らない限り動き続けます。)
●スケッチの内容です。
void setup()
{
  pinMode (16, OUTPUT);
}

void loop()
{
  digitalWrite (16, HIGH);
  delay(500);
  digitalWrite (16, LOW);
  delay(500);
}

●起動後の初期画面です。

●選択するボードですが ……… これで、良いのかしら (^^?
ツール > ボード > ESP8266 Boards(2.7.4) > Generic ESP8266 Module
・ ・ ・ 【1】スケッチの作成 ・ ・
@ 動作確認用のスケッチを画面入力しました。
・【 検証 】ボタンを押下する。
A 検証中の状態です。……… コンパイルしています。

B 検証の完了です。……… コンパイル(OK)です。

・ ・ ・ 【2】スケッチの書き込み ・ ・
C 開発ボードを … パソコンにUSB接続します。

D 2種類の スイッチ ボタン操作で … 書き込み可能状態にする。


E 書き込む
【 マイコンボードに書き込む 】ボタンを押下する。
F 書き込みが完了しました。

●実行ログです。……… クリックすれば、拡大します。  → 実行ログは長いので、最後の部分を表示しました。
(参考)ATコマンドが使えなくなりますが ……… ESP-WROOM-02は、1回でも、スケッチが書き込まれた状態になると ATコマンドが使えなくなりますが、再度、ファームウェアを書き直すことで 再び、ATコマンドが使える状態に戻るそうです。
・ ・ ・ 【3】スケッチの実行 ・ ・
G 書き込みが完了後 … 自動的にスケッチが実行される ?   ・自動実行されない場合は ………     【 RST 】 ボタンを押下して実行させます。 ・消灯している状態です。
↓ ・点灯している状態です。
 → LED点滅 ( ●点灯 ⇔ ○消灯 )していますので … OKです。
・ ・ ・ ・ ・
●本体の電源投入時に、格納スケッチが実行されますが ……… スケッチ(プログラム)開発作業途中では 何かと不安定な環境の状態を作りますので リセットして、格納スケッチを実行させて方が良い感じです。 (リセット方法) ・【 RST 】スイッチ ボタンを押下します。

・ ・ ・ ・ ・
●感想 ・WiFi( 2.4GHz )内蔵のESPマイコン( ESP-WROOM-02 )は ………  「 Arduino 言語 」で、プログラミングもできますので  活用の幅も広くなり、とても優れている市販品と思われます。 ・PICとの連動による、新たな処理形式の可能性も考えられます。  また、これを機会に、IoT(モノのインターネット)系分野などに  触れるかもしれませんが、あくまでも、ホビー用途で使ってみます。
●スイッチボタン操作で 「 書き込み 」 可能状態にすると ……… LEDが点灯しているピンがあります。 ( IO0 IO12 IO15 IO16 ) *GPIOピン ( 9本 ) に、LED接続した状態で確認です。
 →  「 書き込み 」 が完了すれば、該当のLEDが消灯します。
・ ・ ・ ・ ・
●スイッチボタン ( ON ) が、不安定になりました。 【 書き込みモード 】 にする時に、スイッチボタンを押下しますが 極太い指の指圧パワーで、基板ごと、押し潰しての操作になります。
ピン留め部分が、接触不良を起こしているようですので 基板外に、スイッチボタンを付け加えることにしました。
●接続確認 ……… 動作OKです。 【 青 】PGM ボタン ……… Boot ( 起動 ) 【 赤 】RST ボタン ……… EN ( リセット )
 → 接触不良もなくなり、安定していますが …… こんな方法でも、いいのかしら ?
■スケッチを【書き込み】可能な状態にする … ボタン操作です。


・ ・ ・ ・ ・
●プログラムから ……… アナログ出力してみました。 analogWrite ( Pin , Val )
・PWM値 ( 255 ) → 出力電圧 ( 0.4V ) ・PWM値 ( 511 ) → 出力電圧 ( 1.0V ) ・PWM値 ( 800 ) → 出力電圧 ( 1.6V ) ・PWM値 ( 900 ) → 出力電圧 ( 1.9V ) ・PWM値 ( 1000 ) → 出力電圧 ( 2.1V ) ・PWM値 ( 1023 ) → 出力電圧 ( 2.1V ) ・PWM値 ( 2047 ) → 出力電圧 ( 2.1V )
・ ・ ・ ・ ・