ESP-WROOM-32 ( ESP32 ) で Wi-Fi スマホ LED スイッチ作り

記事公開日:2017年2月14日
最終修正日:2017年11月25日

この記事以降、ESP32 ( ESP-WROOM-32 )の突入電流や、3.3Vラインの瞬時電圧降下による悪影響が分かって来ました。
電源レギュレーターは高速応答のものを使用しなければいけません。
以下の記事も合わせてご覧ください。
ESP-WROOM-32 ( ESP32 )の消費電流を電流プローブ無しで測定してみました
●ESP-WROOM-32 (ESP32) の 電流 測定 その2
●ESP-WROOM-32 ( ESP32 ) のUSB電源突入電流(インラッシュカレント)を考える
●ESP-WROOM-32 ( ESP32 ) の保護機能付き電源強化対策の実験

こんばんは。

私も技適取得済み、2.4GHz Wi-Fi & Bluetooth マイコンモジュール、ESP-WROOM-32 ( ESP32 )を検証してみました。

最新記事では、ESP32-DevKitC ( ESP-WROOM-32 開発ボード )とスマホで Wi-Fi リアルタイム双方向通信をやったりしています。
LEDを調光コントロールして、CdS光センサー値をスマホにリアルタイム表示させています。
以下の記事も合わせてご覧ください。
ESP32_EWS_CdS_00
ESP32 -DevKitC ( ESP-WROOM-32 )でスマホとWi-Fi リアルタイム双方向同時通信

なんと、これは秋月電子通商さんから税込 700 円で発売されています。
ESP-WROOM-02 が初めて発売されたときの値段とあまり変わらないじゃぁないですか!
しかし、日本製でこういう物が何で出てこないんでしょうかね・・・?。
この分野ではもう他社が入る余地が無くなってきているのでしょうか・・・。

さて。ESPRESSIF社のデータシートを見てみると、電子工作用途としてはスペックがバケモノですね。

いずれ開発ボードが発売されて、安定して電子工作ができるようになってくれることと思いますが、ESP-WROOM-02 でもそうだったように、まずは自分自身で電源周りとUSBシリアルモジュール接続を行ってみないと、トラブルが起こった時の対処方法が分からなくなってきます。

Wi-Fiモジュールは多量の電力を食うことが前提なので、そのせいでマイコンの動作が不安定になってしまうことがよくあります。
そこは自分自身で押さえておきたいですね。

ところで、私がIoT実現用マイコンで重要視しているのは、CPUクロック速度と、SRAMサイズです。

 ESP-WROOM-02
( ESP8266 )
ESP-WROOM-32
( ESP32 )
CPU Clock
最大 160MHzデュアルコア 最大 240 MHz
SRAM
(ユーザーメモリ)
(Arduino IDE 使用時)
約 50 KB約 273 KB

どうですか? ESP-WROOM-02 よりも形が少し大きいだけなのにバケモンですね。

Arduino IDE を使った時に、ESP32 のCPUクロックを240MHzにする方法は今のところ分かりませんでした。
今後恐らく変えられるようになると思います。

SRAMサイズは、Arduino IDE で空のスケッチをコンパイルしたときに、IDE 上で表示されているユーザーSRAMメモリサイズを調べたものです。
データシートによると、On-Chip (チップ内蔵)SRAMサイズは520KB とありますが、実際は273KBしか使えません。
恐らく、Wi-FiやBluetooth 動作等、その他インターフェースの動作でメモリが取られてしまっているのでしょう。
それでも、ESP-WROOM-02 の5倍以上あります。
最近、私の場合は、ESP-WROOM-02 のSRAMサイズが足りなくて悩んでいたので、これはとても有難いです。
しかも、データシートによれば、オンチップ以外に8MB (8000KB)の外部SRAM が付いているようです。
ただ、これはまだ使ったことないので、ホントかどうか定かではありませんが、そうだとしたら、これ、スゴイですねぇ~!!!
これだけあれば、WEBからの多量の文字列を処理しても、問題なく動きそうです。

では、このバケモノのESP-WROOM-32 ( ESP32 )を私なりの方法で動作させてみましたので、紹介してみます。

※ESP-WROOM-32 は1Aを超える電流が流れる場合があります。
その場合、デバイスやパソコンのUSBポートにダメージを与える可能性があることを十分に認識しておいてください。
以下で紹介する工作やプログラムは全て無保証です。
私は回路やプログラミングについては専門家ではありませんので、何か間違い等がありましたら、コメント等でご連絡いただけると助かります。

