아두이노 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의 상태를 제어하는 데 사용됩니다.
작동 원리
음극(-)을 GND에 연결한 후:
- GND를 양극(+)에 연결하면, LED는 꺼집니다.
- VCC를 양극(+)에 연결하면, LED는 켜집니다.
게다가, 양극(+)에 PWM 신호를 생성하면, PWM 값에 따라 LED의 밝기가 변경됩니다 (아두이노 - LED - 페이드에서 자세히 설명됨).
※ 주의:
대부분의 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 코드의 주석 라인에서 설명을 찾을 수 있습니다.
※ 주의:
위 코드는 delay()를 사용합니다. 이 함수는 딜레이 시간 동안 아두이노가 다른 작업을 수행하는 것을 차단합니다. 프로젝트에서 다른 작업을 수행해야 하는 경우, 아두이노 - LED - 지연 없이 깜박임을 사용하여 아두이노를 차단하지 마십시오.
아두이노 코드 수정하기
외부 LED를 제어하기 위해 코드 수정
사용 방법
- 위의 배선도를 통해 LED를 아두이노에 연결하십시오.
- 코드 수정:
- LED_BUILTIN을 9로 변경하십시오.
- 지연시간을 1000ms에서 500ms로 변경하십시오.
- 아두이노 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) 및/또는 고전류 소모를 사용하는 장치/기계의 경우, 출력 핀과 장치/기계 사이에 릴레이를 사용해야 합니다 - 아두이노 - 릴레이 참조하세요.