2025/01 10

간단한 DIY 디지털 액자 만들기

예전에 수동적으로 원기둥을 돌려 사진을 보이게 했던 것을 기억할지 모르겠다.https://kksp12y.tistory.com/65 롤링포토(?) 만들기이 포스팅은 아마 27일에 열릴 것 같다. 롤링포토? 같은 걸 만들건데, 선물로 줄 제품이기에 27일 이후에 열릴 예정이다. 일단 아이디어는 인스타 릴스에서 어떤 외국 아주머니(?)가 종이로 만든kksp12y.tistory.com사진 화질도 그렇고, 갯수 제한도 있고,, 단점 투성이지만 감성은 있었다고? 생각한다. 그래서 이번엔 디지털 액자를 만들어 보았다.크기를 최소화하기 위해 재료들을 선정했고, 기능 또한 문제가 없어야하기 때문에 작으면서도 원하는 기능을 다 구현할 수 있는 것을로 선정했다. 일단 재료 선정은 다음과 같다.재료명스펙링크esp32c3 su..

ESP32C3 Super Mini / ST7796S TFT LCD -5

이것저것 알아보다가 결국은 LCD에 표시되는 부분은 1~2초 정도 걸려도 SD카드를 활용하는 방법으로 했다. 큰 이유로는1. 내가 구현하고자하는 것이 디지털 액자이기 때문에 굳이 사진이 빠르게 나오지 않아도 된다.그렇다고 너무 늦게 나와도 안되는데 1~2초 정도면 충분하다고 생각된다. 2. 적은 공간의 Flash를 가진 보드이다 보니 여러개의 사진을 저장하는데 어려움이 있다.따라서 외부 저장공간인 SD카드를 사용하는게 좋다고 생각했다. 이러한 이유로 SD카드를 활용하기로 했다. 그럼 여기서 문제가 발생한다. SD카드에 많은 양의 사진을 저장할 경우 그것들은 어떤 방식으로 선택할 것인가? 위 방법에 대해서는첫째, 가변 저항을 활용하여 얻는 값에 따라 범위를 설정하여 값이 범위 안에 오면 해당 사진을 띄울까..

ESP/ST7796S_LCD 2025.01.22

ESP32C3 Super Mini / ST7796S TFT LCD -4

오랜만에 포스팅한다.일단 TFT_eSPI라이브러리에 굳이 내가 함수로 픽셀을 읽지 않아도 함수로 야무지게 이미지를 출력해주는 함수가 있었다.psuhImage()라는 함수이다. 함수명설명psuhImage여러 픽셀을 한번에 처리하는 방식 ( RAM에 이미지 데이터를 로드하고 한번에 디스플레이에 전송하는 방식) 위 함수의 장단점은 본인이 쓰는 보드에 따라 다르다.내가 쓰는 보드의 RAM이 만약 이미지를 한번에 로드하기 어려운 크기면 이미지 한줄씩의 크기를 가져오던지 이런 방식으로 출력을 해야할것이다.내 보드는 ESP32C3 super mini이기때문에 RAM이 400KB정도이다.하나의 이미지크기는 bmp기준 300KB를 넘기 때문에 한번에 가져오기에는 공간이 충분치 않기 때문에 한줄씩 가져와서 띄우는 방식으로..

ESP/ST7796S_LCD 2025.01.18

ESP32C3 Super Mini / ST7796S TFT LCD -3

