이전 포스트에선 예제 코드를 이용해서 아두이노 보드에 내장된 LED를 동작시켰다.
이번에는 직접 LED를 연결하고 코드를 작성해보자.
그럼 먼저 아두이노 보드에 LED를 연결해야 한다.
그런데 LED라는 말은 많이 사용하는데, 이 LED가 어떤 말의 줄임말인지 잘 모르는 경우가 많다.
그래서 LED에 대해 간단히 설명하고 사용해보자.
LED는 지금 우리 주변에서 가장 흔히 보이는 조명 장치 중 하나지만 사용된 역사는 그렇게 오래되지 않았다.
LED는 반도체를 연구하면서 발견된 소자 중 하나로 1900년대 초에 다이오드(Diode)를 연구하는 과정에 전류가 흐르면 빛이나는 것을 발견했고, 이 원리를 이용해서 만들어진 전자 소자다.
그래서 이름도 Light Emitting Diode(발광 다이오드)라고 하고 줄여서 LED 라고 부르는 것이다.
여기서 말하는 다이오드는 반도체 물질로 만들어진 대표적인 전자소자로 한쪽 방향으로만 전류가 흐를 수 있게 만든 소자를 말한다.

위의 그림에서 왼쪽이 실제 다이오드의 모습을 그림으로 표현한 것이고 오른쪽이 다이오드를 기호로 표시한 것이다.
이때 다이오드는 애노드(Anode)라고 되어 있는 곳에서 캐소드(Cathode)라고 되어 있는 곳으로만 전류가 흐를 수 있게 하고 반대 방향으로 흘러오는 전류는 막는 역할을 한다.
간단히 요약하자면 기호를 보면 화살표 방향으로 전류가 흐르고 화살표 반대 방향에서 전류가 흐르면 기호에 그려진 것처럼 벽에 막혀서 흐르지 않는다라고 생각하면 되겠다.
LED는 이 다이오드에서 전류가 흐르면 빛이 나는 특성을 가진 전자 소자인 것이다.

그래서 기호를 보면 다이오드와 같은 기호에서 빛이 난다는 특성을 별도로 표시하고 있다.
이렇게 발견된 LED는 사실 오랫동안 제대로 사용되지 못했다.
초기에 상용화된 LED는 색상이 빨간색이었고 이후에 발견된 색상도 노란색, 초록색이라 사용처가 명확하지 않았다.
그런데 1990년대 일본의 한 연구진이 파란색 LED를 개발하면서 상황이 바뀌었다.
우리가 LED 이전에 사용하던 조명 장치에는 형광등이 있는데, 이 형광등은 유리관 안에 형광체라는 특정한 빛을 받으면 다른 색의 빛을 내는 물질을 사용한 조명이다.
이때 사용한 형광체를 파란색 LED에 접목하면 흰색 빛을 만들 수 있는 것이다.
우리가 흔히 아는 빛의 삼원색이 있는데, 이 빛의 삼원색을 따져보면 파란색 LED에 노란색 형광체를 입히면 흰색을 만들 수 있다. (이때 노란색은 빨간색과 초록색 빛이 합쳐진 색이다.)
정확히는 노란색 형광체를 넣으면 파란색 빛을 받아 이 형광체가 노란색으로 발광하는데, 이때 남아있는 파란색 빛과 만나 흰색 빛이 되는 것이다.
현재의 LED 조명 장치 대부분은 이 원리를 이용해 만들어지고 있다.
그래서 우리가 흔히 말하는 블루라이트도 이 원리에서 파란색 성분 때문에 발생하는 것이다.
참고로 그럼 이렇게 생각할 수 있다.
그럼 왜 빨간색 LED나 노란색 LED에는 동일한 방식으로 형광체를 입히지 않았나라는 의문이다.
그렇게 생각할 수 있지만, 이건 좀 깊은 관점에서 보면 불가능한 이야기다.
간단히 설명하면 우리가 흔히 이야기하는 가시광선이라는 사람이 눈으로 볼 수 있는 빛이 있는데, 이 빛에는 다양한 색상이 포함되어 있다.
이 빛을 프리즘에 비춰보면 색상이 나뉘는데 이때 나뉜 색상이 보통 무지개 색으로 보이게 된다.
그리고 무지개색은 빨, 주, 노, 초, 파, 남, 보로 표현된다.
이 순서를 바탕으로 이야기하자면 빨간색 빛부터 보라색 빛까지 순서대로 빛이 가지고 있는 에너지의 차이가 존재한다.
빨간색이 가장 낮은 에너지를 가지고 있고 보라색이 가장 큰 에너지를 가지고 있는 것이다.
그리고 형광체는 일반적으로 높은 에너지의 빛을 낮은 에너지의 빛으로 변환하기 때문에 에너지가 낮은 빨간색 LED로는 초록색, 파란색 빛을 만들어내는 것은 어렵다.
(참고로 형광등은 유리관 내부에 수은 기체를 넣어 자외선 즉, 보라색 바깥 쪽 빛을 만들어 내서 빨간색, 초록색, 파란색 형광체와 반응시켜 흰색 빛을 만들어 낸다.)
이러한 기술로 2000년대부터 백색 LED가 본격적으로 보급되기 시작했고, 이후 높은 효율과 긴 수명을 가진 LED는 기존의 형광등과 백열등을 빠르게 대체하며 현재 가장 널리 사용되는 조명 기술이 되었다.
여기까지 간단하게 LED가 무엇인지에 대해 알아 보았으니 이번에는 LED를 직접 다뤄보자.
우리가 흔히 보는 LED는 조명으로 역할을 하는 모습을 많이 볼 것이다.

