본문 바로가기
아두이노 디스플레이

[디스플레이/OLED] 저전력의 최소 핀으로 구현가능한 고해상도 소형 OLED (128x64) 모듈

by 작동미학 2015. 1. 26.
반응형

OLED 모듈을 사용해 아두이노에서 간단히 스크린으로 출력하는 가이드

 

▶ 이 가이드를 따라하면

- 128x64 OLED (0.96") 모듈을 사용해 아두이노에서 디스플레이를 구현할 수 있다

- 공개된 U8glib라이브러리를 사용해봄으로써, 디스플레이 라이브러리 대표작을 사용해볼 수 있다.

 

▶ 먼저 읽으면 좋은 글

- 라이브러리 설치 방법 : http://bbangpan.tistory.com/1

 

▶ 부품 설명 및 회로 구성

중국산 OLED 모듈(128x64)은 매우 저가에 소비전력도 작아, 아두이노용 디스플레이를 구현하여 활용하기가 쉽다. 다른 LCD등도 있지만 고가이거나, 핀이 많이 필요해서, I2C(Inter Integrated Circuit, 나중에 알아보자) 통신을 지원하는 이 OLED모듈의 효용성은 매우 크다. 아두이노 보드의 5V, GND, SDA, SCL에 각각 해당 핀을 연결하면 배선은 끝난다. 참고로 OLED모듈은 노란색, 파란색, 흰색 혹은 일부 영역만 노란색인 버전 등 다양하게 존재한다(사진 참조)

<Arduino UNO + OLED 모듈 / 상단만 노란색인 OLED모듈도 존재한다>

<Arduino UNO + OLED 모듈 / 파란색 OLED 버전 연결>


▶ 라이브러리 설치

https://code.google.com/p/u8glib/ 에서 Arduino용 U8glib을 다운로드 받는다.

<U8glib 사이트, 가운데 U8glib for Arduino를 선택해 u8glib_arduino_v1.17.zip을 다운받는다>

역시 Arduino 설치 폴더의 libraries폴더 하단에 해당 압축을 푼 후 Arduino를 재시작하여 라이브러리 사용 준비를 마친다.

 

▶ 소스 코드 입력 및 구동

Arduino IDE를 실행하여 새로운 소스를 연 후, 아래 소스 코드를 입력하여 저장한다. 참고로 소스를 저장하면 윈도우 사용자 문서폴더 하단의 Arduino폴더에 저장된다. U8glib은 다양한 활용이 가능한데, 아래는 특정 위치에 텍스트 출력과 테두리 박스를 그리는 예제이다.

GitHub 원본 소스 링크 : https://github.com/bbangpan/bbangpan.com/blob/master/neibc_oled/neibc_oled.ino

-----------------------------------------------------------

/* Originally posted on www.bbangpan.com

 

Program Description: OLED 128x64 0.96" test code

Needed library : U8glib

Tested on : Arduino 1.0.6, Arduino UNO R3/NANO, OLED 128x64

 

Copyright (c) 2015 www.bbangpan.com. All right reserved.

This program can be used for any non-commercial purpose freely. */

 

#include "U8glib.h"

 

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

 

void printText() {

u8g.setFont(u8g_font_unifont);

 

u8g.setPrintPos(6,15);

u8g.print("Hello, world!");

u8g.drawFrame(2,2,126,62);

}

 

void setup(void) {

}

 

void loop(void) {

delay(1000); // dummy code

u8g.firstPage();

do {

printText();

} while( u8g.nextPage() );

}

---------------------------------------------------

소스를 upload(à) 버튼을 눌러 실행한다. U8glib 라이브러리는 크기가 다소 커서 컴파일 시간 등은 10초 이상 소요될 수 있다.

 

▶ 구매 가이드

OLED는 아래 링크를 참조한다. aliexpress같은 해외사이트에서는 배송기간은 다소 길지만, 저렴하게 부품구매가 가능하다.

OLED : http://www.aliexpress.com/wholesale?SearchText=arduino+oled+128+64 I2C가 아닌 OLED 모듈이 존재할 수 있으니 주의를 하자.

(핀이 SDA, SCL이 존재하지 않는 즉 I2C통신 방식을 제공하지 않은 경우는 핀이 부족할 수 있으므로 가급적 피하자)

 

강의 키워드

OLED 128x96, OLED 디스플레이, Arduino UNO, 아두이노 우노

반응형