포스트

TFT 디스플레이 라이브러리 : ILI9163C, ST7735

개요

TFT 1.44, 1.77 디스플레이를 구매하면서, 화면 불량이 있나 테스트해보려 했는데

별도의 메뉴얼을 구하지 못해 엄청 고생했다.

이를 정리하기 위해 남겨둔 기록

테스팅용으로 아두이노 UNO를 사용했다

TFT 1.44

1. Arduino IDE에 TFT_ILI9163C 라이브러리 설치

  • 라이브러리 매니저에 검색이 되지 않으므로, 직접 설치해야함

TFT_ILI9163C 깃허브 링크

해당 깃허브 링크를 들어가서 zip 파일로 받아, 아두이노 IDE에서

Sketch > Include Library > Add.zip Library로 직접 추가한다

2. GFX 라이브러리 설치

  • 라이브러리 매니저에 GFX를 검색하여 adafruit GFX Library를 설치한다

image

종속 라이브러리도 모두 설치한다

3. 예제 불러오기

File > Example > TFT_ILI9163C 라이브러리에서 bigtest 불러오기

display를 선언하는 부분 TFT_ILI9163C display = TFT_ILI9163C(__CS, __DC);

TFT_ILI9163C display = TFT_ILI9163C(__CS, 8, __DC);로 수정해준다.

매개변수에 리셋 신호선을 추가해줌

이 외에 코드 수정할 부분은 없음

4. 하드웨어

image

다음과 같이 아두이노 UNO와 TFT 디스플레이를 선을 연결한다.

아두이노 UNO, NANO 등 칩에 따라 다를 수 있으므로, 예제 잘 확인해볼 것

image

5. 예제 파일 업로드

아두이노 IDE로 예제 파일 올리면 아마 다음처럼 화면 상단이 잘려서 나올수도 있다

image

꽤 유명한 버그라고함 링크

간단히 요약하자면 하드웨어 자체에 결함이 있어서, 개선한 버전이 나왔지만

기존 모델을 사용하는 사람들이 있어 소프트웨어적으로 버그를 수정할 수 있게 해뒀다고 함

수정 방법은

아두이노 IDE의 라이브러리들이 저장되어있는 경로

내문서 \ 문서 \Arduino\libraries\TFT_ILI9163C 폴더 내의

TFT_ILI9163C.h 헤더 파일에

1
2
3
4
5
#define __OFFSET 0 // 이 내용을 추가

//--------- Keep out hands from here!-------------

건들지 말라는 문구 위에 추가해서

상단 글리칭 문제를 해결할 수 있다

그러나 전체적으로 화면이 왼쪽으로 3픽셀정도 옮겨지는 문제가 발생하는데 얘는 아직 해결 못했음

Honeycam 2024-06-04 16-13-45

잘된다

화면 회전하고 싶으면 display.rotate(2)로 180도 회전 가능

TFT 1.77

1.8

1. Arduino에 ST7735 라이브러리 설치

image

라이브러리 매니저에 ST7735 검색해서 해당 라이브러리 및 종속 라이브러리 설치

2. 예제 불러오기

File > Example > Adafruit ST7735 and ST7789 Library 라이브러리에서 graphictest 불러오기

코드 수정할 부분은 없음

3. 하드웨어

image

만약 위에서 1.44 테스팅했다면 그대로 칩만 바꿔 끼우면 됨

4. 예제 파일 업로드

파일 적재하면 바로 실행된다

Honeycam 2024-06-04 16-22-40

화면 이상없음!

배선이 잘못된건지, 소프트웨어적으로 문제가 있는건지, 하드웨어 문제인지 모르겠어서 꽤 해멨다

참조


Arduino Tutorial: Using the 1.44” Color TFT display (ILI9163C) with Arduino

Arduino Tutorial: Using the ST7735 1.8” Color TFT Display with Arduino.

Arduino Tutorial: 1.8” TFT Color Display ST7735 128x160

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.