1.ESP-WROOM-32 の外観

これが今話題の技適取得済み 2.4GHz Wi-Fi Bluetooth マイコンモジュールです。
意外と小さいです。
技術適合認証マークが刻印されてますね。
これがあれば、日本で存分に使用できます。

WROOM-32_01_wroom1

裏面はこんな感じです。

WROOM-32_01_wroom2

ESP-WROOM-02 と比べても、ちょっと大きいだけです。

WROOM-32_01_wroom3

1.準備するもの

ESP-WROOM-32 ( ESPRESSIF )

技適取得済み 2.4GHz帯Wi-Fi & Bluetoothマイコンモジュール

ADP3338 AKCZ-3.3RL7 ( ANALOG DEVICES )

WROOM-32_02

LDO ( ロー・ドロップ・アウト)電圧レギュレーターです。
これを選んだ理由は ねむいさんのぶろぐ の以下の記事を参考にさせていただきました。

ESP-WROOM-32を使ってみる2 -そんな電源で本当に大丈夫か-

私はこれをRSコンポーネンツの RSオンライン で入手しました。
Amazonや秋月電子通商さんでは売ってなかったです。

入力電圧範囲 2.7~8V
出力電圧 3.3V
最大ピーク出力電流 1.6A

これの最大の特徴は1A出力で、0.19V しか電圧降下が起こらないことです。
それと、これには出力側に電解コンデンサではなく、セラミックコンデンサを使わねばなりません。
ただし!、B特性の 2uF 以上のセラミックコンデンサを推奨します
データシートには1uFのセラミックコンデンサで回路図が表記されていますが、これは、ねむいさんのぶろぐ記事でも紹介されているように、F特性のセラミックコンデンサの場合、温度によっては 1uF を下回ってしまう可能性があります。
データシートの最後の方に1uF以上と記述されていますので、実測値がそれ以下だと安定動作しない可能性があります。
ここはちょっと分かりにくいですね。
10uFのセラミックコンデンサを使うと安定すると思います。

FT231XS USB-シリアル変換ボード(スイッチサイエンス)

WROOM-32_01

Amazon.co.jp

いろいろあるUSB-シリアル変換ボードでこれを選んだ理由は、USB の5Vラインを5V端子に直接出力していることです。
つまり、USBポートの最大定格電流を取り出すことができるわけです。
USB2.0端子では、最大500mA までしか取り出せません。
USB3.0端子では、最大900mA まで取り出せます。
他のUSB-シリアル変換モジュールでは、小容量の電源レギュレーターで5V出力されている場合があり、それではこのESP-WROOM-32 の大電流は耐えられない場合があります。
ですから、このデバイスの出力最大電流はよく考慮して選ばなければなりませんね。
3.3V電圧出力端子がついていて、出力が1.6Aくらいあれば問題ないのですが、そういうものは見当たりませんでした。

表面実装 チップ積層セラミックコンデンサ 2uF以上 2個

WROOM-32_03_1uF

LDO 電圧レギュレーターに使用します。
ADP3338のデータシートによると、セラミックコンデンサが良いそうです。
私は16Vのものを使いました。

※F特性の1uFコンデンサは発信する可能性があるらしいです。温度によって、1uFを下回ってしまう可能性があるからです。よって、B特性 2uF以上のコンデンサが良いと思われます。

表面実装 チップ積層セラミックコンデンサ 0.1uF 1個

WROOM-32_04_0.1uF

ESP-WROOM-32 ( ESP32 ) のパスコン用です。

チップインダクター BLM21P G331SN (村田製作所) 2個

WROOM-32_05_BLM21

フェライトビーズと同様の効果のあるチップタイプのインダクターです。
これは秋月電子通商さんで購入しました。
こんな小さいチップにコイル状に回路ができているようです。
ノイズ対策用で、LDO 電圧レギュレーターの入力側5Vラインに使います。
パソコン等のUSB からくるスパイクノイズを抑制する効果があります。
1500mA まで耐えられる優れものです。
これを選んだ理由は以下のページのADP3338 の参考回路図で使われていた為です。

アナログデバイセズ ADP3338 概要

0.1uF セラミックコンデンサ 2個

