経緯 ちょっと大き目のOLEDが欲しくて、1.3 InchのOLEDを注文した。 ただもの挿し替えて使えると思って、届いてわかったが、コントローラーは別物。SH1106というものを使われ、U8g2libライブラリをインストールして利用する。 Display OLED via I2C (SH1106) 実際参考サイトを見ながら、試してみる。 うまく表示できた。 しかしコントローラーが特殊のため、使用例がほとんど無いので、用途が限定。 Script – Walking bitmap #include <Arduino.h> #include <U8g2lib.h> #ifdef U8X8_HAVE_HW_SPI #include <SPI.h> #endif #ifdef U8X8_HAVE_HW_I2C #include <Wire.h> #endif U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI const uint8_t bm[] PROGMEM = { 0b00011000, 0b00111100, 0b01111110, 0b11111111, 0b11111111, 0b01111110, 0b00111100, 0b00011000 […]
ADS1115とは ADS1115 とは4チャンネル16bit A/D 。I2C接続なので、OLEDと共に、WeMos に接続して利用してみる。 結線 SCL, SDA自由に変更可能。U8g2初期化コマンドでSetupする。 code #include <Wire.h> #include <Adafruit_ADS1015.h> #include <U8g2lib.h> #include <math.h> #define WINDOW_SIZE 128 Adafruit_ADS1115 ads; /* Use this for the 16-bit version */ //Adafruit_ADS1015 ads; /* Use thi for the 12-bit version */ // Sets up the display to be the 128px x 32px display U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, […]
64×48 size display と小さなOLED Adafruit_SSD1306を利用するが、64×48 sizeの項目がないため、カスタマイズ版をダウンロードして、Adafruit_SSD1306に上書きする。 ただHello Worldを表示するスケッチ。 #include “SPI.h” #include “Wire.h” #include “Adafruit_GFX.h” #include “Adafruit_SSD1306.h” #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 display(OLED_RESET); void setup() { Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // init done display.display(); delay(2000); // Clear the buffer. display.clearDisplay(); // text display tests display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,10); display.println(“Hello”); display.println(“World”); display.display(); delay(10000); display.clearDisplay(); } void loop() { } […]