아두이노 우노 R4 - LED 점점 밝아지기/어두워지기

이 자습서는 Arduino UNO R4를 사용하여 LED의 밝기를 조절하고 희미하게 하는 방법을 안내합니다. 자세하게는, 우리는 다음을 배웁니다:

아두이노 UNO R4 페이드 LED

Hardware Preparation

1×Arduino UNO R4 WiFi Amazon
1×Arduino UNO R4 Minima (Alternatively) Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LED Kit with resistor Amazon
1×LED (red) Amazon
1×220 ohm resistor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino UNO R4 Amazon
1×(Recommended) Power Splitter For Arduino UNO R4 Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED에 대하여

핀아웃

LED에는 두 개의 핀이 있습니다:

  • 음극(-) 핀: GND (0V)에 연결해야 합니다.
  • 양극(+) 핀: LED의 상태를 작동하는 데 사용됩니다.
LED 핀아웃

작동 방식

음극(캐소드)을 접지(GND)에 연결한 후:

  • LED의 양극(+)에 접지를 연결하면 LED가 꺼집니다.
  • LED의 양극(+)에 전원(VCC)을 연결하면 LED가 켜집니다.
  • LED의 양극(+)에 펄스 폭 변조(PWM) 신호를 보내면 밝기를 조절할 수 있습니다. PWM 값은 0에서 255 사이일 수 있습니다. PWM 값이 클수록 LED가 더 밝아지고, PWM 값이 작을수록 LED가 더 어두워집니다.
    • PWM 값이 0이면 GND에 연결한 것처럼 동작하여 LED가 꺼집니다.
    • PWM 값이 255이면 VCC에 연결한 것처럼 동작하여 LED가 완전히 켜집니다.
    LED 작동 원리

    ※ NOTE THAT:

    대부분의 LED에서는 양극(Anode)과 전원(VCC) 사이에 저항을 연결해야 합니다. 저항 값은 LED 사양에 따라 다릅니다.

    Arduino UNO R4 - LED 페이드

    Arduino UNO R4의 핀 중 일부를 사용하여 PWM 신호를 생성함으로써 LED를 점점 어둡게 만들 수 있습니다. 먼저, LED의 양극(+)을 Arduino UNO R4의 핀 중 하나에 연결하십시오. 그런 다음, LED의 음극(-)을 접지(GND)에 연결합니다. 이후 선택한 Arduino 핀을 PWM 신호를 생성하도록 설정할 수 있습니다.

Wiring Diagram

아두이노 UNO R4 LED 배선도

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

프로그래밍 방법

  • 아두이노 UNO R4의 핀 모드를 pinMode() 함수를 사용하여 디지털 출력으로 설정하세요. 예를 들어, 핀 9의 경우:
pinMode(9, OUTPUT);
  • analogWrite() 함수를 사용하여 적절한 PWM 신호를 생성함으로써 LED 밝기를 조절하십시오.
analogWrite(9, brightness);

밝기는 0에서 255까지 범위일 수 있습니다.

아두이노 UNO R4 코드 - 아두이노 IDE의 Fade 예제

/* * 이 Arduino UNO R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino UNO R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED int brightness = 0; // how bright the LED is int fade_step = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_step; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_step = -fade_step; } // wait for 30 milliseconds to see the dimming effect delay(30); }

Detailed Instructions

다음 지침을 단계별로 따라하십시오:

  • Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우, Arduino IDE에서 Arduino Uno R4 WiFi/Minima 환경 설정에 관한 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 LED를 Arduino Uno R4에 연결하세요.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 Arduino UNO R4로 코드를 전송하세요.
Arduino IDE 코드 업로드
  • LED가 얼마나 밝은지 보세요.

코드 설명

설명은 위 아두이노 코드의 주석에 있습니다.

※ NOTE THAT:

위 예제에서는 delay()라는 함수를 사용하여 천천히 조명을 밝게 하고 어둡게 만듭니다. 그러나 delay()를 사용하면 조명이 덜 부드럽게 변하며, 대기하는 동안 프로그램의 다른 부분이 작동을 멈추게 됩니다. 다음 부분에서는 millis() 함수를 사용하여 프로그램의 나머지 부분을 멈추지 않고 부드럽게 조명이 변하게 하는 방법을 배울 것입니다.

LED를 딜레이 없이 일정 시간 내에 서서히 희미하게 하는 방법

/* * 이 Arduino UNO R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino UNO R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = millis(); // restart fade again } }

딜레이()를 사용하지 않고 일정 시간 동안 LED를 점점 밝아지게 하는 방법

/* * 이 Arduino UNO R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino UNO R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = millis(); // restart fade again } }

Video Tutorial

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!