WROOM-32_14_0.1uFdip

GPIO #0, #2 に使うものです。
電源電圧以上の物であれば何でも良いと思います。

10uF 16V電解コンデンサ

WROOM-32_15_10uF

電圧レギュレーター LDO の後、ESP-WROOM-32 の前に入れるものです。

固定抵抗 10kΩ 3個

WROOM-32_16_10k

GPIO や ENピンのプルアップ用です。

砲弾型LED 5V用

WROOM-32_19_LED

5V用であれば何でもよいですが、高輝度のものは電流が多すぎるので避けた方が良いです。

定電流ダイオード E-103

WROOM-32_18_CRD

最大30Vまでで、10mA の定電流ダイオードです。
ESP-WROOM-32 のデータシートによると、GPIO 端子の最大電流は 12mA のようです(どこに明記してあるか微妙で分かりにくいです)。
LED を点灯させる時に使います。
古いLEDで型番が不明のものは、何A流れるか分からないものがありますので、これを入れていると安心ですね。
固定抵抗で電流制限しても良いです。

タクトスイッチ 2個

WROOM-32_17_tactsw

ごく普通の6mm角のもので良いです。
実はこれ、正確にはブレッドボードに合わないんですよね。
でも、手軽なので使っています。

2.54mm ユニバーサル基板

WROOM-32_12_2.54kiban

カッターでカットして、ほんの少ししか使いません。
電圧レギュレーターLDO部分に使うだけです。

1.27mm ピッチ ピンソケット 3本

WROOM-32_06_1.27socket

このピン数の場合、とりあえず3本あれば良いのですが、失敗したときを考えてもっとあった方が良いです。

1.27mm ピッチ ピンヘッダ 少々

WROOM-32_07_1.27head
この写真では3本ありますが、1本あれば十分です。

2.54mm L型 ピンヘッダ 1本

WROOM-32_08_2.54L

2.54mmピッチであれば別にL型でなくても良いです。
電圧レギュレーター LDO の自作モジュールを作るために使います。

ブレッドボード SAD-101 (サンハヤト)

WROOM-32_20_bred

サンハヤトさんのこのブレッドボードは電源を5V と3.3V 部分に分けられるので便利です。

ヒートクリップ(goot)

WROOM-32_13_clip

電圧レギュレーターLDO モジュールを自作するときに、すずメッキ線のハンダ付けで熱を逃すために重宝します。

0.65mm 単線 電線

ブレッドボードに直接挿せる、軟銅線です。
撚り線よりは取り回しにくいのですが、今回はこれを使います。

熱収縮チューブ

外径が2.5mm程度のものがあれば良いと思います。

先の細いハンダこて、細目の糸ハンダ等

1.27mm ピッチのピンソケットやピンヘッダをハンダ付けしますので、先が細く、温度調節が出来るハンダコテや、細い糸ハンダが良いと思います。

USB3.0以上のポートのあるパソコン

USB2.0ポートの規格では、電源の最大供給電流が500mA です。
USB3.0ポートは900mAまで供給できますので、できるだけ大きな電流対応のポートを使わないと正常に動作しない場合があります。

その他、精密ピンセット、拡大鏡など

スポンサーリンク


mgo-tec電子工作 関連コンテンツ ( 広告含む )

投稿者:

mgo-tec

Arduino , ESP32 ( ESP-WROOM-32 ) , ESP8266 ( ESP-WROOM-02 )等を使って、主にスマホと連携した電子工作やプログラミング記事を書いてます。ライブラリも作ったりしてます。趣味、独学でやってますので、動作保証はしません。
電子回路やプログラミングの専門家ではありません。
畑違いの仕事をしてます。
でも、少しだけ電気の知識が必要な仕事なので、電気工事士や工事担任者等の資格は持ってます。

「ESP-WROOM-32 ( ESP32 ) で Wi-Fi スマホ LED スイッチ作り」への4件のフィードバック

        1. スバラシイ!!
          これはUDP通信ですか?
          スライダーの縦表示もできるんですね。

          client.write でjavascript を吐き出していると辛いと思いますので、私の場合はSDカードから吐き出したりしています。
          いずれ、SPIFFSもArduino IDE で出来るようになると思うので、そうするとSDカード要らずになるかも知れません。

コメントを残す

メールアドレスが公開されることはありません。

*画像の文字を入力してください。(スパム防止の為)