아두이노 2.4인치 TFT LCD 실드 터치스크린 문제 해결
부품 및 소모품
프로젝트 소개
TFT LCD 실드의 다양한 기능을 테스트하려 했으나 터치스크린 문제를 겪어 해결 방법을 공유합니다. 이 실드는 아두이노 우노, 레오나르도, 두에밀라노베, 메가 등과 호환되며 SD 카드 슬롯이 있어 BMP 이미지 표시도 가능합니다.
배선
실드를 보드 위에 꽂기만 하면 됩니다. (USB 포트 절연 테이프로 감아 쇼트 방지)
라이브러리 및 코드
라이브러리 호환성이 핵심입니다. 'graphictest' 예제를 실행해 색상과 도형이 정상 표시되는지 확인하세요. 흰 화면만 나오면 라이브러리를 바꿔야 합니다.
저에게 작동한 라이브러리: SPFD5408
'tftpaint' 예제로 터치 기능을 테스트하세요. 제조사마다 핀 배치가 달라 터치가 안 될 수 있습니다. 'tftpaint' 예제의 핀 정의 부분을 수정해야 합니다.
기본 핀 설정 (문제 발생 시)
#define YP A1 // 아날로그 핀 필수
#define XM A2 // 아날로그 핀 필수
#define YM 7 // 디지털 핀 가능
#define XP 6 // 디지털 핀 가능
수정된 핀 설정 (작동 확인됨)
#define YP A3 // 아날로그 핀 필수
#define XM A2 // 아날로그 핀 필수
#define YM 9 // 디지털 핀 가능
#define XP 8 // 디지털 핀 가능
수정 후 재업로드하면 터치가 인식될 것입니다. 여전히 축이 반전된 경우 터치스크린 라이브러리 소스 코드를 수정해야 합니다.
159번째 줄의 주석을 해제하세요.
완전히 반전된 경우 아래와 같이 좌표 변환 로직을 조정하세요.
return TSPoint(1023-x, 1023-y, z);
터치한 위치에 점이 찍히도록 x 또는 1023-x 등을 조정하세요. 위 값은 제 환경에서 작동한 설정입니다.
코드
라이브러리: https://github.com/JoaoLopesF/SPFD5408
회로도
실드 형태라 별도 회로도 불필요