ESP系のマイコンボードはいろいろと持っています。
その中でESP8266ではWeMos D1 miniは使いやすいボードで個人的に非常にお気に入りのESP8266開発ボードとなります。
海外からバージョン違いのものも入手して普段よく使っています。
これまで製作したものでもいくつか使いましたが、D1 miniは日本での技適が取得されていないのが残念なところです。
WeMosというブランド(メーカー)はESP32で結構有名で知っている方も多いと思います。
WeMosはブランド名がLolinに変更されたようで、今ではLolin D1 miniと言った方がいいのかな?
Lolinブランドの開発ボードは個人的に大好きでよく使っています。
これまでブログでご紹介したESP32開発ボードでは、WeMos D1 R32というボードがあります。
ボード形状がArduino Uno互換で作られていますがMCUにESP-WROOM-32が使われたESP32開発ボードとなります。
こちらも搭載されている無線モジュールは技適が取得されておりArduino Unoのピンアウトに合わせて作られているので、普段Arduinoを扱う感覚でWi-Fi/Bluetoothが使えるといった面白いボードです。
Arduinoから電子工作を始めた私としては、扱いやすいESP32開発ボードの一つです。
ESP32開発ボードとしてはESP32-DevKitC-32Dなども使っていますが、こちらも技適が取得されているので国内でも合法的に無線機能が使えるESP32開発ボードの一つになります。
そして今回はLolinブランドのESP32開発ボードとしてLolin D32を見ていきたいと思います。
目次
Lolin D32の基本的な使い方!
ESP32開発ボードは様々なものが販売されています。
国内で入手しやすく技適が取得されたものではESP32-DevKitC-32Dがあります。
そして私が好きなLolin(WeMos)のボードではLolin D32というESP32開発ボードがあります。
こちらも技適が取得されているので国内でも無線機能を合法的に使うことが出来ます。
手頃な価格で入手する事ができESP-WROOM32の中では使用できるピンの数が多く使いやすい開発ボードだと思います。
このLolin D32の基本的な使い方について見ていきたいと思います。
Lolin D32 基本仕様
技適が取得されWi-Fi/Bluetoothが使えるESP32開発ボードとしてAmazonでも1,000円ほどと手頃な価格で入手することが出来るESP32開発ボードです。
まず基本的なスペックです。
機能 | 詳細 |
プロセッサー | ESP32-WROOM-32 Xtensa 32bit LX6 160または240MHzで動作 |
Wi-Fi/Bluetooth | 技適取得済み |
ロジックレベル | 3.3V |
USB端子 | microUSB |
Flash Memory | 4MB |
GPIO | 25本(うち3本は入力のみ) |
ADC | 15(12bit) |
DAC | 2(8bit) |
PWM | 22(8bit) |
UART | 2 |
I2C | 1 |
SPI | 2 |
バッテリー | リポバッテリー用PH2.0コネクタ付き |
外観
ESP32-DevKitC-32Dと比べLolin D32は横幅が少し狭く作られています。
通常よく使われる400穴や830穴といった片側5列タイプのブレッドボードに挿し込んでも両サイド1列分ジャンパーワイヤを差し込むスペースがあるので使いやすくなります。(DevKitC-32Dでは片側1列しか使えません!)
またLolin D32はリポバッテリーから駆動できるようにボード上にバッテリー接続用のPH2.0コネクタが付いています。
リポバッテリーやリチウムイオン電池からボードを直接駆動することが出来るので用途によっては便利に使えます。
あとこれはこのような形状のESP32ボードに共通して言えることですが、表面のI/Oラベルが少し見にくいのが残念なところです。(ボード面積的にしょうがないんですけどね!)
裏面はしっかりとラベルをプリントしてくれています!
ボードLED & バッテリー駆動について
Lolin D32のボードには2つのLEDが搭載されています。
1つは青色のオンボードLEDでGPIO5に接続されています。
もう1つ赤色LEDが付いていますが、これは充電回路に接続されたLEDとなります。
USB端子のみ接続した状態だとこの赤色LEDは薄っすら点灯するので電源インジケーターランプとしてボードが駆動していることの確認用として一応使えますが・・・
リポバッテリーのみ接続してボードを駆動している場合は点灯しないため、あれ?ボードが駆動していないのかな?なんて勘違いすることもあるかもしれません。(バッテリー駆動による省電力への配慮ですね)
Lolin D32は通常のUSB端子からの駆動に加えリポバッテリーを接続して直接駆動することも出来ます。(PH2.0コネクタ)
バッテリー駆動で注意したいのがリポバッテリー端子の正負が逆に配置されているので注意が必要です!
リポバッテリーのコネクタ部分の端子の配置を入れ替えるかこのようなケーブルを作って正負を反転させて使うのがいいと思います。
接続しているリポバッテリーはUSB端子を経由して充電することも出来ます。(最大充電電流500mA)
USB端子を接続した状態でリポバッテリーを接続すると赤色LEDの点灯輝度が上がり充電が開始されたことが確認できます。
リポバッテリーへの充電が完了したらこのLEDは消灯します。
ピン配列
Lolin D32の主なピンアウトをまとめてみました。
通常ESP32ではリセットをかける時には引き出されたI/O端子の中の[EN]端子を使いますが、Lolin D32では[EN]端子に加え[RST(リセット)]端子も別途付けられています。(これについては後述します)
電源部分の端子はバッテリー電圧を取り出せる[VBAT]端子、USB端子からの5Vが取り出せる[VUSB]といった構成です。
またオンボードLEDはGPIO5に接続されています。
GPIO5をLOWに落とすと点灯します。
Arduino IDEでの開発環境を作る
Arduino IDEでの開発環境です。
Lolin D32に限らずESP32開発ボードをArduino IDEで使う場合、対応したボードパッケージのインストールが必要となってきます。
簡単な動作確認としてLチカを行ってみます。
Arduino IDEのインストールがまだの方は、こちらの記事も参考にして下さい。
まずArduino IDEを起動して[環境設定]へと進み、[追加のボードマネージャのURL]の項目を開きます。(Mac版を使用していますがWindows版でも同様の作業となります)
以下のURLを追加します。
すでに他のボードパッケージのURLが記載されている場合は改行して新たな行に追加して下さい。
次に[ツール]→[ボード]→[ボードマネージャ]へと進みます。
検索ボックスに[ESP32]と入力すると「esp32 by Espressif Systems」という目的のボードパッケージが見つかります。
インストールボタンをクリックするとボードに必要なファイルが自動的にダウンロード&インストールされます。
これでボードパッケージのインストールは完了です。
スケッチの書き込み
ESP32に対応したボードパッケージのインストールが完了すると、[ツール]→[ボード]一覧に[ESP32]という項目が追加されています。
Lolin D32へのコンパイル&スケッチの書き込みには[LOLIN D32]を選択すれば可能となります。
テスト動作で以下Lチカスケッチを書き込み、GPIO5に接続されているオンボードLEDを点滅させます。
1 2 3 4 5 6 7 8 9 10 11 12 | void setup() { pinMode(5, OUTPUT); } void loop() { digitalWrite(5, HIGH); delay(1000); digitalWrite(5, LOW); delay(1000); } |
1秒間隔でオンボードLED(青色)が点滅すれば成功です。
Lolin D32の回路構成
公式サイトに公開されているLolin D32の回路構成はこのようになっています。
一般的なESP32開発ボードと回路構成はほぼ同じですが、このボード独自の構成になった部分を見ておきます。
GPIO35でバッテリー電圧をモニター出来る!
I/O端子にはバッテリーと直結した[VBAT]端子が用意されているので、この端子を使って接続しているバッテリー電圧を調べることが出来ます。
また上記回路図のリポバッテリー充電回路で使われているTP4054チップまわりの回路を見てみるとI/O端子としては外部に引き出されていませんがGPIO35が接続されているのが分かります。
100KΩの抵抗を2本使い分圧してESP32のGPIO35に接続しているので、GPIO35のADCをモニターするスケッチを作ればバッテリー電圧を直接計測できるようになっているようですね!
精度は?ですが簡単にスケッチを作ってみました!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #define AD_PIN 35 unsigned int BatteryVoltage; void setup() { Serial.begin(115200); pinMode(AD_PIN, ANALOG); } void loop() { BatteryVoltage = analogReadMilliVolts(AD_PIN)*2; Serial.print("Battery Voltage: "); Serial.print(BatteryVoltage); Serial.println("[mV]"); delay(500); } |
RST端子およびEN端子
ESP32を使った大抵のボードではI/O端子の中にEN端子がありこの端子をGNDに接続(LOWに落とす)する事によりESP32をリセットさせますが、Lolin D32の回路構成を見てみると少し異なるようです。
I/O端子にはEN端子とRST(RESET)端子の2つがあります。
EN端子は内部的にESP32のENピンには接続されておらずRST端子の方が接続されています。
またEN端子は3.3Vレギュレータチップ(ME6211)のCE端子に繋がれています。
ME6211のCE端子はデータシートを見るとLOWになるとレギュレータがオフとなるようです。
つまりRST端子をLOWにする事によりESP32で通常行われるリセットがかかるというものです。
そしてEN端子をLOWにするとどうなるか・・・レギュレータがオフとなり結果的に3.3Vラインに繋がったESP32の電源供給がストップするのでこれもリセットがかかります。
両者の違いはEN端子をLOWにすると電源ライン(3.3V)も0Vとなりますが、RST端子をLOWに落とした場合はESP32はリセットされますが電源ラインは生きているというものです。
この使い分けというか違いがあまり良く分からなかったので以前インスタで問いかけたところ、いくつかコメントやDMを頂きました。
この投稿をInstagramで見る
ボード単体で使う場合はどちらの方法でリセットをかけてもいいのですが、例えばLolin D32のEN端子を他のボードのENとして接続しリセットを制御するなどの用途ではボードの電源がオフになり不具合が発生することも想定できます。
内部的に実際にESP32のENピンに接続されているのはRESET端子だというところが他のESP32ボードと異なるところですね!
追記しました!
Lolin D32の特徴
- 手頃な価格のESP32開発ボードで技適が付いたEspressif ESP32-WROOM-32モジュールがボードに搭載されている
- リチウムイオンバッテリーを接続して駆動する事ができ、最大充電電流500mAの充電モジュールも搭載されている
- 内部の分圧器を介して接続したリポバッテリーの電圧を直接計測出来るようにGPIO35が内部接続されている
最後に!
幅狭なホードサイズで一般的によく使われる片側5列タイプのブレッドボードに挿し込んでも両サイド1列余るのでワイヤを挿すことができ、ESP-WROOM-32の中では使用できるピンの数も多く使いやすい開発ボードだと思います。
この投稿をInstagramで見る
Lolin(WeMos)のボードは結構有名で、ESP8266/ESP32開発ボードは共に個人的に大好きで結構持っています。
技適が取得されていないボードもいくつかありますが、Lolin D32は手頃な価格(1,000円ほどです)で技適付き無線モジュールを搭載したESP32開発ボードなのでおすすめです!
コメントを残す