그림과 같이 거실등이라던가 아니면 정문에 있는 센서등과 같은 형태로 많이 접하게 된다.
그리고 아마 이러한 LED등이 고장나서 안을 열어 본 사람들도 있을 것이다.
안을 열어보면 작은 LED들이 일정한 간격으로 다닥다닥 붙어있는 것을 볼 수 있다.

내부의 LED를 보면 그림과 같은 LED가 부착되어 있는데 실제로는 크기가 상당히 작다.
뭐, 우리가 사용하는 우노 보드만 봐도 ‘Blink’ 예제로 동작하는 LED는 그 크기가 크지 않다.
하지만 아두이노 보드에 연결해서 사용하는 LED를 찾아보면 이런 LED가 아니라 다른 형태의 LED가 검색된느 것을 볼 수 있다.

그림과 같은 LED인데 둥근 형태로 튀어 나온 모양으로 생겼다.
아마 크리스마스 트리 같은 곳에서 본적이 있을 것이다.
아무튼 형태는 달라도 이것도 LED고 앞의 조명에 달린 것도 LED라고 부른다.
다만 이 LED들은 납땜 형식에 따라 구분 지어 부른다.

그림에 보이는 것처럼 전자기판을 관통해서 납땜하는 방식을 DIP(Dual In-line Package) 타입이라고 부르고, 전자기판 위에 올려 놓고 납땜하는 방식을 SMD(Surface Mount Device) 타입이라 부른다.
실제로는 납땜 방식보단 패키지 방식에 따라 분류되지만 지금은 이정도만 알아두자.
그리고 일반적으로 SMD 타입은 전자기판 위에 올려 놓는 방식이라 대량 생산에 유리한 장점과 소형화가 가능한 장점이 있고, DIP 타입은 크기는 SMD 타입에 비해 크지만 실험을 할 때 편리하고 관통해서 납땜하는만큼 기계적 강도가 높아 진동에 강하다는 장점이 있다.
그래서 대부분 실험으론 DIP 타입을 많이 사용하고 양산을 할 땐 SMD 타입으로 변경해서 사용하는 경우가 많다.
우리가 사용할 LED도 마찬가지다.
LED를 아두이노 보드에서 사용하려면 LED를 전선을 통해 아두이노 보드에 연결해야 하는데 SMD 타입은 납땜을 통해 붙여서 사용하는 거라 사용이 힘들다.
그래서 DIP 타입 LED를 사용해서 아두이노 보드의 데이터 핀에 연결해 사용하게 되는 것이다.
그럼 이번엔 DIP 타입 LED를 좀더 자세히 알아보자.

