이제 TFT LCD를 ESP32에 연결해 보자. 본 tutorial에서는 ILI9341 TFT LCD를 사용했으며 이 TFT LCD 하나를 ESP32에 연결해서 얻는 이점은 다음과 같다.

● 데이터 출력

● Touch interface

● SD card interface

TFT LCD 하나면 이런저런 부차적인 인터페이스를 추가로 연결할 필요가 없으니 프로젝트 진행에 있어서 정말 유용한 부분이라고 생각된다.

 

https://www.pangodream.es/ili9341-esp32-parallel

 

ILI9341 + ESP32 (Parallel)

Today I've received two ILI9341 TFT screens that I ordered some weeks ago. These screens are in fact a shield designed for Arduino Uno but they work nicely when connected to other developer boards and the price is amazingly cheap: just US$4. [caption id=at

www.pangodream.es

연결 및 초기 설정은 위 사이트를 참고했으며 GPS 모듈 연결, SD 카드 동시 사용을 위해 일부 핀맵을 변경했다. ILI9341 TFT LCD 화면과 Arduino를 연결하는 방식은 SPI 방식과 parallel 방식이 있는데 여기서는 위 사이트를 참고하여 parallel 방식을 사용했다.

 

 

1. 핀맵

ILI9341 TFT LCD

TFT _eSPI Library

Ref. Parallel

GPS 프로젝트 적용

LCD_CS

TFT_CS

27

33

LCD_RS

TFT_DC(RS)

14

15

LCD_RST

TFT_RST

26

32

LCD_WR

TFT_WR

12

4

LCD_RD

TFT_RD

13

2

LCD_D0

TFT_D0

16(RX2)

12

LCD_D1

TFT_D1

4

13

LCD_D2

TFT_D2

23

26

LCD_D3

TFT_D3

22

25

LCD_D4

TFT_D4

21

21

LCD_D5

TFT_D5

19

22

LCD_D6

TFT_D6

18

27

LCD_D7

TFT_D7

17(TX2)

14

 

 

 

 

SD_SS

CS

 

5

SD_DI

DI(MOSI)

 

23

SD_SCK

SCLK

 

18

SD_DO

DO(MISO)

 

19

 

 

 

 

3V3

 

 

3V3

GND

 

 

GND

 

위에서 참고한 사이트와 동일하게 연결해도 무방하다. 하지만 GPS를 연결하려면 시리얼 포트가 필요하고 GPS를 사용하면서 동시에 LCD를 Parallel mode로 사용하려면 남겨두는 편이 좋다. 핀맵을 참고하여 LCD와 ESP32를 연결한다.

 

2. 라이브러리 설치

ILI9341 TFT LCD를 구동하는데 여러 라이브러리가 있지만 여기서는 TFT_eSPI 라이브러리를 설치한다.

툴 > 라이브러리 관리를 선택한다.
tft espi를 검색한다
설치가 완료되면 위와 같이 상태가 변한다.

3. Parellel 적용

 

TFT eSPI 라이브러리를 parellel 방식으로 동작시키려면 경로를 확인하여 User_Setup.h 파일을 변경해야 한다.

그림의 경로를 참고한다.

Document/Arduino Folder/libararies/TFT_eSPI/User_Setup.h 파일을 열어서 다음과 같이 수정한다. iCloud를 사용 중이라면 iCloud 문서에 Arduino 폴더가 있을 것이다.

핀맵은 위의 표를 참고한다.

4. 예제

파일 > 예제 > TFT_eSPI > 320 x 240 > UTFT_demo를 연다.
바로 좌측 상단의 화살표 버튼을 클릭하여 코드를 write 한다

 

다음과 같은 화면이 나타나면 모든 연결과 설정이 정상적으로 완료된 것이다.

 

이제 각종 예제와 라이브러리를 활용하여 화면에 무엇이든 표시할 준비가 끝났다. 여기까지 아무런 문제가 없다면 다음으로 넘어가자.

 

+ Recent posts