본문 바로가기

ESP329

ESP32 Deep Sleep 구현하기 -Touch Wake Up ESP32를 Deep Sleep Mode에서 터치 핀을 사용하여 깨우는 방법을 알아보겠습니다. Touch Wake UpTouch Wake Up 활성화touchSleepWakeUpEnable(TOUCH_PIN, THRESHOLD); 코드Arduino IDE를 열고, File > Examples > ESP32 Deep Sleep로 이동하여 TouchWakeUp 스케치를 엽니다. #if CONFIG_IDF_TARGET_ESP32#define THRESHOLD 40 /* 값이 클수록 민감도 증가 */#else //ESP32-S2 및 ESP32-S3 + 다른 칩에 대한 기본값 (조정 필요)#define THRESHOLD 5000 /* 값이 작을수록 민감도 증가 */#endifRT.. 2024. 10. 22.
ESP32 Deep Sleep 구현하기 - Timer Wake Up ESP32를 Deep Sleep 모드로 전환하는 방법을 알아보겠습니다.Deep Sleep 모드 소개ESP32는 다음과 같은 다양한 전원 모드로 전환할 수 있습니다Active modeModem Sleep modeLight Sleep modeDeep Sleep modeHibernation modeESP32 데이터시트에서 5가지 모드를 비교할 수 있습니다. ESP32 데이터시트에서 다음과 같은 다양한 모드의 전력 소비를 비교하는 표를 확인할 수 있습니다. 활성 모드에서의 전력 소비를 비교한 표 입니다. 왜 Deep Sleep 모드를 사용해야 할까요ESP32를 활성 모드로 배터리로 운영하는 것은 이상적이지 않습니다. 배터리의 전력이 매우 빨리 소모될 것입니다.ESP32를 Deep Sleep 모드로 전환하면 전력.. 2024. 10. 21.
ESP32 인터럽트(Interrupt) 구현하기 - PIR(인체감지센서) ESP32와 PIR 인체감지센서를 사용하여 인터럽트를 구현해 보겠습니다.모션이 감지되면 ESP32는 타이머를 시작하고 정해진 시간 동안 LED를 켭니다. 타이머가 카운트를 마치면 LED가 자동으로 꺼집니다. 부품 ESP32PIR 센서(인체감지센서)5mm LED330옴 저할점퍼와이어 브래드보드 인터럽트 소개인터럽트는 마이크로컨트롤러 프로그램에서 특정 이벤트가 발생할 때 자동으로 처리를 수행하게 하며, 타이밍 문제 해결에 유용합니다. 이를 통해 핀의 값을 지속적으로 확인하지 않아도 되고, 값의 변화가 감지되면 즉시 이벤트(함수)가 트리거되어 필요한 작업을 수행합니다. 인터럽트 설정하기 인수로 GPIO 핀, 실행할 함수 이름, 모드를 가지고 있습니다. attachInterrupt(digitalPinToInte.. 2024. 10. 17.
ESP32 Timer 구현하기 - millis()함수 사용하기 esp32에서 millis()함수를 사용하여 LED를 제어해보겠습니다. 타이머 소개delay() 함수는 코드의 실행을 일정 시간 동안 멈추는 함수로, 그 동안에는 다른 작업을 할 수 없습니다.예를 들어, delay(1000)을 사용하면 1초 동안 코드의 실행이 멈춥니다.하지만 millis() 함수를 사용하면 현재 프로그램이 시작된 이후 흐른 시간을 기록하여, 정해진 시간 동안에도 다른 작업을 처리할 수 있습니다. delay() 함수delay(milliseconds);delay(1000)일때 1초간 멈춥니다 1000 = 1초delay함수는 작업이 완료될때까지 프로그램이 다른 작업을 수행할 수 없습니다.   대부분의 프로젝트에서는 delay()을 사용하는 대신 millis()를 사용해야 합니다.millis(.. 2024. 10. 16.