아두이노 나노 ESP32 - LED - 페이드 | Arduino Nano ESP32 - LED - Fade

이 튜토리얼은 다음의 사용 방법에 대한 지침을 제공합니다:

준비물

1×Arduino Nano ESP32 Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LED Amazon
1×220 ohm resistor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED에 대하여

LED 핀배열

LED는 두 개의 핀을 포함합니다:

  • 음극(-) 핀: 이 핀을 GND(0V)에 연결하세요.
  • 양극(+) 핀: LED의 상태를 제어하는 데 사용됩니다.
LED Pinout

LED가 어떻게 작동하는가

음극(-)을 GND에 연결한 후:

  • 우리가 GND를 양극(+)에 연결하면, LED는 꺼집니다.
  • 우리가 VCC를 양극(+)에 연결하면, LED는 켜집니다.
  • 양극(+) 핀에 PWM 신호를 생성하면, LED의 밝기는 PWM 듀티 사이클에 비례합니다. PWM 듀티 사이클은 0부터 255까지 변화합니다. PWM 듀티 사이클이 클수록 LED는 더 밝습니다.
    • PWM 값이 0이면, 이것은 GND와 동일합니다 ⇒ LED는 꺼집니다
    • PWM 값이 255이면, 이것은 VCC와 동일합니다 ⇒ LED는 최고 밝기로 켜집니다.
    How LED Works

    ※ NOTE THAT:

    보통 LED가 타지 않도록 보호하기 위해 저항기가 필요합니다. 저항의 값은 LED의 사양에 따라 달라집니다.

    아두이노 나노 ESP32 - LED 페이드

    ESP32의 디지털 출력 핀은 PWM 신호를 생성하도록 프로그래밍할 수 있습니다. LED의 양극(+) 핀을 Arduino Nano ESP32의 핀에 연결하고, LED의 음극(-)을 GND에 연결한 다음, Arduino Nano ESP32를 프로그래밍하여 PWM의 듀티 사이클을 변경함으로써 LED의 밝기를 조절할 수 있습니다.

LED와 Arduino Nano ESP32 사이의 배선도

Arduino Nano ESP32 LED Wiring Diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

프로그램하는 방법

Arduino Nano ESP32의 핀을 디지털 출력 핀으로 설정하려면 pinMode() 함수를 사용하세요. 예를 들어, 핀 D5의 경우:

pinMode(D5, OUTPUT);

analogWrite() 함수를 사용하여 해당 듀티 사이클로 PWM 신호를 생성함으로써 LED의 밝기를 설정하세요.

analogWrite(D5, brightness);

밝기는 0에서 255까지의 값입니다.

아두이노 나노 ESP32 코드 - 간단한 페이드 예제

사용 방법

아두이노 나노 ESP32를 시작하려면 다음 단계를 따르세요:

Arduino Nano ESP32에 익숙하지 않다면, Arduino IDE에서 Arduino Nano ESP32 환경 설정하는 방법에 대한 튜토리얼을 참고하십시오.

제공된 다이어그램에 따라 구성 요소를 연결하십시오.

USB 케이블을 사용하여 Arduino Nano ESP32 보드를 컴퓨터에 연결하십시오.

컴퓨터에서 Arduino IDE를 실행하십시오.

Arduino Nano ESP32 보드와 해당 COM 포트를 선택하십시오.

아래 코드를 복사하여 Arduino IDE에 붙여넣으십시오.

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // 아두이노 나노 ESP32 핀 D5가 LED에 연결됨 int brightness = 0; // LED의 밝기 int fade_amount = 5; // LED를 얼마나 페이드시킬 지점의 수 // setup 함수는 리셋이나 전원이 켜질 때 한 번 실행됩니다. void setup() { // 아두이노 나노 ESP32 핀을 출력으로 설정 pinMode(LED_PIN, OUTPUT); } // loop 함수는 무한 반복됩니다. void loop() { // 밝기 설정 analogWrite(LED_PIN, brightness); // 다음 루프를 위한 밝기 변경 brightness = brightness + fade_amount; // 페이드의 끝에서 페이딩 방향 반전 if (brightness <= 0 || brightness >= 255) { fade_amount = -fade_amount; } // 빛바램 효과를 보기 위해 30밀리초 동안 기다림 delay(30); }

아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 Arduino Nano ESP32 보드에 업로드하세요.

Arduino IDE Upload Code

LED의 밝기를 보세요.

코드 줄마다 설명하기

위의 Arduino Nano ESP32 코드는 줄마다 설명이 포함되어 있습니다. 코드의 주석을 읽어주세요!

※ NOTE THAT:

위 예제는 delay() 함수를 사용하여 서서히 밝아지게 하고 서서히 어두워지게 합니다. delay() 함수는 LED가 부드럽게 변하지 않게 하고 다른 코드를 차단합니다. 다음 파트에서는 다른 코드를 차단하지 않으면서 부드럽게 밝아지고 어두워지게 하는 방법을 millis() 함수를 사용하여 배우게 될 것입니다.

지연(delay())을 사용하지 않고 일정 기간 동안 LED를 서서히 켜는 방법

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // Arduino Nano ESP32의 D5핀이 LED에 연결됨 #define FADE_PEDIOD 3000 // 페이드 시간은 3초임 unsigned long start_time; // 설정 루틴은 리셋을 누를 때 한 번 실행됩니다 void setup() { pinMode(LED_PIN, OUTPUT); // Arduino Nano ESP32 핀을 출력으로 구성 start_time = millis(); } // 루프에서 fade-in을 실행하고, 완료 후 다시 시작 void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // 다시 페이드를 시작하기 위해 } }

지연(delay()) 사용 없이 일정 기간 동안 LED를 서서히 꺼는 방법

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // 아두이노 나노 ESP32 핀 D5가 LED에 연결됨 #define FADE_PEDIOD 3000 // 페이드 시간은 3초입니다 unsigned long start_time; // setup 루틴은 리셋 버튼을 눌렀을 때 한 번 실행됩니다 void setup() { pinMode(LED_PIN, OUTPUT); // 아두이노 나노 ESP32 핀을 출력으로 구성합니다 start_time = millis(); } // 루프에서 fade-out하고 완료된 후 다시 시작합니다 void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = 255 - map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // 페이드를 다시 시작합니다 } }

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!