ESP

ESP32C3 Super Mini / ST7796S TFT LCD -4

찬영_00 2025. 1. 18. 14:07

오랜만에 포스팅한다.

일단 TFT_eSPI라이브러리에 굳이 내가 함수로 픽셀을 읽지 않아도 함수로 야무지게 이미지를 출력해주는 함수가 있었다.

psuhImage()라는 함수이다.

 

함수명 설명
psuhImage 여러 픽셀을 한번에 처리하는 방식
( RAM에 이미지 데이터를 로드하고 한번에 디스플레이에 전송하는 방식)

 

위 함수의 장단점은 본인이 쓰는 보드에 따라 다르다.

내가 쓰는 보드의 RAM이 만약 이미지를 한번에 로드하기 어려운 크기면 이미지 한줄씩의 크기를 가져오던지 이런 방식으로 출력을 해야할것이다.

내 보드는 ESP32C3 super mini이기때문에 RAM이 400KB정도이다.

하나의 이미지크기는 bmp기준 300KB를 넘기 때문에 한번에 가져오기에는 공간이 충분치 않기 때문에 한줄씩 가져와서 띄우는 방식으로 하겠다.

 

한번에 가져오는 방식과 한줄씩 가져오는 방식의 속도차이는 다음과 같다.

https://youtube.com/shorts/pGNhMqK2K7Y?feature=share

앞부분이 1줄씩 가져오는 장면, 뒷부분이 한번에 가져오는 방식이다.

크게 차이를 모르겠다. 따라서 효율성이 좋은 1줄씩 가져오는 것으로 진행해보겠다.

https://github.com/PCY00/arduino/blob/main/project/stm32/%EC%9E%A1%EB%8B%A4%ED%95%9C%EC%9D%BC%EC%83%81/%EB%94%94%EC%A7%80%ED%84%B8%EC%82%AC%EC%A7%84%EC%9D%B8%ED%85%8C%EB%A6%AC%EC%96%B4/Test/ST7796S_image_fast.ino

 

arduino/project/stm32/잡다한일상/디지털사진인테리어/Test/ST7796S_image_fast.ino at main · PCY00/arduino

Contribute to PCY00/arduino development by creating an account on GitHub.

github.com

 

기존 포스팅을 보았으면 영상에서 얼마나 이미지 처리속도가 느린지 보았을거다.

역시,, 대단하신 분들이 만든 라이브러리를 사용하는게 맞는거 같다.

 

비교해볼것이 하나 더 있다. sd카드에서 이미지를 가져와 디스플레이에 띄우는 방식을 pushImage()를 사용하면 어느정도 속도 인가? 그 속도면 사용할만 한가를 따져보겠다.

https://github.com/PCY00/arduino/blob/main/project/stm32/%EC%9E%A1%EB%8B%A4%ED%95%9C%EC%9D%BC%EC%83%81/%EB%94%94%EC%A7%80%ED%84%B8%EC%82%AC%EC%A7%84%EC%9D%B8%ED%85%8C%EB%A6%AC%EC%96%B4/Test/ST7796S_SD_Image_fast.ino

 

arduino/project/stm32/잡다한일상/디지털사진인테리어/Test/ST7796S_SD_Image_fast.ino at main · PCY00/arduino

Contribute to PCY00/arduino development by creating an account on GitHub.

github.com

 

https://youtube.com/shorts/lrIdMzzXV-8?feature=share

 

답답한 부분이 느껴진다.

 

간단하게 생각하면 SD카드에 있는 것을 미리 몇개만 Flash에 옮기고 디스플레이에 띄우면 안되나?

라고 생각이 들지만 이건 쉽지 않고, 실제로 제한된 공간를 사용하는데 있어 이렇게 할 필요성이 있나 싶다.

SD에서 읽는 방식
SD -> RAM -> LCD

FLASH에서 읽는 방식
FLASH -> RAM -> LCD

 

또한 일반적으로 SD카드에서 복잡한 과정(Flash로 옮기는 과정)없이 이미지를 띄우는 방식을 택한다고 한다.

이 부분은 조금 더 알아보고 프로젝트를 진행해보겠다.

 

 

 

'ESP' 카테고리의 다른 글

ESP32C3 Super Mini / ST7796S TFT LCD -3  (0) 2025.01.12
ESP32C3 Super Mini / SD리더기  (0) 2025.01.11
ESP32C3 Super Mini / ST7796S TFT LCD -2  (0) 2025.01.09
ESP32C3 Super Mini / ST7796S TFT LCD -1  (0) 2025.01.08
ESP-IDF를 사용하자  (0) 2025.01.07