2장. LED 점등하기
※목표
아두이노를 통해 LED를 통제할 수 있습니다.
※준비물
아두이노 우노 R3 : 1개
USB 케이블 : 1개
400홀 브레드보드 : 1개
점퍼 케이블(수수) : 2개
220Ω 저항 : 1개
※다음과 같이 만들어주시면 됩니다.
그리고 아두이노 보드에 다음과 같은 코드를 입력해 주시면 됩니다.
※코드 구성
int ledPin = 5;
void setup ()
{
pinMode (ledPin, OUTPUT);
}
void loop ()
{
digitalWrite (ledPin, HIGH);
delay (2000);
digitalWrite (ledPin, LOW);
delay (2000);
}
int ledPin = 5; 는 ledPin에 5를 할당합니다.
void setup () { } 은 기본 할당입니다. 아두이도 보드 시작, 리셋 후 한번만 실행됩니다.
pinMode (ledPin, OUTPUT); 은 ledPin을 출력으로 설정합니다.
void loop () { } 은 반복문으로, 코드 안의 내용을 반복합니다.
digitalWrite (ledPin, HIGH); 에서는 ledPin에 할당된 5번 핀에서 디지털 출력을 보냅니다. 여기서는 High(5V) 의 출력으로 보냅니다.
delay (2000); 2000(2초) 간 기다립니다.
digitalWrite (ledPin, LOW); 에서는 에서는 ledPin에 할당된 5번 핀에서 디지털 출력을 보냅니다. 여기서는 Low(0V) 의 출력으로 보냅니다.
delay (2000); 2000(2초) 간 기다립니다.
코드 제작 및 업로드가 성공했다면 LED가 2초간 점멸하는 것을 확인할 수 있습니다.
※220Ω 저항을 사용하는 이유
그렇다면 여기서 의문점이 생깁니다. 왜 220Ω 저항을 사용할까요? 그냥 바로 연결하는게 좋지 않을까요?
사실 이유는 간단합니다. 일반적인 적색 LED의 1.8V의 전압강하를, 적정전류는 20mA입니다. 그리고 아두이노의 전력출력은 5V의 전력을 출력합니다. 옴의 법칙을 사용해서 필요한 저항값을 계산해보도록 합시다.
옴의 법칙은 I = V/R 이므로 (I는 전류, R은 저항, V는 전압입니다.)
전류 20mA , 전압은 3.2V ( 5(출력전압) - 1.8(전압강하) = 3.2V ) 입니다.
0.02 = 3.2/R이므로 R은 160이 나옵니다.
다만 실제로는 220Ω을 사용하고 있으므로, 이를 다시 대입하면
I = 3.2/220이므로 대략 14mA정도의 전류가 LED에 흐르고 있습니다.
그렇다면, 저항을 사용하지 않고 LED와 연결하면 어떻게 될까요?
기본적으로 LED와 구리전선 모두 저항이 0인 이상적인 환경이고, 기타 저항 요소가 없다면
옴의 법칙에 따라 전류가 무한대가 되어 버리고( 이것을 단락이라고 부릅니다, 쇼트라고도 부릅니다)
이제 LED에서 탄내가 날 겁니다.
뻥!
물론 저항이 0인 이상적인 상황이 없으니, 전류가 무한대로 흐르지는 않을 태지만 그래도 LED가 박살날 정도는 충분할겁니다.
작동에 성공하셧다면, 다른 방법으로 응용해보세요. 5핀 말고 다른 핀에 연결하거나, LED의 개수를 늘리는 방법으로 말이죠.