Oled i2c sh1106

26 May 2020 - Tien Cao-hoang

Giao tiếp màn hình 1.3” OLED SH1106 với Arduino Zero

Kết nối Arduino Zero và màn hình OLED

Màn hình OLED giao tiếp với Arduino qua chuẩn I2C. Sơ đồ kết nối:

Arduino Zero OLED
GND GND
3.3V VCC
SDA SDA
SCL SCL

Nạp phần mềm

Sử dụng thư viện U8g2, thư viện này hỗ trợ rất nhiều loại màn hình như: SSD1305, SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1108, SH1122, T6963, RA8835, LC7981, PCD8544,…

#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_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);


void setup(void) {
  u8g2.begin();
  u8g2.enableUTF8Print();   // enable UTF8 support for the Arduino print() function
}

void loop(void) {
  //u8g2.setFont(u8g2_font_unifont_t_chinese2);  // use chinese2 for all the glyphs of "你好世界"
  u8g2.setFont(u8g2_font_b10_t_japanese1);  // all the glyphs of "こんにちは世界" are already included in japanese1: Lerning Level 1-6
  u8g2.setFontDirection(0);
  u8g2.firstPage();
  do {
    u8g2.setCursor(0, 15);
    u8g2.print("Hello World!");
    u8g2.setCursor(0, 40);
    u8g2.print("こんにちは世界");    // Japanese "Hello World" 
  } while ( u8g2.nextPage() );
  delay(1000);
}

Kết quả