먼저 일반적인 사진은 jpg or png가 많다.여기서 방법은 2가지이다. jpg decoder를 해서 lcd 화면에 띄울거냐, 아니면 bmp를 변환한 것을 sd카드에 넣어서 사용할거냐장단점은 존재한다.종류장단점jpg손실 압축 형식을 사용하므로 BMP보다 파일 크기가 작지만, 디코딩이 더 복잡함따라서 추가적인 디코딩 과정이 필요함bmp무압축 또는 간단한 압축 방식이라서 데이터 구조가 단순하여 디코딩이 쉬움따라서 TFT 라이브러리에서 기본적으로 지원됨 jpg가 파일 크기가 작으니 SD 카드에서 읽는 속도가 더 빠를 수 있지만 일단 bmp로 진행해보겠다.(jpg 디코더를 사용할거면 다음 라이브러리를 이용해봐라 https://github.com/Bodmer/TJpg_Decoder)bmp의 데이터 형식은 다음 ..

ESP/ST7796S_LCD 2025.01.12

ESP32C3 Super Mini / SD리더기

먼저 SD카드를 초기화를 해주겠다.포맷형태를 뭐로 할까 하다가, 어떤 라이브러리를 사용할진 모르겠지만, 아두이노 SD 라이브러리가 지원하는 포맷은 FAT16/32라고 하길래 일단 FAT32로 초기화 해주겠다. 이렇게 초기화를 진행해주면 된다(만약 초기화가 잘 안되면 sd를 다시 뺏다 껴봐라)그리고 기본적으로 가지고 있는 라이브러리를 하나만 수정하자 우리는 이 라이브러리안에 있는 SD_Test를 예제로 쓸건데, CS를 기본적으로 설정된 GPIO7 말고, GPIO10으로 사용할 예정이다.따라서 다음과 같이 SD.cpp를 수정해주자ssPin이 CS인데 sdcard_init을 저렇게 10으로 넣어주자그리고 업로드하면 다음과 같이 뜬다그리고 SD카드를 뺴서 열어보면 다음과 같다. 잘 동작하는 것을 봤으니 이제 다..

ESP 2025.01.11

ESP32C3 Super Mini / ST7796S TFT LCD -2

TFT LCD를 활용하는 2번째 포스팅이다.일단 LCD를 키는것을 했으니 다음은 우리가 쓸 함수들을 파악해보고, 사진도 올려보자우리가 쓰는 함수들은 이미 #include "TFT_eSPI.h"로 포함시켜서 어딜 들어가서 봐야하는지 알것이다. 근데 들어가서 그 많은 함수를 언제 보고있나... 예제가 없으면 당연히 봐야지만, 예제가 있으니 예제에서 사용되는 부분의 함수들을 알아보자 https://github.com/Bodmer/TFT_eSPI/blob/master/examples/480%20x%20320/TFT_graphicstest_one_lib/TFT_graphicstest_one_lib.ino TFT_eSPI/examples/480 x 320/TFT_graphicstest_one_lib/TFT_grap..

ESP/ST7796S_LCD 2025.01.09

ESP32C3 Super Mini / ST7796S TFT LCD -1

ESP-IDF로 제어하기 전에 먼저 arduino IDE로 해당 3.5 inchi TFT LCD를 제어해보겠다. ESP32C3 Super mini의 기본적인건 이전 포스팅을 참고하자https://kksp12y.tistory.com/90 ESP32C3 SuperMini -1ESP32보드는 어느정도 다루어 보았지만 이번 게시물은 역시나 프로젝트를 위해 보드 하나를 더 알아가기 위해 리뷰 겸 제어를 해볼 예정이다. ESP32C3 SuperMini는 매우 작고 WiFi도 사용이 가능하여kksp12y.tistory.com 일단 내가 사용하는 하드웨어를 보이겠다. 보드 : ESP32C3 Super Mini디스플레이 :https://www.ebay.com/itm/204891182194 3.5 Inch 320x480 ..

ESP/ST7796S_LCD 2025.01.08

ESP-IDF를 사용하자

먼저 ESP32를 사용하는데 있어 아두이노 IDE를 사용하면 ESP32의 기능을 전부 사용하지 못한다. ESP-IDF는 ESP IoT Development Framework의 줄임말로 Espressif Systems에서 공식 지원하는 프레임워크이다.(아두이노IDE에서는 ESP-IDF 프레임워크를 래핑하고 있는 형태라고 생각하면 된다고 합니다.) 따라서 이제부터 ESP는 해당 Tool을 사용하여 개발을 진행해보겠다.먼저 VSCode에서 해당 Tool을 사용할 수 있는데 설치하는 방법은 다음 링크에서 자세히 나와있으니 참고바란다.(파이썬이 먼저 깔려있어야 한다)https://pthaus.tistory.com/9 ESP-IDF 윈도우 개발환경 세팅 (esp32, vscode)*소요시간 : 30분 1) VSCO..

ESP 2025.01.07

리눅스 커널 공부하기 위한 준비

이번에 리눅스 커널에 대해 공부하면서 임베디드에 대해 더욱 더 가까워져보겠다. 일단 커널은 나에게 너무나 어려운 부분이다.Linux에서 프로그래밍을 해봤지만 커널은 조금 더 깊게 들어가는 느낌이기 떄문이다.따라서 Youtube의 오제이 튜브를 통해 같이 공부해 나가보겠다. 준비물은 라즈베리파이 4B이기 때문에 라즈베리파이를 구매해야한다.https://www.devicemart.co.kr/goods/view?no=12234534&srsltid=AfmBOop5DRri7hEbtjIEKhpHcVebqGFt7RH5p1egUHvFYSlEE7j8wk1M 라즈베리파이4 (Raspberry Pi 4 Model B) 4GB + 가이드북 + 방열판라즈베리파이4 전용 방열판 및 가이드북(84페이지) 증정 ! 1.5GHz 쿼드..

Linux_Kernel 2025.01.04

LED 회로 기판 가지고 놀기

오늘 차에 고장난 블랙박스를 탈거하고 새로운 블랙 박스를 부착했다.그래서 고장난 블랙박스를 분해해보니 안에 아주아주 간단한 LED 기판이 있어서 한번 가지고 놀아 봤다. 이렇게 생겼는데 먼저 멀티미터기로 어디에 뭐가 연결되어있는지 찍어보고 회로도를 그려봤다. 실제로 구동도 해본 결과 똑같이 동작했다. 실제 구동할 땐 따로 저항을 더 달아주었고, 다이오드도 달아주었다.여기서 잠깐 다이오드에 관하여 연결할때 방향이 궁금할 수 도 있기때문에 링크 걸어두겠다.https://javalab.org/diode/ 다이오드 - 자바실험실다이오드는 한 방향으로만 전류가 흐르도록 하는 부품입니다. 사람으로 비유하면 심장이나 정맥에 있는 판막과 같은 역할을 합니다. 한 방향의 전류만 통과시키는 다이오드의 기본기능에 충실jav..