본문 바로가기
[강좌]ESP32 4.3" TFT-LCD HMI - 7. lvgl 예제 살펴보기 2 ( lvgl examples 2 ) [2023/04/04] First Start. 소나무 기운 , 전자제품 개발/생산 [강좌]ESP32 4.3" TFT-LCD HMI - 7. lvgl 예제 살펴보기 2 ( lvgl examples 2 ) 이제는 터치를 추가해서 동작 시켜 보는 예제입니다. 3_3-4_TFT-LVGL-Widgets를 살펴보도록 하겠습니다. 터치를 사용하는 lvgl widget을 사용해 보는 프로그램 예제입니다. Capacitive touch와 Resistive touch 두 가지 모두 지원하고 있습니다. 기본적인 터치의 사용을 알 수 있고, lvgl로 어떤 UI / UX를 만들 수 있는지 확인해 볼 수 있습니다. 폴더 구성 및 파일 폴더는 두개, 파일은 세개로 되어 있습니다. 이 사진과 같이 구성되어 있습니다. # LVGL .. 2023. 4. 4.
[강좌]ESP32 4.3" TFT-LCD HMI - 6. lvgl 예제 살펴보기 1 ( lvgl examples 1 ) [2023/03/30] First Start. 소나무 기운 , 전자제품 개발/생산 ESP32 4.3" TFT-LCD HMI - 6. lvgl examples 1 이번에는 lvgl(Light and Versatile Embedded Graphics Library)를 사용한 예제를 다뤄보도록 하겠습니다. 여러가지 플렛폼에 적용가능한 가볍고, 쉽고, 아름다운 UI/UX를 제작할 수 있다고 합니다. 전용 디자인툴인 스퀘어라인 스튜디오 등을 사용하여 쉽게 작업이 가능하다고 합니다. 관련 세부 사항은 공식 홈페이지 ( https://lvgl.io/ )를 확인하시기 바랍니다. https://lvgl.io/ LVGL - Light and Versatile Embedded Graphics Library LVGL is t.. 2023. 3. 31.
[강좌]ESP32 4.3" TFT-LCD HMI - 5. TFT 예제 살펴보기 2(Explore Examples 2) [2023/03/29] First Start. 소나무 기운 , 전자제품 개발/생산 메인ESP32 4.3" TFT-LCD HMI - 5. TFT 예제 살펴보기2(Explore Examples2) 오늘은 나머지 예제 두개를 더 살펴 보겠습니다. 4번 강좌에서 사용한 라이브러리와 환경을 그대로 사용하므로 어려울 것은 없습니다. 예제 소스를 살펴보는 정도로 편하게 읽어보시면 되겠습니다. 예제 하나는 CLOCK이고, 또 하나는 PDQgraphicstest가 되겠습니다. 제목과 비슷한 내용일듯 합니다. 같이 한번 보시죠. Examples 3_3-2_TFT_CLOCK 원형의 바늘시계를 구현합니다. 시,분,초 바늘이 있고 1초마다 한번씩 초를 증가하고 그에 따른 분, 시도 변경을 해 줍니다. 그리고 초바늘의 위치를 계.. 2023. 3. 30.
[강좌]ESP32 4.3" TFT-LCD HMI - 4. TFT 예제 살펴보기(Explore Examples) [2023/03/27] First Start. 소나무 기운 , 전자제품 개발/생산 ESP32 4.3" TFT-LCD HMI - 4. TFT 예제 살펴보기(Explore Examples) TFT-LCD를 사용한 예제를 Compile하고 Download하여 시험해 보도록 하겠습니다. 이 과정은 "2. 제품 상세 소개 및 관련자료 설명"에서 받은 데이터 중 6-User's Manual의 Getting started 4.3 inch.pdf 를 설명한 내용입니다. 2023.03.21 - [ESP32] - ESP32 4.3" TFT-LCD HMI - 2. 제품 상세소개 및 관련 자료 설명(Detailed introduction & Materials introduction) ESP32 4.3" TFT-LCD HMI .. 2023. 3. 27.
[강좌]ESP32 4.3" TFT-LCD HMI - 3. 데모 프로그램 라이팅(Demo binary writing) [2023/03/23] First Start. 소나무 기운 , 전자제품 개발/생산 데모 프로그램 라이팅(Demo binary writing) 받아진 데이터 중에 "8-Burn operation" 폴더를 자세하게 살펴보겠습니다. 처음 제품을 받게되면 데모프로그램이 라이팅 되어 있습니다. 초기 데모프로그램 링크입니다. 참고하세요. https://youtu.be/d2OXlVcRYrU 3개의 폴더가 있습니다. 첫번째 "Burn files" - TN 4872 CTP-GT911.bin ** 정전용량식 터치 480 x 272 TN 패널 TN 4827 NTP(without touch).bin ** 터치없음 480 x 272 TN 패널 TN 2872 RTP(Resistance touch).bin ** 저항식 터치 480.. 2023. 3. 23.
[강좌]ESP32 4.3" TFT-LCD HMI - 2. 제품 상세소개 및 관련 자료 설명(Detailed introduction & Materials introduction) [2023/03/21] First Start. 소나무 기운 , 전자제품 개발/생산 ESP32 4.3" TFT-LCD HMI - 2. 제품 상세소개 및 관련 자료 설명(Detailed introduction & Materials introduction) 제품을 구매하였습니다. https://ko.aliexpress.com/item/1005004788147691.html?spm=a2g0o.detail.0.0.602b26acsoPS1x&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.291025.0&scm_id=1007.13339.291025.0&scm-url=1007.13339.291025.0&pvid=81f7e9a9-ce9f-4493-abd9-a8e6241e2bd.. 2023. 3. 21.
[강좌]ESP32 4.3" TFT-LCD HMI - 1. 제품 소개 (product descriptions) [2023/03/21] Add Image, Font size. [2023/03/21] First Start. 소나무 기운 , 전자제품 개발/생산 ESP32 4.3" TFT-LCD HMI - 1. 제품 소개 (product descriptions) HMI(Human Machine interface)관련해서 요즘 관심이 많습니다. 여러가지 제품이 많이 눈에 띄고 있습니다. 여러가지 제품을 보던 중 관심이 가는 것은 ESP32-S3를 이용하여 TFT-LCD를 이용한 HMI에 관심을 갖게 되었습니다. HMI는 사람과 기계간의 상호작용을 위한 인터페이스를 말합니다. 즉, 인간과 기계간의 정보 교환 및 제어를 가능케 하는 기술이며, 산업자동화, 가전제품, 의료기기 등 다양한 분야에서 사용됩니다. ESP32-S3는 .. 2023. 3. 21.
ESP32 아두이노에서 타이머 인터럽트를 사용하는 방법에 대해서 알아보도록 하겠습니다. Let's learn how to use timer interrupt on ESP32 Arduino. 타이머 설정하기 타이머 인터럽트를 사용하기 위해서는 타이머를 먼저 설정해야 합니다. 아래 코드는 1초마다 타이머 인터럽트를 발생시키는 타이머를 설정하는 코드입니다. You must set the timer before you can use the timer interrupt. The code below sets a timer that generates a timer interrupt every second. hw_timer_t * timer = NULL; void setup() { timer = timerBegin(0, 80, true); // 타이머 초기화, 주파수는 80MHz, 분주비는 1 timerAttachInterrupt(timer, &onTimerISR, true); // 타이머 인터럽트 함수.. 2023. 3. 8.
(C) float를 uint16_t 2개에 나누어 저장하는 방법 (To save float by dividing it into two uint16_t) [2023/03/04] First Start. 소나무 기운 , 전자제품 개발/생산 (C) float를 uint16_t 2개에 나누어 저장하는 방법(To save float by dividing it into two uint16_t) float 값을 uint16_t 두개에 나누어 넣는 방법은 여러가지가 있을 수 있습니다. 하나의 방법은 float 값을 uint32_t로 변환하고, 그 값을 상위 16비트와 하위 16비트로 나누어 각각 uint16_t 변수에 저장하는 것입니다1. 예를 들면 다음과 같습니다. There can be several ways to divide the float value into two uint16_t. One way is to convert the float value to ui.. 2023. 3. 4.
'MergeCells' method of a 'TStringGrid' in C++ Builder(C++ Builder에서 'TSring Grid'의 'Merge Cells' 방법) [2023/03/01] First Start. 소나무 기운 , 전자제품 개발/생산 'MergeCells' method of a 'TStringGrid' in C++ Builder(C++ Builder에서 'TSring Grid'의 'Merge Cells' 방법) In C++ Builder, you can use the 'MergeCells' method of a 'TStringGrid' component to merge two or more adjacent cells into a single larger cell. C++ Builder에서 TSringGrid 구성 요소의 MergeCells 메서드를 사용하여 인접한 두 개 이상의 셀을 하나의 더 큰 셀로 병합할 수 있습니다. The syntax for t.. 2023. 3. 1.
C, C++, ino 파일 서로 섞어 쓰기. [2023/02/25] First Start. 소나무 기운 , 전자제품 개발/생산 C, C++, ino 파일 서로 섞어 쓰기. 아두이노에서는 ino 파일, c 파일, cpp 파일을 섞어서 사용할 수 있습니다. 일반적으로 ino 파일에는 setup() 함수와 loop() 함수가 포함되어 있으며, 다른 파일에서는 이 함수들을 정의하거나 추가적인 함수들을 작성할 수 있습니다. ino, cpp, h 사용하기 cpp 파일을 header 파일로 분리하여 코드를 정리하고, 모듈화 할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성이 증가하고, 코드를 재사용하기 용의해집니다. 아래는 cpp 파일을 header 파일로 분리하는 예시입니다. 1. 먼저, cpp 파일에 정의된 함수와 변수를 header 파일로 이전합니다.. 2023. 2. 26.
LVGL for Arduino LVGL은 LittlevGL(Little Video Graphics Library)의 준말로, 오픈소스 그래픽 라이브러리 중 하나입니다. LVGL은 마이크로컨트롤러와 임베디드 시스템에서 사용할 수 있는 그래픽 라이브러리로, UI(User Interface) 및 GUI(Graphical User Interface) 개발에 사용됩니다. LVGL은 C언어로 작성되어 있으며, 매우 가볍고 빠르며 메모리 효율성이 뛰어나다는 특징을 가지고 있습니다. 또한, LVGL은 다양한 플랫폼과 마이크로컨트롤러에서 지원되고 있어, 많은 임베디드 시스템에서 사용할 수 있습니다. LVGL은 다양한 UI 요소와 기능을 제공합니다. 예를 들어, 버튼, 라벨, 슬라이더, 프로그레스 바, 그리드 등 다양한 위젯을 제공하며, 다양한 테마와.. 2023. 2. 24.
UI UX ?? UI stands for "User Interface," while UX stands for "User Experience." UI refers to the design of the interface through which a user interacts with a digital product or service, such as a website or mobile app. This includes elements like the layout, colors, typography, and other visual design elements that make up the interface. UX, on the other hand, refers to the overall experience that a use.. 2023. 2. 20.
Insert Markdown Document Image (마크다운 문서에 이미지 넣기) [2023/02/17] First Start. 소나무 기운 , 전자제품 개발/생산 Insert Markdown Document Image To insert images in Markdown, you can use the following syntax: Markdown(마크다운)에 이미지를 삽입하려면 다음 구문을 사용할 수 있습니다: 기본 문법 ![alt text](image URL) 상세 설명 Let's break down the different parts of this syntax: 이 구문의 여러 부분을 분석해 보겠습니다: The exclamation mark '!' indicates that this is an image, not just regular text. The 'alt text' is .. 2023. 2. 17.
ESP8266, ESP32( S2, S3, C2, etc ) Series [2023/02/12] First Start. 소나무 기운 , 전자제품 개발/생산 ESP8266, ESP32( S2, S3, C2, etc ) Series The ESP8266 and ESP32 are microcontrollers produced by Espressif Systems. Both the ESP8266 and ESP32 are popular choices for a range of IoT applications due to their small size, low cost, and built-in Wi-Fi connectivity. ESP8266: The ESP8266 is a single-core microcontroller that was first introduced in 2013. I.. 2023. 2. 12.
라즈베리파이 부팅 후 터미널 동작하고 쉘 스크립트 실행하기(LXTerminal) [2022/12/14] First Start. 소나무 기운 , 전자제품 개발/생산 라즈베리파이 부팅 후 터미널 동작하고 쉘 스크립트 실행하기 특성상 라즈베리파이에 프로그램을 하게되면 전원 On시 자동으로 시작해야 하는 경우가 많아요.시작 프로그램으로 등록해야 하지요. 부팅시 자동으로 프로그램을 시작하도록 하는 방법은 많이 있습니다.1. ctrontab 사용하는 방법2. rc.local파일을 사용하는 방법3. .bashrc 사용4. init.d 디렉토리 사용5. SYSTEMD 사용 이러한 동작을 위해서 사용할 수 있도록 사용자에게 제공되는 것은 ctrontab 입니다. 부팅후 한번, 일정시간마다 반복, 목요일마다 반복, 한달에 1일 11일 21일 만 등등의 방법으로 사용할 수 있습니다. 부팅후 일정시간 지.. 2022. 12. 14.
vscode에서 black formatter 사용하기 (python) [2022/11/10] First Start. 소나무 기운 , 전자제품 개발/생산 vscode에서 black formatter 사용하기 (python) black formatter를 지원하는 VSCode 확장입니다. 현재의 버전은 22.10.0입니다. * 이 확장은 python 3.7이상 지원합니다.* 번들 black은 설치된 black가 없는 경우에만 사용됩니다.* 지원되는 최소 버젼은 22.3.0dl입니다. 설치 방법 VSCode의 Extension에서 "black formatter"로 검색합니다. Git hub 위치 https://github.com/microsoft/vscode-black-formatter GitHub - microsoft/vscode-black-formatter: Formatti.. 2022. 10. 12.
파이선3에서 RPi.GPIO모듈 사용하기 [2022/10/22] First Start. 소나무 기운 , 전자제품 개발/생산 파이선3에서 RPi.GPIO모듈 사용하기 GPIO모듈은 Python과 함께 설치 됩니다. 그러나 설치된 이 모듈은 Python 2.7전용으로 설치되어 있으며 Python 3에서 GPIO를 사용하기 위해서 RPi.GPIO를 import하면 import 에러가 발생합니다. Python 3용 RPi.GPIO모듈의 설치는 간단합니다. 첫번째로 프로그램을 설치하기전에 apt를 최신상태로 업데이트 하는 것이 좋습니다. 다음을 실행합니다. sudo apt update 이렇게 하면 Software repository 정보가 없데이트되고 패키지 목록이 최신 상태로 유지됩니다. 이 명령이 완료되면 사용 가능한 업데이트를 설치합니다. sudo.. 2022. 10. 5.
raspberry pi( 라즈베리파이 ), Virtual Environment( 가상 환경), python3 ( 파이썬 3 ) [2022/10/27] First Start. 소나무 기운 , 전자제품 개발/생산 raspberry pi( 라즈베리파이 ), Virtual Environment( 가상 환경), python3 ( 파이썬 3 ) 가상환경은 사용자가 정한 임의의 디렉토리 밑에 새로운 개발 환경을 만듭니다. 사용하는 파이썬 버전 , 라이브러리 등을 가상환경 내에 구성 할 수 있습니다.프로젝트를 진행하다 보면 서로 다른 버전의 컴파일러나 라이브러리 등을 사용해야 할 필요성이 있습니다. 예를 들면)- 몇년 전에 했던 프로젝트를 수정할 일이 생겨서 수정을 해야한다면 새로운 버전의 컴파일러나 라이브러리에서는 에러가 발생할 수 있습니다.- 흔치 않은 라이브러리를 구했는데 이 라이브러리가 python 2.7에서만 컴파일이 될 수 있습니다.. 2022. 10. 4.
라즈베리파이 디스크 사용량, 남은 용량 확인하기 (Raspberry Pi Disk Usage, Check Capacity Remaining ) [2022/10/29] First Start. 소나무 기운 , 전자제품 개발/생산 라즈베리파이 디스크 사용량, 남은 용량 확인하기 ( Raspberry Pi Disk Usage, Check Capacity Remaining ) 라즈베리파이에서 디스크의 사용량 정보를 알아보죠. Let's look at the disk usage information in Raspberry Pie. df (disk free) 명령어 디스크의 사용한 양과 남은 양을 보여줍니다. Shows how much disk is used and how much is left. 주로 df -h를 사용합니다. human-readable 의 약자입니다.df --human-readable로 사용해도 됩니다. root@goorm:/workspa.. 2022. 10. 4.