Smart home system에 사용할 controller로 ESP32를 정하고 준비중입니다.
지난번에 JPG Image 출력을 시험해 보았습니다.
속도가 원하는 것보다 늦어서 약간의 꽁수를 사용했습니다.
ESP32-WROBER모듈을 사용해서 SPI PSRAM에 Raw Image를 만든다음 Dump 하는 형태로 표현 했습니다.
부팅시 SPI Flash에 있는 JPG 이미지를 디코딩해서 Raw Image로 만든다음 SPI PSRAM에 넣어놓고 러닝중에는 이 이미지를 사용하는 방법을 사용했습니다.
이렇게 해서 240x320 Image를 뿌리는데 40~50ms 정도에 해결을 했습니다.
속도를 높이려는 이유는 일단 이놈으로 Nixie 스타일 LCD시계를 만들어 보기 위해서 입니다.
![](https://postfiles.pstatic.net/MjAxOTExMDFfMjky/MDAxNTcyNjAwMTc5OTMz.WTmGh4-12F5N15ga_imRGcf_l1T4FZ40g73OhepQfHgg.mM_E74Qb98zjaY03-0Npbc0mb1AOQ94r9hNpdjwkmnQg.PNG.cimygy/WechatIMG6384.png?type=w773)
원래는 정식 Nixie관을 사용해서 만들어야 하는데 너무 비싸서 알리에서 중고도 있지만 그래도 비싸네요.
참고로 Nixie관은 아주아주 예전에 구 소련에서 디스플레이용으로 개발한 놈 입니다.
진공관과 같이 내부에 0~9까지의 전극이 있어 고압을 걸어주면 발열및 빛이 나는 구조인데 한참전에
단종되어서 지금 시중에는 중고만 돌아다닌다고 하더군요.
하지만 요즘 다시 생산하는 곳도 생겼더군요. ^^
레트로 , 엔틱 디자인 때문이겠지요.
하지만 가격이 허걱 입니다.
![](https://postfiles.pstatic.net/MjAxOTExMDFfMjUg/MDAxNTcyNjAwMTM1NzI4.RPFNH5lsgO_zPnZNb2G6T0T6Johx2D7K0WayucR5hXkg.fxjSzfrZ3ObvoP_5fMujqNwxMADALGAHYMBKA0cQsPMg.JPEG.cimygy/20191101_181353.jpg?type=w773)
완성품은 허걱x100 입니다. ^^.
편법으로 아크릴을 사용해서 LED로 만드는 Lixie라는 방법도 있습니다.
![](https://postfiles.pstatic.net/MjAxOTExMDFfMjkz/MDAxNTcyNjAwMTcwNjA4.Qxj2ORBUiTIz4nkPNcvrDO3WsAQDbOnFeBdusqjutbMg.jJpNW-9NAqR-SwNP49NXoDBK5IK_fqdwIDzcIMAcANAg.JPEG.cimygy/maxresdefault.jpg?type=w773)
아크릴 2~3t 10장을 겹치고 아래서 LED로 해당 아크릴을 켜는 방식입니다.
레이저로 가공하면 되지만 사무실에서 아크릴 레이저 가공하면 냄새때문에 쫒겨날듯 합니다. ^^..
결국 LCD에 그림으로 표현하는 방법을 쓰기로 했습니다.
![](https://postfiles.pstatic.net/MjAxOTExMDFfMjY2/MDAxNTcyNTk5ODY2OTQy.I8JlItbId4DMTmtgbg8YKrgE1ioBLLyCgd7472BM17sg.BxxUiY91DfFH0O4WmhILJ3i_LbA81HvfrULfoRTmQ4Ig.JPEG.cimygy/20191101_160459.jpg?type=w773)
이미지는 일단 구글에서 검색해서 적당한 것을 사용했습니다.
나중에 정식으로 하게 되면 이미지 구매를 해야 할 것 같습니다.
워터마크가 있어서 ... ^^..
![](https://postfiles.pstatic.net/MjAxOTExMDFfMTIx/MDAxNTcyNTk5OTQ2OTAw.3qQbGFLOfJsqB3BZR2ik6iZ0ScdkQ-ETBI9iWK1Bv6sg.eDRcQ6-CGzTCEtmH2o6-X_th_X_l5nZgMVG45YcCSNgg.JPEG.cimygy/20191101_165628.jpg?type=w773)
![](https://postfiles.pstatic.net/MjAxOTExMDFfMjQz/MDAxNTcyNTk5OTQ2OTky.smGbNmk-Hmoxd_jorpt2T7VBMTMJfTiBS_f020iUe5Ag.mr2EPjD1het5NKyNNWL_HAWxp-jYY-d63vtELWzQS3Eg.JPEG.cimygy/20191101_170118.jpg?type=w773)
![](https://postfiles.pstatic.net/MjAxOTExMDFfMjc2/MDAxNTcyNTk5OTQ3MDI0.zdb7gh1FlCHC9XZ5lPm7zOP8B26lvkf2wZTEKbs8nBAg.Mc8IAlPr6q8ruU1QjvgqPC7S-HX0idJ8WNa-V2oUjnAg.JPEG.cimygy/20191101_170123.jpg?type=w773)
일단 올려서 동작시험했습니다.
나중에 이미지만 이쁜거 올리면 대충 쓸만 할 것 같습니다. ^^..
동작하는 것을 동영상으로 만들어 보았습니다.
스마트폰으로 찍어서 화질이 좀 구리네요 감안해서 보시기 바랍니다.
대충 이미지가 변화될 때 큰 문제는 없어 보입니다.
일단 이 용도로 사용하기에 퍼포먼스는 문제가 없어 보입니다.
컷당 50ms정도 소요된다면 HH : MM : SS 6개 사용한다면 300ms 정도라 최악의 경우 6장 모두 갱신할수 있는 시간이 충분히 나올 것 같습니다.
다음에는 LCD 6개 달아서 CS(Chip select) 신호만 변경해서 구동하는 법을 정리해 보아야 겠습니다. ^^..
PSRAM 사용법도 대충 알았는데 마지막으로 SPI Flash 파티션을 커스텀으로 잡는 법을 알아내야 할것 같습니다.
지금 16Mbyte 짜리달린놈을 사용하고 있는데 1.5MB밖에 사용못하고 있습니다.
삽질해 봐야 겠네요.
![](https://storep-phinf.pstatic.net/nahumkim_01/original_27.png?type=p100_100)
그래도 대충 동작 시킬수 있어 다행 입니다.
약간 옆길로 빠져서 한글 구현하는 작업이 늦어졌네요. ^^.
하지만 이것 구현하느라 대충 Library 분석해봐서 한글 구현은 큰 문제 없을 듯 합니다.
최종 폰트 이미지 Dump 시키는 것이 포팅인데 이미 Dump 함수는 PutImage(x,y,w,h,Data*) 형식으로 만들어 두었습니다. ^^..
커서와 컬러값등 몇가지 정리만 해주면 될 듯 합니다.
미세먼지가 장난이 아닙니다.
오늘아침 입니다.
사무실에 자작한 공기청정기를 돌리고 있는데 하나더 조립해서 두개를 돌려야 겠습니다.
내년 봄까지는 또 이렇게 괴로 울 것 같습니다.
![](https://storep-phinf.pstatic.net/nahumkim_01/original_40.png?type=p100_100)
Wood case LCD Nixie clock
LCD Nixie를 사용한 Clock을 모델링 해보았습니다.
![](https://postfiles.pstatic.net/MjAxOTExMDJfMiAg/MDAxNTcyNjg0MzQ2MDEy.ZHTNYpX16xPQWJ9NeEJEVdQVfPPZ19m0wvULN0B9BhIg.454q5-PzhC3d5GHNpoLK4YRWnhvc-rOiNaNx9mbKj8gg.PNG.cimygy/N06.png?type=w773)
![](https://postfiles.pstatic.net/MjAxOTExMDJfMTUz/MDAxNTcyNjg0MzQ2Mjc5.M4TGeDyJwbS-cZfERBPMlG3Shu8fXDPTW4c2Bip9N84g.h7tCmJFDLMMD_ra9U0os8XhQLsSPeW-jkxs4GcOT9iEg.PNG.cimygy/N08.png?type=w773)
![](https://postfiles.pstatic.net/MjAxOTExMDJfNzgg/MDAxNTcyNjg0MzQ2Mzg5.QT9ICrCH7p9FabWst9yTBLxXQfq6ubBOQKWG3Prts60g.W8QJzB8MO1i07jqvG4uvzMokuN_G0JNTZ6DQXhsCztYg.PNG.cimygy/N09.png?type=w773)
Display가 LCD이기 때문에 이미지를 바꾸면 다양한 표출이 가능 합니다.
![](https://postfiles.pstatic.net/MjAxOTExMDJfMTY2/MDAxNTcyNjg0NTcwMzE1.Ex_JhgILjpzO2LQcE-E_ctiL7ZullUOvOqs1NRGDLtgg.l5TrdPoTmGU29PG3bFzVDN5pPG4vRK3tfbqbM54MbRgg.JPEG.cimygy/20191102_174724.jpg?type=w773)
![](https://postfiles.pstatic.net/MjAxOTExMDJfMTQg/MDAxNTcyNjg0NjE4NDQ3.uVkVUXystgTHNkROFWz8QbRBGM26T-bYj1kj-go1Uqcg.rtNt8Myn7dQKLCoraqGV08FLkKE6UbjNVEnB_Gaxgisg.JPEG.cimygy/20191102_174723.jpg?type=w773)
LCD Font를 적용해 보았습니다.
이외에도 다양한 메세지 표출도 가능 할 것 같습니다. ^^
사랑초 꽃이 이쁘게 피었습니다.
핀조절이 잘 안되 계속 연습중입니다. ^^
'IT관련 > ESP32' 카테고리의 다른 글
[ESP32] I2C OLED 한글출력 (0) | 2019.11.14 |
---|---|
[ESP32] SPIFFS 를 사용한 WebServer (0) | 2019.11.13 |
[ESP32] JPG Image 출력 시험 (0) | 2019.11.13 |
[ESP32] LCD 드라이버 선택(TFT_eSPI) (0) | 2019.11.09 |
[ESP32] 자료정리 (Pin map) (0) | 2019.11.09 |
댓글