ST77xx TFT 컬러 LCD 모듈
일반
ST77xx TFT 컬러 LCD 모듈로 다양한 화면 크기와 해상도를 지원합니다. SPI 인터페이스를 사용합니다.

지원 모듈
- ST7735S/R (0.96″, 1.44″, 1.8″…)
- ST7789 (1.14″, 1.3″, 1.54″, 1.69″…)
- ST7796S (4″)
사용 가능한 GPIO
- 라즈베리파이 0~4
- 라즈베리파이 5
- 비글본 블랙/그린
- 젯슨 나노
- FT232H, FT2232H, FT4232H
명령
[INIT]
초기 설정을 입력합니다.
항목 | 타입 | 설명 |
---|---|---|
타입 * | WRITE | 모듈의 타입을 선택합니다. |
DC핀 | WRITE | D/C (Data/Command)핀의 GPIO 번호를 입력합니다. |
RESET핀 (옵션) ** | WRITE | RESET핀의 GPIO 번호를 입력합니다. RESET기능을 사용하지 않을 경우 -1을 입력하고 핀을 3.3V에 연결합니다. |
SPI모드 *** | WRITE | 대부분의 ST7789 모듈은 SPI 모드 0 을 사용하지만 CS핀이 없는 모듈은 SPI 모드 3을 사용해야 합니다. |
** ST7789 모듈은 시작시 하드웨어 RESET 을 하지 않으면 제대로 동작하지 않는 경우가 있습니다. 그러므로 가급적 RESET 핀을 사용하는 것을 추천합니다.
*** I/O장치가 ST7789일 경우에만 해당합니다. 일부 ST7789 모듈에는 CS 핀이 존재하지 않으며 이 경우 SPI 모드 3을 선택해야 제대로 작동합니다.
[SET_ROTATION]
디스플레이의 표시방향을 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
회전방향 | WRITE | 디스플레이에 문자, 그림등이 표시되는 방향을 선택합니다. (0도,90도,180도,270도) |
[CLEAR]
디스플레이에 표시된 내용을 모두 삭제합니다.
[SET_CURSOR]
디스플레이에 텍스트를 쓸 위치를 지정합니다.
항목 | 타입 | 설명 |
---|---|---|
위치(x) | WRITE | 텍스트의 시작위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
위치(y) | WRITE | 텍스트의 시작위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
[PRINT_TEXT]
디스플레이에 텍스트를 씁니다.
항목 | 타입 | 설명 |
---|---|---|
텍스트 | WRITE | 표시할 텍스트를 입력합니다. |
크기 | WRITE | 텍스트의 크기입니다. (1~255) |
자동줄바꿈 | WRITE | 텍스트가 가로 표시길이를 초과할 경우 자동줄바꿈을 할지 여부를 결정합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_PIXEL]
디스플레이에 픽셀을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
위치(x) | WRITE | 픽셀의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
위치(y) | WRITE | 픽셀의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_LINE]
디스플레이에 직선을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 직선의 시작점 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 직선의 시작점 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
종료점(x) | WRITE | 직선의 종료점 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
종료점(y) | WRITE | 직선의 종료점 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_TRIANGLE]
디스플레이에 속이 빈 삼각형을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
점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 | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[FILL_TRIANGLE]
디스플레이에 속이 찬 삼각형을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
점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 | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_RECT]
디스플레이에 속이 빈 사각형을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[FILL_RECT]
디스플레이에 속이 찬 사각형을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_ROUND_RECT]
디스플레이에 속이 빈 모서리가 둥근 사각형을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
모서리반지름 | WRITE | 사각형 모서리의 반지름을 입력합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[FILL_ROUND_RECT]
디스플레이에 속이 찬 모서리가 둥근 사각형을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
시작점(x) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 사각형의 시작점(왼쪽상단)의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
가로길이 | WRITE | 사각형의 가로길이를 입력합니다. |
세로길이 | WRITE | 사각형의 세로길이를 입력합니다. |
모서리반지름 | WRITE | 사각형 모서리의 반지름을 입력합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_CIRCLE]
디스플레이에 속이 빈 원을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
중심(x) | WRITE | 원의 중심의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
중심(y) | WRITE | 원의 중심의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
반지름 | WRITE | 원의 반지름을 입력합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[FILL_CIRCLE]
디스플레이에 속이 찬 원을 그립니다.
항목 | 타입 | 설명 |
---|---|---|
중심(x) | WRITE | 원의 중심의 위치(x)를 입력합니다. 가장 왼쪽 픽셀이 0 이며, 오른쪽으로 갈수록 증가합니다. |
중심(y) | WRITE | 원의 중심의 위치(y)를 입력합니다. 가장 위의 픽셀이 0이며, 아래로 갈수록 증가합니다. |
반지름 | WRITE | 원의 반지름을 입력합니다. |
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[FILL_SCREEN]
디스플레이 전체를 지정된 색상으로 채웁니다.
항목 | 타입 | 설명 |
---|---|---|
색상 타입 | WRITE | 설정할 색상의 타입을 선택합니다. |
색상 타입 : RGB
항목 | 타입 | 설명 |
---|---|---|
R | WRITE | 색상의 R성분을 입력합니다. (0~255) |
G | WRITE | 색상의 G성분을 입력합니다. (0~255) |
B | WRITE | 색상의 B성분을 입력합니다. (0~255) |
색상 타입 : HSV
항목 | 타입 | 설명 |
---|---|---|
H | WRITE | 색상의 H (Hue)성분을 입력합니다. (0~360) |
S | WRITE | 색상의 S (Saturation, 채도)성분을 입력합니다. (0~100) |
V | WRITE | 색상의 V (Value, 명도)성분을 입력합니다. (0~100) |
[DRAW_RGB_BITMAP]
디스플레이에 bmp 형식의 이미지파일을 표시합니다.
항목 | 타입 | 설명 |
---|---|---|
파일 경로 * | WRITE | 이미지 파일의 로컬 경로를 입력합니다. (예: /home/pi/test.bmp) |
시작점(x) | WRITE | 이미지의 좌측상단이 위치할 픽셀의 위치(x)를 입력합니다. 가장 왼쪽이 0 이며, 오른쪽으로 갈수록 증가합니다. |
시작점(y) | WRITE | 이미지의 좌측상단이 위치할 픽셀의 위치(y)를 입력합니다.아래로 갈수록 증가합니다. |
* 이미지 파일은 컨트롤러의 로컬 경로에 위치해야 합니다. (디스플레이 모듈에 탑재된 SD 슬롯은 사용안함)
[INVERT_DISPLAY]
디스플레이의 색상을 반전할지 여부를 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
색상 반전 | WRITE | 값이 true이면 반전된 색상을, false이면 원래 색상을 표시합니다. |
예제 (ST7735)
목표
2초 간격으로 임의의 직선, 원, 사각형, 텍스트, 이미지를 계속 반복하여 표시합니다.
부품
부품 | 갯수 |
---|---|
라즈베리파이 4 * | 1 |
ST7735S TFT LCD | 1 |
연결
ST7735S TFT LCD | GPIO |
---|---|
VCC | 3.3V |
GND | GND |
CS | 8 (SPI0 CE0) |
RST | 23 * |
D/C | 24 * |
SDI (MOSI) | 10 (SPI0 MOSI) |
SCK (SCLK) | 11 (SPI0 SCLK) |
LED (BL) | 3.3V |

프로젝트
준비중…