안녕하세요. 오늘은 LED를 깜빡이는 예제를 만들어 보겠습니다.

1. 필요한 하드웨어

  • 아두이노 보드
  • LED
  • 220옴 저항

1.1. LED

LED(Light Emitting Diode) 또는 발광 다이오드는 순방향 전압을 가했을 때 빛을 내는 반도체 소자입니다.
그림 1 : LED
[그림 1 : LED]

1.1.1. 정격 전압과 저항

저자는 일반적으로 많이 사용되는 LED를 사용하고 있는데요, 모든 전자부품에는 정격 전압이라는 것이 있습니다.
이게 뭐냐하면, 해당 전자 부품이 동작하는데에 필요한 적정한 값의 전압을 의미합니다.
해당 값보다 낮은 값을 할당해주면 제대로 동작하지 않을 수도 있고, 너무 높은 값을 할당하게 되면 부품이 파손될 수도 있습니다.

LED는 색상마다 정격 전압이 각각 다 다릅니다.
아래의 표는 제조사마다 내용이 달라질 수 있지만, 대략 이것과 비슷한 범위 안에 해당될 것 입니다.

색상 최소 전압 최대 전압 전류(일반) 전류(최대)
Red 1.8V 2.3V 20mA 50mA
Orange 2.0V 2.3V 30mA 50mA
Real Yellow 2.0V 2.8V 20mA 50mA
Emerald Green 1.8V 2.3V 20mA 50mA
Real Green 3.0V 3.6V 20mA 50mA
Sky Blue 3.4V 3.8V 20mA 50mA
Real Blue 3.4V 3.8V 20mA 50mA
Pink 3.4V 3.8V 20mA 50mA
White 3.4V 4.0V 20mA 50mA

[표 1 : LED 정격 전압 / 전류]

아두이노에서 제공하는 전압은 5V인데요, 적색 LED를 사용한다고 가정했을 때 LED에 걸리는 전압을 2V로 낮춰주기 위해서는 저항을 직렬로 연결해야 합니다. 그렇게해야 전압 강하가 일어나서 LED에 적정 전압이 걸리게 되죠.

필요한 저항을 구하는 식은 다음과 같습니다.

저항값 = (전원 전압 - LED 전압) / LED 전류


예를들어, 적색 LED를 사용한다고 했을 때 저항 값을 구해보죠.

  • 아두이노의 전원 전압 = 5V
  • LED 전압 = 2V
  • LED 전류 = 20mA

저항값 = (5 - 3) / 0.02 = 100[옴]

따라서 적색 LED를 사용할 때에는 100옴 이상의 저항을 사용하면 됩니다. 일반적으로 220옴 저항을 직렬 연결하면 무리없이 사용할 수 있습니다.

1.1.2. 방향성

LED는 PN접합이라는 구조로 되어 있습니다. 그래서 P형 부분에 +전압을 걸어줘야 하고, N형 부분에 -전압을 걸어줘야 합니다.
LED를 자세히 보면 두개의 다리가 길이가 다릅니다.

그림 2 : Anode / Cathode

[그림 2 : Anode / Cathode]

길이가 긴 쪽을 Anode라고 부르며 +전압을 걸어줘야하는 부분이고, 짧은 쪽을 Cathode라고 부르며 -전압을 걸어줘야하는 부분입니다.

주의 : 만약 전압을 반대로 걸어주게 되면 소자가 망가질 위험이 있습니다.

2. 회로 구성

위에서 설명한 것처럼 회로에서 LED와 저항을 직렬로 연결해줘야 합니다.
그림 3과 같이 회로를 구성합니다.

그림 3 : LED 회로
[그림 3 : LED 회로]

LED의 긴쪽을 아두이노 보드의 디지털 13번 핀에 연결하고 LED의 짧은 쪽을 저항과 직렬 연결하여 아두이노 보드의 GND(그라운드)에 연결합니다. 이 때, 저항을 13번 핀 쪽에 연결할지, 그라운드에 연결할지는 전혀 상관없습니다. 어느 쪽에 연결하든 직렬로만 연결하면 됩니다.

3. 코드

const int LED = 13;

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);   // LED를 켭니다
  delay(1000);               // 1초 동안 멈춥니다
  digitalWrite(LED, LOW);    // LED를 끕니다
  delay(1000);               // 1초 동안 멈춥니다
}
  • 1 줄 - 아두이노 보드의 디지털 13번 핀을 LED라는 상수로 정의합니다.
  • 3~5 줄 - LED 핀을 출력 모드로 설정합니다.
  • 7~12 줄 - 계속 반복 수행되는 코드입니다.
  • 8 줄 - LED 핀에 HIGH 값을 넣어 줍니다. HIGH 값을 넣는다는 것은 5V 전압을 가한다는 의미이므로 LED에 전류가 흐르게 되고 따라서 LED가 켜지게 됩니다.
  • 9 줄 - 1초 동안 멈춥니다.
  • 10 줄 - LED 핀에 LOW 값을 넣어 줍니다. LOW 값을 넣는다는 것은 전압을 가하지 않는다는 의미이므로 LED에 전류가 흐르지 않게 되고 따라서 LED가 꺼지게 됩니다.


4. 결과

결과는 연결된 회로의 LED가 1초 동안 켜졌다가 1초 동안 꺼졌다가를 반복해야 합니다.

그림 4 : 실제 연결한 회로
[그림 4 : 실제 연결한 회로]

+ Recent posts