본문 바로가기

센서 강좌/LED Display

OLED 128X32 I2C SSD1306 Library

0.91 Inch IIC I2C OLED LCD 12832 Display DIY Module


0.91 Inch 소형의 OLED.

OLED는 자체적으로 발광하기 때문에 백라이트가 필요하지 않아 전력소모가 작다.

드라이버 칩은 SSD1306이며, OLED는 3.3V의 전원으로 작동하지만, 모듈에 레벨쉬프터가 장착되어 있어 5V까지 사용이 가능하다.


Driver IC : SSD1306

Size : 0.91 inch OLED

Resolution : 128 x 32

Operating temperature : -40℃- 85℃
IIC interface


Size



Pin Description

Pin

 

 Arduino Pin

Nodemcu Pin 

Raspberry Pi

GND

Power Ground 

GND

GND 

 1 *

VCC 

Power + (DC 3.3~5V)

3.3V 

3.3V 

 14 **

SCL

Clock Lin 

Uno A5 or SCL

 D1

 5

SDA

Data Line

 Uno A4 or SDA

 D2

 3


Connect I2C OLED to NodeMCU

Connect I2C OLED to Raspberry Pi



Arduino or Nodemcu Library Add


1. Arduino IED 에서 '스케치 -> 라이브러리 포함하기 -> 라이브러리 관리' 를 선택한다.


2. 라이브러리 매니저에서 'ssd1306' 검색 후 'Adafruit SSD1306 by Adafruit'를 설치한다.

3. 그래픽 모드를 사용하기 위해 라이브러리에서 'Adafruit GFX Library'를 추가하여 준다.(필요하지 않은 경우 설치하지 않아도 됨, 예제 테스트시에는 설치되어야 한다.)


Raspberry PI Setup


1. Enable I2C Interface

2. Findingg the OLED Display Module's Address

(참고 : https://www.raspberrypi-spy.co.uk/2018/04/i2c-oled-display-module-with-raspberry-pi/ )

3. Install OLED Python Library

install the Library run

 #git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git 

디렉토리로 이동

 #cd Adafruit_Python_SSD1306 

Python 3에서 인스톨

 #sudo python3 setup.py install 



예제 테스트하기(Arduino and Nodemcu)


1. 테스트할 예제 오픈하기

  (파일 -> 예제 -> Adafruit SSD1306 -> ssd1306_128x32_i2c)


2. Arduino에서는 바로 실행하여 테스트가 가능하지만, NodeMcu에서는 수정을 해야 실해이 가능하다.


 OLED_RESET 번호가 4로 설정되어 있는데(화살표위치) NodeMcu에서는 4를 LED_BUILTIN으로 변경하여야 한다.

 NodeMcu에서 GPIO 4 번이 D2 핀임으로 충돌하게 된다. 

 NodeMcu에서 LED_BUILTIN은 GPIO 2번이다.


 라이브러리 헤더에서 기본적으로 128_32로 설정되어있다.

 128_64를 사용하는 경우에는 라이브러리 헤더파일을 수정하야여 한다.


3. 컴파일 후 업로드를 마치면 실행 되는 화면을 확인할 수 있다.