아두이노 - LED - 블링크 | Arduino - LED - Blink
이 튜토리얼에서는 아두이노를 사용하여 LED를 제어하는 방법, 아두이노 프로그래밍으로 LED를 켜고 끄는 방법, 그리고 LED를 깜박이는 방법을 배웁니다.
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | LED | Amazon | |
1 | × | 220 ohm resistor | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
LED에 대하여
핀배치
LED는 두 개의 핀을 포함합니다:
- 음극(-) 핀: GND(0V)에 연결해야 합니다.
- 양극(+) 핀: LED의 상태를 제어하는 데 사용됩니다.
작동 원리
음극(-)을 GND에 연결한 후:
- GND를 양극(+)에 연결하면, LED는 꺼집니다.
- VCC를 양극(+)에 연결하면, LED는 켜집니다.
게다가, 양극(+)에 PWM 신호를 생성하면, PWM 값에 따라 LED의 밝기가 변경됩니다 (이 튜토리얼에서 자세히 설명됨).
※ NOTE THAT:
대부분의 LED의 경우 저항기를 사용해야 합니다. 저항기는 양극(+)과 VCC 사이나 음극(-)과 GND 사이에 배치할 수 있습니다. 저항기의 값은 LED의 사양에 따라 달라집니다.
일부 종류의 LED에는 내장된 저항기가 있습니다. 그런 종류의 LED의 경우 저항기를 사용하지 않아도 될 수 있습니다.
아두이노 - LED
아두이노의 핀이 디지털 출력으로 설정될 때, 핀의 전압은 프로그램적으로 GND 또는 VCC 값으로 설정할 수 있습니다.
아두이노의 핀을 저항기를 거쳐 LED의 양극(+) 핀에 연결함으로써, LED의 상태를 프로그램적으로 제어할 수 있습니다.
선연결
우리는 두 가지 예시를 다룰 예정입니다:
- 예제 코드는 Arduino/Genuino UNO에 내장된 LED를 제어합니다.
- 아두이노 코드를 수정하여 외부 LED를 제어합니다.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
프로그램하는 방법
아두이노의 핀을 디지털 출력 모드로 설정하려면 pinMode() 함수를 사용하세요. 예를 들어, 핀 9:
digitalWrite() 함수를 사용해서 LED를 끄기 위해 핀을 GND에 프로그래밍하세요:
digitalWrite() 함수를 사용하여 핀을 VCC로 프로그래밍하여 LED를 켜십시오.
아두이노 코드
사용 방법
- 아두이노를 USB 케이블을 통해 PC에 연결하세요
- 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요
- 아래 코드를 복사하여 아두이노 IDE에 붙여넣으세요
Arduino IDE에서 코드를 Arduino에 업로드하려면 Upload 버튼을 클릭하세요.
결과를 확인하세요: 내장된 LED가 1초마다 주기적으로 ON/OFF로 전환됩니다.
코드 설명
위의 Arduino 코드의 주석 라인에서 설명을 찾을 수 있습니다.
※ NOTE THAT:
위 코드는 delay()를 사용합니다. 이 함수는 딜레이 시간 동안 아두이노가 다른 작업을 수행하는 것을 차단합니다. 프로젝트에서 다른 작업을 수행해야 하는 경우, 아두이노의 블로킹되지 않는 방법을 사용하여 아두이노를 차단하지 마십시오.
아두이노 코드 수정하기
외부 LED를 제어하기 위해 코드 수정
사용 방법
- 위의 배선도를 통해 LED를 아두이노에 연결하십시오.
- 코드 수정:
- LED_BUILTIN을 9로 변경하십시오.
- 지연시간을 1000ms에서 500ms로 변경하십시오.
- 아두이노 IDE에서 코드를 아두이노에 업로드하려면 Upload 버튼을 클릭하세요.
- 결과를 확인하세요: LED가 주기적으로 켜졌다 꺼집니다. LED가 더 빠르게 깜박입니다.
※ NOTE THAT:
이 튜토리얼은 작동 원리를 이해하는 데 도움이 되는 심층적인 지식을 제공합니다. 쉽게 하기 위해, Arduino - LED 라이브러리를 사용할 수 있습니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
도전하세요
- 아두이노의 다른 핀에 LED를 연결하고 깜빡이는 시간을 변경하세요.
- 버튼으로 LED를 켜고 끄세요. 힌트: 아두이노 - 버튼을 참조하세요.
추가 지식
아두이노 UNO에서 LED를 제어하기 위해 출력 핀으로 사용할 수 있는 핀은 어떤 것들인가요?
- 핀 0에서 핀 13까지
- 핀 A0에서 핀 A5까지
※ NOTE THAT:
한 번에 한 핀은 하나의 작업만 할 수 있습니다. 만약 이미 다른 작업(예: 디지털 입력, 아날로그 입력, PWM, UART 등)에 핀을 사용했다면, LED를 제어하기 위해 디지털 출력으로 사용해서는 안 됩니다. 예를 들어, Serial.println() 함수를 사용한다면, 이 핀들이 시리얼 통신에 사용되기 때문에 0번과 1번 핀을 다른 목적으로는 사용하지 않아야 합니다.
확장성
이 튜토리얼은 Arduino의 출력 핀을 사용하여 LED를 제어하는 방법을 보여줍니다. 이 코드를 적용하여 어떤 장치든, 심지어 큰 기계들까지도 켜고 끌 수 있습니다.
※ NOTE THAT:
고전력 공급(> 5v) 및/또는 고전류 소모를 사용하는 장치/기계의 경우, 출력 핀과 장치/기계 사이에 릴레이를 사용해야 합니다 - 아두이노 - 릴레이 참조하세요.