본문으로 바로가기



LED(발광 다이오드)


LED는 전기 에너지를 빛 에너지로 변환한 발광 다이오드이다. LED는 일반적으로 2개의 전극단자로 구성되어 있는데, 긴 단자쪽이 +(애노드 ANODE), 짧은 단자쪽이 -(캐소드 CATHODE)라고 한다. 따라서 각 단자마다 극성을 가지고 있고, 긴 단자(애노드)에 +를 짧은 단자(캐소드)에 -전극을 연결하면 된다.

전류가 지나치게 흐를경우 LED가 파손되거나 고장이 발생할 수 있으므로 저항을 달아주는것이 좋다.

저항을 고를 때에는 옴의법칙을 이용하여 저항을 선정한다.


옴의법칙


V(전압)=I(전류)*R(저항)

R(저항)=V(전압)/I(전류)

I(전류)=V(전압)/R(저항)

우리는 LED를 보호하기 위한 저항을 달아야 하므로, R = V / I를 사용하면, LED의 필요전압은 2V이며, 소모전류는 10mA이다.
대부분의 아두이노 우노 보드는 공급전압이 5V이기 때문에 R=(5V(공급전압) - 2V(LED 필요전압)) / 10mA(LED 소모 전류 세기) = 300Ω이 나오게 된다.
ex) 공급전압이 12V일 경우 (12V - 2V) / 10mA = 1KΩ
300Ω 저항을 사용하면 되고, 300Ω 저항이 없을 경우 근사치 저항을 사용하시면 된다. 필자는 330Ω 저항을 사용하였다.

준비물

아두이노, 브레드보드, 점퍼케이블 7개, LED 3개, 저항300Ω(330Ω) 3개


회로도




소스 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int green = 12;        //초록색 LED를 12번으로
int yellow = 10;    //노란색 LED를 10번으로
int red = 8;        //빨간색 LED를 8번으로
 
void setup() {
  pinMode(green, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(red, OUTPUT);        //12, 10, 8번포트를 출력으로 설정
}
 
void loop() {
  digitalWrite(green, HIGH);    //초록불 켜기
  digitalWrite(yellow, LOW);    //노란불 끄기
  digitalWrite(red, LOW);        //빨간불 끄기
  delay(1000);                    //1초 대기
  digitalWrite(green, LOW);
  digitalWrite(yellow, HIGH);    //노란불만 켜기
  digitalWrite(red, LOW);
  delay(1000);
  digitalWrite(green, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(red, HIGH);        //빨간불만 
  delay(1000);
}
cs


ex1__led.ino


결과 영상