아두이노 LED 블링크

이 튜토리얼에서는 아두이노를 사용하여 LED를 제어하는 방법, 아두이노 프로그래밍으로 LED를 켜고 끄는 방법, 그리고 LED를 깜박이는 방법을 배웁니다.

준비물

1×아두이노 우노 R3 쿠팡 | 아마존
1×USB 2.0 케이블 타입 A/B 쿠팡 | 아마존
1×LED 아마존
1×220Ω 저항기 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 아마존
1×(추천) 아두이노 우노용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노용 브레드보드 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노용 케이스 쿠팡 | 아마존
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED에 대하여

핀배치

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

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

작동 원리

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

  • GND를 양극(+)에 연결하면, LED는 꺼집니다.
  • VCC를 양극(+)에 연결하면, LED는 켜집니다.
How LED Works

게다가, 양극(+)에 PWM 신호를 생성하면, PWM 값에 따라 LED의 밝기가 변경됩니다 (아두이노 - LED - 페이드에서 자세히 설명됨).

※ 주의:

대부분의 LED의 경우 저항기를 사용해야 합니다. 저항기는 양극(+)과 VCC 사이나 음극(-)과 GND 사이에 배치할 수 있습니다. 저항기의 값은 LED의 사양에 따라 달라집니다.

일부 종류의 LED에는 내장된 저항기가 있습니다. 그런 종류의 LED의 경우 저항기를 사용하지 않아도 될 수 있습니다.

아두이노 - LED

아두이노의 핀이 디지털 출력으로 설정될 때, 핀의 전압은 프로그램적으로 GND 또는 VCC 값으로 설정할 수 있습니다.

아두이노의 핀을 저항기를 거쳐 LED의 양극(+) 핀에 연결함으로써, LED의 상태를 프로그램적으로 제어할 수 있습니다.

선연결

우리는 두 가지 예시를 다룰 예정입니다:

  • 예제 코드는 Arduino/Genuino UNO에 내장된 LED를 제어합니다.
  • 아두이노 코드를 수정하여 외부 LED를 제어합니다.
Arduino LED 배선도

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

프로그램하는 방법

아두이노의 핀을 디지털 출력 모드로 설정하려면 pinMode() 함수를 사용하세요. 예를 들어, 핀 9:

pinMode(9, OUTPUT);

digitalWrite() 함수를 사용해서 LED를 끄기 위해 핀을 GND에 프로그래밍하세요:

digitalWrite(9, LOW);

digitalWrite() 함수를 사용하여 핀을 VCC로 프로그래밍하여 LED를 켜십시오.

digitalWrite(9, HIGH);

아두이노 코드

사용 방법

  • 아두이노를 USB 케이블을 통해 PC에 연결하세요
  • 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요
  • 아래 코드를 복사하여 아두이노 IDE에 붙여넣으세요
/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-led-blink */ // 보드를 리셋하거나 전원을 켤 때 한 번 실행되는 설정 함수 void setup() { // 디지털 핀 LED_BUILTIN을 출력으로 초기화합니다. pinMode(LED_BUILTIN, OUTPUT); } // 루프 함수는 계속해서 반복 실행됩니다. void loop() { digitalWrite(LED_BUILTIN, HIGH); // LED를 켭니다 (HIGH는 전압 레벨입니다) delay(1000); // 1초 동안 기다립니다 digitalWrite(LED_BUILTIN, LOW); // 전압을 LOW로 만들어 LED를 끕니다 delay(1000); // 1초 동안 기다립니다 }

Arduino IDE에서 코드를 Arduino에 업로드하려면 Upload 버튼을 클릭하세요.

Arduino IDE - How to Upload Code

결과를 확인하세요: 내장된 LED가 1초마다 주기적으로 ON/OFF로 전환됩니다.

코드 설명

위의 Arduino 코드의 주석 라인에서 설명을 찾을 수 있습니다.

※ 주의:

위 코드는 delay()를 사용합니다. 이 함수는 딜레이 시간 동안 아두이노가 다른 작업을 수행하는 것을 차단합니다. 프로젝트에서 다른 작업을 수행해야 하는 경우, 아두이노 - LED - 지연 없이 깜박임을 사용하여 아두이노를 차단하지 마십시오.

아두이노 코드 수정하기

외부 LED를 제어하기 위해 코드 수정

사용 방법

  • 위의 배선도를 통해 LED를 아두이노에 연결하십시오.
  • 코드 수정:
    • LED_BUILTIN을 9로 변경하십시오.
    • 지연시간을 1000ms에서 500ms로 변경하십시오.
    /* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-led-blink */ // 보드를 리셋하거나 전원을 켤 때 한 번 실행되는 설정 함수 void setup() { // 디지털 핀 9를 출력으로 초기화합니다. pinMode(9, OUTPUT); } // 루프 함수는 영원히 반복해서 실행됩니다. void loop() { digitalWrite(9, HIGH); // LED를 켭니다 (HIGH는 전압 레벨입니다) delay(500); // 500 밀리초 동안 기다립니다 digitalWrite(9, LOW); // 전압을 LOW로 만들어 LED를 끕니다 delay(500); // 500 밀리초 동안 기다립니다 }
    • 아두이노 IDE에서 코드를 아두이노에 업로드하려면 Upload 버튼을 클릭하세요.
    • 결과를 확인하세요: LED가 주기적으로 켜졌다 꺼집니다. LED가 더 빠르게 깜박입니다.

    ※ 주의:

    이 튜토리얼은 작동 원리를 이해하는 데 도움이 되는 심층적인 지식을 제공합니다. 쉽게 하기 위해, Arduino - LED 라이브러리를 사용할 수 있습니다.

동영상

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

도전하세요

  • 아두이노의 다른 핀에 LED를 연결하고 깜빡이는 시간을 변경하세요.
  • 버튼으로 LED를 켜고 끄세요. 힌트: 아두이노 - 버튼을 참조하세요.

추가 지식

아두이노 UNO에서 LED를 제어하기 위해 출력 핀으로 사용할 수 있는 핀은 어떤 것들인가요?

  • 핀 0에서 핀 13까지
  • 핀 A0에서 핀 A5까지

※ 주의:

한 번에 한 핀은 하나의 작업만 할 수 있습니다. 만약 이미 다른 작업(예: 디지털 입력, 아날로그 입력, PWM, UART 등)에 핀을 사용했다면, LED를 제어하기 위해 디지털 출력으로 사용해서는 안 됩니다. 예를 들어, Serial.println() 함수를 사용한다면, 이 핀들이 시리얼 통신에 사용되기 때문에 0번과 1번 핀을 다른 목적으로는 사용하지 않아야 합니다.

확장성

이 튜토리얼은 Arduino의 출력 핀을 사용하여 LED를 제어하는 방법을 보여줍니다. 이 코드를 적용하여 어떤 장치든, 심지어 큰 기계들까지도 켜고 끌 수 있습니다.

※ 주의:

고전력 공급(> 5v) 및/또는 고전류 소모를 사용하는 장치/기계의 경우, 출력 핀과 장치/기계 사이에 릴레이를 사용해야 합니다 - 아두이노 - 릴레이 참조하세요.