-
ESP-IDF LCD 예제(vscode)소프트웨어 2023. 3. 25. 16:04
#esp32 윈도우 vscode 환경
#선행(필수) ESP-IDF 윈도우 개발환경 세팅(vscode)
#선행(필수) ESP-IDF 외부 폴더에서 예제 파일 실행(vscode)
#선행(필수) ESP-IDF .c .h 참조 cMakeLists (vscode)#선행(필수) ESP-IDF components 참조 cMakeLists (vscode)
1) I2C LCD 라이브러리를 다운 받습니다.
*위 라이브러리 말고, 깃허브의 다른 라이브러리 사용시 아래 수정 필요.
- HD44780.c에서 .master.clk_speed = 10000 으로 수정(기본값 100000), // 저가형 I2C LCD 사용시
- 전체 소스 코드에서 portTICK_RATE_MS -> portTICK_PERIOD_MS // 최신 FreeRTOS 버전 대응
수정해 주어야 합니다.
2) C:\ 루트 폴더에 압축 해제
#include <driver/i2c.h> #include <freertos/FreeRTOS.h> #include <freertos/task.h> #include <stdio.h> #include "sdkconfig.h" #include "HD44780.h" #define LCD_ADDR 0x27 #define SDA_PIN 21 #define SCL_PIN 22 #define LCD_COLS 20 // 16*2 -> 16 #define LCD_ROWS 4 // 16*2 -> 2 void LCD_DemoTask(void* param) { char num[20]; while (true) { LCD_home(); LCD_clearScreen(); LCD_writeStr("20x4 I2C LCD"); vTaskDelay(3000 / portTICK_PERIOD_MS); LCD_clearScreen(); LCD_writeStr("Lets Count 0-10!"); vTaskDelay(3000 / portTICK_PERIOD_MS); LCD_clearScreen(); for (int i = 0; i < 11; i++) { LCD_setCursor(8, 2); sprintf(num, "%d", i); LCD_writeStr(num); vTaskDelay(1000 / portTICK_PERIOD_MS); } } } void app_main(void) { LCD_init(LCD_ADDR, SDA_PIN, SCL_PIN, LCD_COLS, LCD_ROWS); xTaskCreate(&LCD_DemoTask, "Demo Task", 2048, NULL, 5, NULL); }
vscode에서 C:\ESP32-HD44780-master-master 경로를 열고 build, flash 해 줍니다.
idf.py build -> idf.py flash monitor
끝
*공부하는 입장에서 정리중인 자료들 입니다.
ESP-IDF 윈도우 개발환경 세팅 (VSCODE)
ESP-IDF 외부 폴더에서 예제 파일 실행 (VSCODE)
ESP-IDF GPIO 인풋, 아웃풋 (VSCODE)
ESP-IDF 인터럽트 (VSCODE)ESP-IDF 디바운싱 (esp32, vscode)
ESP-IDF .c .h 참조 cMakeLists (vscode)ESP-IDF components 참조 cMakeLists (vscode)
ESP-IDF LCD 출력(vscode)
ESP-IDF 메모리 - Flash (vscode)
ESP-IDF 메모리 - SRAM (vscode)
ESP-IDF FreeRTOS - buffer (vscode)ESP-IDF 쿨링팬 FG센서, PWM제어(vscode)
<포스트 예정>*ESP-IDF 메모리 - ROM
*LCD - 메뉴 만들고 버튼으로 메뉴 이동(터미널로 작업)
*LCD - 2차원 배열로 메뉴 진입, 뒤로가기(터미널로 작업)
*LCD - 메뉴 만든 것 LCD 출력
*LCD - 메뉴 UI 제작. 연두색 블럭은 메인 메뉴 회색 블럭은 서브 메뉴
(1.팬 1-1.ON 1-2.OFF 1-3.BACK 2.LED 2-1.밝기 약 2-2.밝기 중 2-3.밝기 강 2-4.BACK 3.빛 밝기 출력 lux(+PPFD 변환)
*Easy EDA툴 활용하여 커스텀 ESP32 보드 제작
*LCD - LCD , 팬 , 펌프 , ESP32 연결 가능한 PCB 제작 주문.
*LCD - 간이 스마트팜 제작
*ESP32 JTAG 디버그
*FreeRTOS
*FreeRTOS - QUEUE
*FreeRTOS - timer
*FreeRTOS - Semaphore , mutex
*FreeRTOS - event group , notification
*ESP-IDF I2C SPI UART
*ESP-IDF wifi
*ESP-IDF MQTT
*ESP-IDF Server (XAMPP 로컬 서버 연결)*DIY 컨테이너 / 유리온실 스마트팜 제작
'소프트웨어' 카테고리의 다른 글
ESP-IDF 메모리 - SRAM (vscode) (0) 2023.03.28 ESP-IDF 메모리 - Flash (vscode) (0) 2023.03.25 ESP-IDF components 참조 cMakeLists (vscode) (0) 2023.03.25 ESP-IDF .c .h 참조 cMakeLists (vscode) (0) 2023.03.24 ESP-IDF 디바운싱 (vscode) (0) 2023.03.23