Dev/IOT
[아두이노] 0.96인치 OLED 디스플레이 모듈 -I2C (0.96 inch 128X64 OLED Module -I2C) 연결하기
꿈을 위해 잠을 잊은 그대에게
2019. 3. 21. 00:34
크기는 수은건전지만 합니다. 비교할 동전을 가지고 있지 않아서 수은전지로 비교를 했는데요. 100원 동전하고 비슷하다고 보면 됩니다.
액정이 있는 정면입니다.
128x64 픽셀로 액정의 크기는 27mm x 15mm 정도 됩니다.
상단에 4개의 핀이 있고 GND, VDD, SCK, SDA 핀이 있습니다.
OLED | arduino |
GND | GND |
VDD | 3 ~ 5.5V |
SCK | SCL 또는 A5 |
SDA | SDA 또는 A4 |
라이브러리는 관련 정보는 https://code.google.com/archive/p/u8glib/에서 찾을 수 있는데요. 제가 사용한 시점의 최신 버전은 u8glib_arduino_v1.14.zip이 최신이었습니다. 최신 버전을 다운로드해서 사용하면 됩니다.
GM009605 칩을 사용하고 있고, SSD1306 모델입니다.
OLED 테스트
각각을 빵판을 사용해서 연결했습니다.
처음에는 SCL, SDA에 연결했습니다. A4, A5로 연결해도 문제없이 동작합니다.
u8glib 라이브러리 예제 중에서 GraphicsTest를 실행했습니다.
그냥 컴파일을 하면 에러가 발생합니다.
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI
위의 부분을 찾아서 주석을 제거해 줍니다.
아두이노에 연결하는 것이 그리 어렵지 않네요. ^^
Hello World 출력하기
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
void setup() {
}
void loop() {
u8g.firstPage();
do{
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(0,12);
u8g.print("Hello, world");
u8g.drawStr(0,32, "Hello, world!");
}while(u8g.nextPage());
}
예제에 있는 HelloWorld를 참조해서 Hello, World만 출력할 수 있도록 간단하게 해보았습니다.