2023年6月8日 星期四

ESP32CAM built-in LED control

依照下圖ESP32_CAM線路圖, 可以發現GPIO33接了一顆 red led, GPIO4接到FLASH_LED. 因此這兩顆LED都可以為我們所用



規劃 GPIO33的LED開機後閃爍讓使用者知道ESP32CAM已在運行當中
GPIO4的FLASH LED由IO13腳位來控制ON/OFF
最簡單的方式

/** GPIO for led */
#define LED_BUILTIN 4
#define LED_IN 33

int ledButton = 13;
int on_off_count = 0;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(LED_IN, OUTPUT);

  pinMode(ledButton, INPUT_PULLUP);
}

void loop() {
  // put your main code here, to run repeatedly:
  enableLED();
  if ((digitalRead(ledButton) == LOW))
  {
    //Serial.println("13");
    on_off_count++;
  }
  
  digitalWrite(LED_IN, LOW);
  delay(200);
  digitalWrite(LED_IN, HIGH);
  delay(200);

}
void enableLED(void)
{
  if(on_off_count==1)
  {
    digitalWrite(LED_BUILTIN, HIGH);
  }
  if(on_off_count==2)
  {
    digitalWrite(LED_BUILTIN, LOW);
  }
  if(on_off_count>2)
  {
    on_off_count=0;
  }
}
//------------------------------------------------------------
若有問題歡迎留言討論!!!
//------------------------------------------------------------
Youtube 實作影片









2 則留言:

  1. 請問我想關閉閃光燈,拍照時不要閃,要怎麼加入

    回覆刪除
    回覆
    1. #define LED_BUILTIN 4
      這隻IO腳位設為LOW 就不會閃燈

      刪除