Wemos?のESP32 OLED Module+GROVEシールド

GROVEシールド付きのESP32ボードがあったので、購入してみました。このボードは日本だと取り扱いがないのかな?

そして本当にWemosの商品なのかが怪しいです。。。

テストコード実行中

ボードの特徴

ESP-WROOM-32を使っていますので、技適マークもしっかりついて、使いやすいボードです。I2C経由でのOLEDが実装してあるのでちょっとした表示に使えて便利です。

GROVEシールド

GROVEシールド側

裏側はGROVEシールドになっており、アナログが使えるESP32って他ではあまりなかった気がします。

GROVEシールドの横には3Vと5Vを切り替えるスイッチがありますので、通常は3Vに設定して使ったほうがよいと思います。

購入元

国内だと扱っている店がなかったのでBanggoodで1つ千円強で購入しました。2018-07-01注文で2018-07-21到着となりました。海外からだと3週間ぐらいはかかっちゃいますね。

あとはAliexpressでも何個か取扱がありましたが、ちょうどセールをしていたのでBanggoodの方が安かったです。

事前準備

このボードはピンヘッダーがはんだ付けされていませんので、自分でつける必要があります。

表面26ヶ所に、裏面が二列分で52ヶ所、全部で78ヶ所もあります。特に裏側の二列部分はかなり狭いので、細い小手先がないと苦戦します。

GROVEシールドの配線

配線図
IOPrintDefineADCGroveNote
00A11/T1ADC2_CH1D3ADC2
1TXTX D10/TX 
22A12/T2ADC2_CH2D4ADC2
3RXRX D9/RX 
44A10/T0ADC2_CH0D2/SCLADC2
55SS D1/SDA 
6CL   利用不可
7S0   利用不可
8S1   利用不可
11CM   利用不可
1212A15/T5ADC2_CH5D6ADC2
1313A14/T4ADC2_CH4D7ADC2
1414A16/T6ADC2_CH6D5ADC2
1515A13/T3ADC2_CH3D8ADC2
1616    
2525A18/DAC1ADC2_CH8 ADC2
2626A19/DAC2ADC2_CH9 ADC2
36SVPA0ADC1_CH0 入力専用
39SVNA3ADC1_CH3 入力専用

注意点としてはBluetoothとかを利用する場合ADC2が利用できなくなります。なのでアナログは入力だけで出力ができません。

開発方法

Arduinoで「WEMOS LoLin32」を選択することで開発可能です。Windows環境の場合転送速度を115200に下げるか、BOOTボタンを押さないと書き込みできませんでした。

サンプルプログラム

#include <ssd1306.h>
#include <oleddisplay.h>
#include <bluetoothserial.h>

SSD1306 display(0x3c, 5, 4);
BluetoothSerial SerialBT;
uint64_t chipid;
char chipname[256];

// 実行間隔(ms)
int intervalTime = 100;

void setup() {
  // チップID取得
  chipid = ESP.getEfuseMac();
  sprintf( chipname, "ESP32_%04X", (uint16_t)(chipid >> 32));

  display.init();
  display.resetDisplay();
  display.displayOn();
  display.clear();
  display.setFont(ArialMT_Plain_16);

  SerialBT.begin(chipname);
}

void loop() {
  // データ取得と送信
  int val = analogRead(A0);
  char str[256];
  SerialBT.println(val);

  // 画面描画
  display.clear();
  display.drawString(0, 0, chipname);
  sprintf( str, "A0:%d", val );
  display.drawString(0, 24, str);
  display.drawString(0, 48, "Ver:2018/10/22");
  display.display();

  delay(intervalTime);
}

上記のプログラムで100ms間隔でA0から取得したデータをBluetoothで送信することができます。

chipidを取得して、Bluetooth待受名に追加していますので複数台動かしてもIDがかぶることはないはずです。

これはWemosの製品なのか?

ボードにはWemosと書いてありますが、WemosはOLED付きの製品はないと言っていますので、Wemosの製品ではない可能性が高いです。

総括

ちょっと出生が怪しいボードですが、GROVEのアナログセンサーなどを利用して、Bluetoothで送信したい場合にはかなり使いやすいボードではないでしょうか?

OLEDに出力値やプログラムのバージョンなどを表示することができるので、ちゃんと動いているかの確認もしやすいです。

ただしピンヘッダーのはんだ付けはかなり面倒ですし、国内で手に入りにくいって点はマイナスです。

コメント

  1. […] 「Wemos?のESP32 OLED Module+GROVEシールド」とかだと簡単にBluetoothでデータを送信できます。BluetoothSerialを使えばBluetooth接続したパソコンからはシリアルポートに見えますので便利です。 […]