OLED(Organic Light Emitting Diode)

by Steve | 2017-04-05 18:43
oled 아두이노

[OLED 란] 무엇 일까요?

OLED(Organic Light Emitting Diode)

즉, 유기 발광 다이오드라고 합니다.

그래도 아직 생소한 용어죠??

음... 디스플레이의 한 종류인데요~

흔히 알고계시는 LCD(Liquid Crystal Display), 액정이라고 하죠?!

OLED는 이 LCD를 대체할 차세대 디스플레이라고 생각하시면 되겠죠???

참고로, 디스플레이는 데이터를 시각적으로 보여주는 장치라고 생각하시면 됩니다!!!



OLED에 관한 재밌는 이야기를 하나 하자면,

우리가 잘 알고 있는 사진기로 유명한 '코닥'이라는 회사 아시죠??

이 회사에서 1987년 Solar Cell을 연구개발하던 중 우연하게 세계 최초로 OLED라는 부품을 발명하게 되었다고 해요~


참... 이런거 보면 엄청난 발명은 정말 우연찮게 오나봐요 ㅋㅋㅋ


[OLED의 가장 큰 장점]

1.  LCD와 달리 꺼졌을 때 빛이 새어나가지 않아 완전한 블랙이 가능! (탁월한 명암 대비) 

2.  얇은 두께와 유연성 그리고 뛰어난 화질!

3.  낮은 소비전력!

즉, LCD가 흔한 울이라면~ OLED는 고급 원단의 캐시미어라고 할 수 있겠죠?!


반대로 단점이라면...

아무래도 비싼 가격이겠죠 ㅠ.ㅠ


[OLED 128X64 0.96" I2C]


제가 사용한 부품은 OLED 128X64 0.96" I2C 입니다.

AliExpress에서 주문했는데... 가격은 3천원 정도로 저렴하지만... 거의 한 달 만에 배송이 되었네요 ㅠ.ㅠ


[아두이노 UNO와 OLED 연결]


Arduino UNO OLED SSD 1306
+5VVDD
GNDGND
A4SDA
A5SCK

위의 표와 같이 연결하면,



[OLED 소스코드]

소스코드를 입력하기 전에,

먼저 라이브러리를 다운 후 > 메뉴> 스케치 > 라이브러리 포함하기 > ZIP 라이브러리 추가 순서로 해 주세요~~~

https://github.com/olikraus/u8glib/ (라이브러리 다운)

혹은

 메뉴> 스케치 > 라이브러리 포함하기 > 라이브러리 관리 > U8glib 검색 > 설치 순서로 해주시면

이제 코드를 입력할 준비가 끝났습니다!!!


#include "U8glib.h"                                                                               //  U8glib 라이브러리 헤더파일 포함


U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);       // OLED 해상도 128X64(Pixel)


void setup() {                                                                                            // 초기설정

}

void loop() {                                                                                             // 무한반복

  u8g.firstPage();                                                                                      // 시작

  do {

    u8g.setFont(u8g_font_unifont);                                                 // 어떤 폰트를 사용할지 정해준다.

    u8g.setPrintPos(0, 10);                                                                    //  u8g.setPrintPos(x,y); 좌표이동

    u8g.print("Hello, world");                                                              // 문자 출력

    u8g.drawStr(0, 30, "Hello, world!");                                          // 좌표와 문자를 동시에 사용할 수 있다.

  } 

  while (u8g.nextPage());                                                                     // 끝

}


[참고자료]


사용하는 OLED 모델과는 조금은 다르지만,

OLED를 이해하는데 좋을 것 같아 첨부합니다~~ (좌표 설명)


[OLED 동작] 


코드에서 (x, y)축을 기준으로

OLED의 (0, 20)에서 Hello, World

OLED의 (0, 30)에서 Hello, World!가 

출력 되는 것을 확인할 수 있죠?!


OLED가 무엇이고, 어떻게 동작하는지,

그리고

기본적인 예제를 통해 코드의 어떤 부분어떻게 출력 되는지 알아 보았는데 

어떠신가요?? 

이제 다양한 문자를 출력할 수 있지 않을까요??


이상 Steve였습니다~!!!


to be continue...

댓글 0

MADE BY

Steve

3d printing, design thinking, diy, 아두이노, 앱인벤터2
OLED(Organic Light Emitting Diode)현재글 RTC(Real Time Clock) 이전글