OLEDを接続したときの備忘録(8266EX:NodeMCU,Wemos D1 mini)
Lolin NodeMCU V3 に OLEDを接続
サンプルプログラムを改造して動作確認。(ソース)
1)i2Cのアドレス。
NodeMCUのi2CピンはD1/D2
2)OLEDのi2Cアドレスは基板の裏を見て抵抗の位置が"0x78"
プログラムでは"0x3C"を指定する。
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
NodeMCUのPINアサインは以下のファイルに書いてある。C:\Users\xxxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\nodemcu\pins_arduino.h
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#define PIN_WIRE_SDA (4)
#define PIN_WIRE_SCL (5)
static const uint8_t SDA = PIN_WIRE_SDA;
static const uint8_t SCL = PIN_WIRE_SCL;
#ifndef LED_BUILTIN
#define LED_BUILTIN 2
#endif
#define LED_BUILTIN_AUX 16
static const uint8_t D0 = 16;
static const uint8_t D1 = 5;
static const uint8_t D2 = 4;
static const uint8_t D3 = 0;
static const uint8_t D4 = 2;
static const uint8_t D5 = 14;
static const uint8_t D6 = 12;
static const uint8_t D7 = 13;
static const uint8_t D8 = 15;
static const uint8_t D9 = 3;
static const uint8_t D10 = 1;
#include "../generic/common.h"
#endif /* Pins_Arduino_h */
Wemos D1 mini
#include <Wire.h> //i2c
#include <Adafruit_GFX.h> //https://github.com/adafruit/Adafruit-GFX-Library
#include <Adafruit_SSD1306.h> //https://github.com/adafruit/Adafruit_SSD1306
const int lebar=128;
const int tinggi=64;
const int reset=-1;
Adafruit_SSD1306 oled(lebar,tinggi,&Wire,reset);
void setup()
{
oled.begin(SSD1306_SWITCHCAPVCC, 0x3c);
oled.clearDisplay();
gpsSerial.begin(GPSBaud);
}
ライブラリー差し替えの他にコマンドが複数異なる。
コメント