아두이노 0.96인치 OLED 작동하는 방법 / SPI / I2C

오늘은 OLED를 I2C 그리고 SPI 두 가지 방식으로 통신해보도록 하겠습니다.



테스트하는 OLED의 해상도는 128 x 64이며, 그 외의 제품은 라이브러리를 바꿔주셔야 합니다.

​자세한 사항은 아래를 참고해주세요.

1

4-wire SPI 

 초기설정으로는 SPI에서 4선을 이용하는 통신방식으로 설정되어 있습니다.

별다른 납땜없이 바로 이용할 수 있습니다.


 


NC 부분에는 아무것도 연결 안 해도 되며,
아래 표를 참고해서 배선해주시면 됩니다.
 
 
신기한 사실은 5V핀을 제거해도 작동이 됩니다!
프로그램 코드는 ssd1306_128x64_spi 예제를 업로드해줍니다.

동작 영상입니다.




2

I2C

I2C를 이용하기 위해서는 뒷면에 중간부분에 있는 BS1과 BS0의 값을 바꿔주셔야 됩니다.



납땜을 통해서 윗 사진처럼 변경해주신 후 (BS1이 1로 가도록)

아래 표를 참고해서 배선해주시면 됩니다.


 

보통 OLED의 I2C 주소는 0x3D이지만, 0x3C 일 수도 있습니다.


D/CGND에 연결되면 I2C 주소는 0x3C이고

D/C5V에 연결되면 I2C 주소는 0x3D이지만

I2C Scanner를 통해서 직접 확인한 후,

ssd1306_128x64_i2c 예제의 해당 부분의 주소를 변경해주시면 됩니다.



혹시 작동이 안 된다면, RES에 연결된 핀(VCC)을 뺏다 끼우거나
RES에 연결된 핀을 D4번핀에 끼워주시길 바랍니다.


동작 영상입니다.

 


영상을 확인해 보시면 SPI와 I2C의 디스플레이 속도가 차이가 있는 것을
느껴지시는 분들도 계실 것 같습니다.


그래서 비교 영상을 통해서 확인해보도록 하겠습니다.


4-wrie SPI                                I2C  


왼쪽은 4선식 SPI 통신으로 오른쪽은 I2C 통신을 이용했습니다.

SPI가 I2C보다 상대적으로 빠르게 보입니다.


sally_friends-1


다양한 통신방식을 지원하는 OLED를 작동해 보았는데요.

작동하는 OLED를 보면, 위쪽에 노란색 띠로 되어있는 부분이 보이는데,


액정이 깨지거나 불량이 아니며,

 시계나 날짜를 나타내면 쉽게 알아볼 수 있도록 다른 색으로 디스플레이가 되어 있습니다.

다만, 디스플레이의 색상변경은 불가능합니다...

메카리워즈 Image Map


모바일 버전으로 보기