오늘은 OLED를 I2C 그리고 SPI 두 가지 방식으로 통신해보도록 하겠습니다.
테스트하는 OLED의 해상도는 128 x 64이며, 그 외의 제품은 라이브러리를 바꿔주셔야 합니다.
자세한 사항은 아래를 참고해주세요.
1
4-wire SPI
초기설정으로는 SPI에서 4선을 이용하는 통신방식으로 설정되어 있습니다.
별다른 납땜없이 바로 이용할 수 있습니다.
![](http://makeshare.org/data/editor/1704/thumb-efff2b17787f4751bde80c3c7d07fe7c_1492393384_2_700x657.jpg)
NC 부분에는 아무것도 연결 안 해도 되며,
아래 표를 참고해서 배선해주시면 됩니다.
신기한 사실은 5V핀을 제거해도 작동이 됩니다!
프로그램 코드는 ssd1306_128x64_spi 예제를 업로드해줍니다.
동작 영상입니다.
2
I2C
I2C를 이용하기 위해서는 뒷면에 중간부분에 있는 BS1과 BS0의 값을 바꿔주셔야 됩니다.
![](http://makeshare.org/data/editor/1704/thumb-efff2b17787f4751bde80c3c7d07fe7c_1492393384_89_700x667.png)
납땜을 통해서 윗 사진처럼 변경해주신 후 (BS1이 1로 가도록)
아래 표를 참고해서 배선해주시면 됩니다.
![](http://makeshare.org/data/editor/1704/thumb-efff2b17787f4751bde80c3c7d07fe7c_1492393385_92_700x68.png)
보통 OLED의 I2C 주소는 0x3D이지만, 0x3C 일 수도 있습니다.
D/C가 GND에 연결되면 I2C 주소는 0x3C이고
D/C가 5V에 연결되면 I2C 주소는 0x3D이지만
I2C Scanner를 통해서 직접 확인한 후,
ssd1306_128x64_i2c 예제의 해당 부분의 주소를 변경해주시면 됩니다.
![](http://makeshare.org/data/editor/1704/efff2b17787f4751bde80c3c7d07fe7c_1492393386_05.PNG)
혹시 작동이 안 된다면, RES에 연결된 핀(VCC)을 뺏다 끼우거나
RES에 연결된 핀을 D4번핀에 끼워주시길 바랍니다.
동작 영상입니다.
영상을 확인해 보시면 SPI와 I2C의 디스플레이 속도가 차이가 있는 것을
느껴지시는 분들도 계실 것 같습니다.
그래서 비교 영상을 통해서 확인해보도록 하겠습니다.
4-wrie SPI I2C
왼쪽은 4선식 SPI 통신으로 오른쪽은 I2C 통신을 이용했습니다.
SPI가 I2C보다 상대적으로 빠르게 보입니다.
![sally_friends-1](http://makeshare.org/data/editor/1704/efff2b17787f4751bde80c3c7d07fe7c_1492393386_14.png)
다양한 통신방식을 지원하는 OLED를 작동해 보았는데요.
작동하는 OLED를 보면, 위쪽에 노란색 띠로 되어있는 부분이 보이는데,
액정이 깨지거나 불량이 아니며,
시계나 날짜를 나타내면 쉽게 알아볼 수 있도록 다른 색으로 디스플레이가 되어 있습니다.
다만, 디스플레이의 색상변경은 불가능합니다...
최신댓글