소개
SSD1306 칩셋을 사용한 0.96인치 단색 OLED 디스플레이 입니다. I2C 또는 SPI 인터페이스를 사용합니다.
호환모듈
- 128×32 OLED
- 128×64 OLED
- 96×16 OLED
사양
- 0.91-inch OLED with White Display color.
- 128×32 or 128×64 or 96×16 resolution.
- OLED display without backlight needs.
- Low power dissipation.
- Wide viewing angle at least 160 degrees.
- Voltage: 3.0V-5.0V.
명령
INIT
모듈을 초기화합니다.
항목 | 타입 | 설명 |
---|---|---|
타입 | WRITE | OLED의 크기를 선택합니다. (128×32,128×64,96×16) |
RESET핀 | WRITE | 하드웨어 Reset 기능을 사용할 경우 연결할 GPIO 핀 번호입니다. 해당기능을 사용하지 않을 경우 입력하지 않고 RESET핀은 3.3V에 연결합니다. |
D/C핀 | WRITE | D/C (Data/Command)핀에 연결할 GPIO 핀 번호를 입력합니다. SPI 인터페이스를 사용할때만 표시됩니다. |
SET_ROTATION
디스플레이의 표시방향을 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
회전방향 | WRITE | 텍스트, 도형등이 표시되는 방향을 선택합니다. (0도,90도,180도,270도) |
DISPLAY
설정된 내용을 디스플레이에 표시합니다.
CLEAR
디스플레이에 설정된 내용을 모두 삭제합니다.
INVERT_DISPLAY
현재 디스플레이에 표시된 내용을 반전합니다.
항목 | 타입 | 설명 |
---|---|---|
반전 | WRITE | true이면 반전, false이면 원래대로 표시합니다. |
SET_CURSOR
디스플레이에 텍스트를 쓸 위치를 지정합니다.
항목 | 타입 | 설명 |
---|---|---|
위치(x) | WRITE | 텍스트의 시작위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
위치(y) | WRITE | 텍스트의 시작위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
PRINT_TEXT
디스플레이에 텍스트를 설정합니다. DISPLAY명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
텍스트 | WRITE | 표시할 텍스트를 입력합니다. |
크기 | WRITE | 텍스트의 크기를 입력합니다. (1~255) |
자동줄바꿈 | WRITE | 텍스트의 길이가 가로 표시범위를 초과했을때 자동으로 줄바꿈할지 여부를 설정합니다. |
글자색 | WRITE | 글자색을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
배경색 | WRITE | 배경색을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_PIXEL
디스플레이의 지정위치의 픽셀을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
위치(x) | WRITE | 픽셀의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
위치(y) | WRITE | 픽셀의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
색상 | WRITE | 픽셀의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_LINE
디스플레이에 직선을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 직선의 시작위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 직선의 시작위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
종료점(x) | WRITE | 직선의 종료위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
종료점(y) | WRITE | 직선의 종료위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
색상 | WRITE | 직선의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_TRIANGLE
디스플레이에 속이 빈 삼각형을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
점1(x) | WRITE | 삼각형의 점1의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
점1(y) | WRITE | 삼각형의 점1의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
점2(x) | WRITE | 삼각형의 점2의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
점2(y) | WRITE | 삼각형의 점2의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
점3(x) | WRITE | 삼각형의 점3의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
점3(y) | WRITE | 삼각형의 점3의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
색상 | WRITE | 삼각형의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
FILL_TRIANGLE
디스플레이에 속이 찬 삼각형을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
점1(x) | WRITE | 삼각형의 점1의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
점1(y) | WRITE | 삼각형의 점1의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
점2(x) | WRITE | 삼각형의 점2의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
점2(y) | WRITE | 삼각형의 점2의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
점3(x) | WRITE | 삼각형의 점3의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
점3(y) | WRITE | 삼각형의 점3의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
색상 | WRITE | 삼각형의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_RECT
디스플레이에 속이 빈 사각형을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점 (좌측상단) 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점 (좌측상단) 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
색상 | WRITE | 사각형의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
FILL_RECT
디스플레이에 속이 찬 사각형을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점 (좌측상단) 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점 (좌측상단) 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
색상 | WRITE | 사각형의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_ROUND_RECT
디스플레이에 속이 빈 모서리가 둥근 사각형을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점 (좌측상단) 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점 (좌측상단) 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
모서리반지름 | WRITE | 사각형 모서리의 반지름을 입력합니다. |
색상 | WRITE | 사각형의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
FILL_ROUND_RECT
디스플레이에 속이 찬 모서리가 둥근 사각형을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점 (좌측상단) 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점 (좌측상단) 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
모서리반지름 | WRITE | 사각형 모서리의 반지름을 입력합니다. |
색상 | WRITE | 사각형의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_CIRCLE
디스플레이에 속이 빈 원을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
중심(x) | WRITE | 원의 중심점 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
중심(y) | WRITE | 원의 중심점 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
반지름 | WRITE | 원의 반지름을 입력합니다. |
색상 | WRITE | 원의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
FILL_CIRCLE
디스플레이에 속이 찬 원을 설정합니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
중심(x) | WRITE | 원의 중심점 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
중심(y) | WRITE | 원의 중심점 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
반지름 | WRITE | 원의 반지름을 입력합니다. |
색상 | WRITE | 원의 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
FILL_SCREEN
디스플레이 전체를 채웁니다. DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
색상 | WRITE | 채울 색상을 선택합니다. BLACK은 픽셀 OFF시 색상, WHITE는 픽셀 ON시 색상을 의미합니다. (BLACK, WHITE) |
DRAW_BITMAP
디스플레이에 이미지파일을 설정합니다. (이미지파일은 pbm 형식이어야 합니다.) DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
파일경로 | WRITE | 이미지파일이 있는 라즈베리파이 로컬경로를 입력합니다. (예: /home/pi/test.pbm) |
시작점(x) | WRITE | 이미지의 좌측상단의 위치(x)를 입력합니다. 디스플레이의 가장 왼쪽 픽셀이 0이며 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 이미지의 좌측상단의 위치(y)를 입력합니다. 디스플레이의 가장 위의 픽셀이 0이며 아래로 갈수록 증가합니다. |
START_SCROLL
디스플레이에 표시된 내용을 스크롤합니다.
항목 | 타입 | 설명 |
---|---|---|
방향 | WRITE | 스크롤 방향을 선택합니다. (좌측,우측,대각선좌측, 대각선우측) |
시작행 | WRITE | 시작행을 입력합니다. 가장 위의 행이 0입니다. (0~7) |
종료행 | WRITE | 종료행을 입력합니다. 가장 위의 행이 0입니다. (0~7) |
STOP_SCROLL
스크롤을 중지합니다.
DIM
디스플레이의 밝기를 감소시킵니다.
항목 | 타입 | 설명 |
---|---|---|
밝기감소 | WRITE | true 이면 밝기를 감소시키고, false이면 원래 밝기로 복귀합니다. |
예제
부품
부품 | 갯수 |
---|---|
SSD1306 OLED | 1 |
연결 (I2C)
SSD1306 OLED | GPIO |
---|---|
VIN | 3.3V |
GND | GND |
SCL ¹ | 3 (I2C1 SCL) |
SDA ¹ | 2 (I2C1 SDA) |
RESET (RST) ² | 3.3V |
² 하드웨어 RESET 기능을 사용하지 않으므로 3.3V에 연결합니다. (모듈에 따라 RESET 핀이 존재하지 않을 수도 있습니다.)
연결 (SPI)
SSD1306 OLED | GPIO |
---|---|
VIN | 3.3V |
GND | GND |
CS ¹ | 8 (SPI0 CE0) |
DATA ¹ | 10 (SPI0 MOSI) |
CLK ¹ | 11 (SPI0 SCLK) |
RESET (RST) ² | 3.3V |
D/C ³ | 23 |
² 하드웨어 RESET 기능을 사용하지 않으므로 3.3V에 연결합니다. (모듈에 따라 RESET 핀이 존재하지 않을 수도 있습니다.)
³ 임의의 GPIO핀에 연결할 수 있습니다.
프로젝트