그림처럼 DIP타입 LED는 일반적으로 다리 길이가 다르게 표현되는데 그건 각 다리의 역할을 표현하기 위한 경우가 많다.
긴 다리가 +극, 짧은 다리가 -극을 뜻하는데 위에서 이야기한 다이오드에 빗대어 말하자면 긴 다리가 애노드, 짧은 다리가 캐소드에 해당한다.
그래서 긴 다리로 전류를 흘려주면 짧은 다리로 전류가 흘러 나오면서 LED가 켜지는 구조다.
그리고 만약 LED의 다리를 실수로 잘라서 구분이 가지 않게 되었다면 위의 그림처럼 LED의 머리 안쪽을 살펴보자.
머리 안쪽을 보면 전극이 있는데 서로 크기가 다른 것을 알 수 있다.
전극의 크기가 작은 곳이 애노드, 큰 곳이 캐소드에 해당한다.
자, 이렇게 우리가 사용할 LED에 대해서도 알아보았다.
이제 이 LED를 연결해야 하는데 어떻게 연결해야 할까.
우리가 이전 포스트에서 이야기 했지만 일반적으로 아두이노 보드의 데이터 핀에선 전기를 출력하거나 받아들이는 역할을 한다.
그리고 전기의 흐름을 나타내는 ‘전류’는 +극에서 -극으로 흐른다.
(실제론 좀 더 다른 이야기가 있지만 여기선 전류의 방향만 이야기하자.)
그래서 보통 아두이노의 데이터 핀을 LED의 +극인 긴 다리에 연결하게 된다.
그럼 LED의 -극은 어디에 연결하면 좋을까.
전기라는 것은 흐르려면 하나의 경로를 만들어야 한다.
정확히는 전원에서 전류가 나온다면 그 전류는 다시 전원으로 돌아와야 한다는 말이다.
건전지를 예로 들면 건전지의 +극으로 나간 전류는 건전지의 -극으로 돌아와야 한다는 것이다.
만약 건전지의 +극에서 -극으로 전선이 연결되어 있지 않다면 전류는 흐를 수 없다.
이런 것을 폐회로라고 하는데 이런 폐회로가 구성되어야지 전류가 흐르게 된다.
LED도 마찬가지다.
LED가 켜지려면 전류가 흘러야 하는데 그러기 위해선 LED의 +극으로 전류가 들어와서 -극으로 나가야 한다는 것이다.
그리고 -극으로 나온 전류는 전원의 -극으로 들어가야 된다.
이 흐름이 만들어지지 않으면 LED는 켜지지 않는다.
그럼 아두이노 보드에서 -극은 어디에 있을까.
아두이노 보드의 선을 연결할 수 있는 양 쪽 데이터 핀 쪽을 보면 따로 -극이라고 표현된 곳이 없다.
그럼 어디에 연결할까.
바로 GND다.
GND는 보통 공통 접지라고 하는데 자세한 내용은 이후 다른 포스트의 기초 전기전자에서 설명할 것이다.
지금은 이 GND가 전기의 -극이라고 생각하면 된다.
마찬가지로 아두이노 보드에 표시된 5V, 3.3V 라고 되어진 곳은 각각 5V의 +극, 3.3V의 +극이라고 생각하면 되겠다.
이러면 LED를 어떻게 연결해야 하는지 알 것이다.
긴 다리는 아두이노 보드의 데이터 핀으로, 짧은 다리는 아두이노 보드의 GND로 연결해야 한다.
그런데 연결하려고 보면 또 문제가 생긴다.
이번에는 도대체 어떻게 연결하냐라는 것이다.
LED의 다리를 벌려서 연결한다고 보면 LED를 연결할 수 있는 곳이 한정적이다.
그래서 이런 경우 전자 소자를 쉽게 연결할 수 있게 도와주고 납땜없이 전자 회로를 구성할 수 있는 도구가 필요하다.
그 도구가 바로 브레드보드(Breadboard)다.
우리 말로 하면 빵판인데 어디서 듣기론 옛날 빵을 만들던 판과 비슷하다라고 해서 빵판이 되었다라는 말이 있다.

브레드보드는 위의 그림과 같이 생겼는데, 특징은 가운데 긴 홈을 기준으로 양 옆에 있는 5개의 홀이 하나로 연결되어 있다는 것이다.
간단히 말해 브레드보드의 ABCDE로 표시된 홀이 연결되어 있고 FGHIJ로 표시된 홀이 연결되어 있는 것이다.
그리고 양 옆에 + – 가 표시되어 있는데 이 부분은 세로 한 줄이 모두 연결되어 있다.
참고로 여기는 표기가 + – 가 되어있을 뿐 +극 -극 전기가 나오는 곳이 아니라는 것을 참고하자.
그래서 전자 소자를 연결한다면 브레드보드에 그림과 같이 숫자를 기준으로 연결해야 한다.

이렇게 브레드보드의 사용법에 대해 알아보았으니 이번에는 연결하는 방법에 대해 알아보자.
브레드보드에 LED를 꽂으면 끝이 아니다.
거기서 다시 아두이노 보드로 전선을 연결해야 동작을 할 수 있는 것이다.
이때 사용하는 전선으로 대부분 점퍼선(Jump Wire)를 사용하게 된다.
그리고 이 점퍼선은 크게 3종류가 있다.

위에 보이는 것처럼 M-M선 M-F선 F-F선이 있고 우리 말로는 각각 수-수, 암-수, 암-암 선이라고도 부른다.
이 점퍼선들을 이용해서 브레드보드와 아두이노 보드를 연결하게 되는 것이다.
사실 우리가 거의 사용하는 것은 수수선과 암수선을 많이 사용할 것이다.
그럼 이제 연결해보자.
LED의 +극은 아두이노 보드의 2번, -극은 GND로 연결해보자.

위의 그림이 연결한 모습인데 왼쪽은 그림으로 표현한 것, 오른쪽은 실제 연결한 모습이다.
(그림으로 표현한 것은 팅커캐드를 이용했다. 만약 아두이노 보드 없이 공부하고 싶다면 팅커캐드를 이용하는 것도 좋다.)
사실 -극은 GND로 바로 연결해도 되지만 여기선 브레드보드의 사용법을 익히기 위해 바로 연결하지 않았다.
그리고 연결할 데이터 핀은 2번이 아니라도 상관없지만 0번과 1번에는 연결하지 말자.
그 이유는 다른 포스트에서 좀 더 자세히 이야기할 것이다.
연결이 끝났다면 이번엔 코딩을 해보자.
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}코드 1은 이전 포스트에서 한 ‘Blink’ 예제에서 LED_BUILTIN 대신 숫자 2로 변환해준 코드다.
그래서 동작도 ‘Blink’ 예제와 마찬가지로 1초간 켜지고 1초간 꺼지는 동작을 반복하게 된다.
그리고 만약 코드 1에 사용된 함수를 잘 모르겠다면 이전 포스트의 설명을 다시 한 번 보고 오자.
( https://polnalab.com/arduino/basic/384/ )
