소프트웨어

ESP-IDF GPIO 인풋, 아웃풋 (vscode)

pogop4321 2023. 3. 17. 11:26

#esp32 윈도우 vscode 환경
#선행(필수) ESP-IDF 윈도우 개발환경 세팅(VSCODE)
#선행(필수) ESP-IDF 외부 폴더에서 예제 파일 실행(VSCODE)


 
1) sample_project 생성
참고 : 외부 폴더에서 예제 파일 실행 ESP-IDF(VSCODE)
 
2) 결선 *INPUT은 택트 스위치 사용, OUTPUT은 내장 LED 사용

 
3) 코드

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

#define INPUT_SWITCH 19
#define ESP32_LED 2

void app_main()
{
    gpio_set_direction(ESP32_LED, GPIO_MODE_OUTPUT);
    gpio_set_direction(INPUT_SWITCH, GPIO_MODE_INPUT);
    gpio_pulldown_en(INPUT_SWITCH);

    while (1)
    {
        int pushed = gpio_get_level(INPUT_SWITCH);
        gpio_set_level(ESP32_LED, pushed);
        vTaskDelay(10);
    }
}

 
4) 결과
 
 
 
*공부하는 입장에서 정리중인 자료들 입니다.


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
*FreeRTOS - buffer
*ESP-IDF I2C SPI UART
*ESP-IDF wifi
*ESP-IDF MQTT
*ESP-IDF Server (XAMPP 로컬 서버 연결)

*DIY 컨테이너 / 유리온실 스마트팜 제작