반응형

[아두이노 실습] 내부 LED 깜박이기 & 외부 LED 연결

728x90
반응형

이번 글에는 내장 LED를 깜빡이게 하는 실습 외부 LED어떻게 연결하고 제어 하는지에 대한 실습을 진행하겠습니다.

 

이전 글에서 제가 내장 LED를 깜박거리게 하는 스케치를 작성해보라고 말씀 드렸었습니다.  이전 글에서의 2가지 실습을 합치면 된답니다다시말해서, LED를 켜고 끄는 과정 사이에 잠깐의 딜레이만 집어 넣으면 됩니다. 이번 실습 시간에 그 실습을 해보겠습니다.

 

스케치를 작성해 보겠습니다. 실습에 사용될 내장 LED는 내부적으로 13번 디지털 핀과 연결되어 있어서, 13번 디지털 핀을 5볼트 출력으로 만들면 LED가 켜집니다. 그래서 13번 핀과 OUTPUT으로 pinMode를 설정합니다. LED를 켜려면 digitalWrite에서 “HIGH”를 사용하고, 끄려면 “LOW”를 사용하면 됩니다. 켜고 이어서 바로 끄고 하면 아두이노 속도가 너무 빨라서 우리 눈으로 깜박거리는 것을 감지할 수가 없습니다. 아두이노 MCU16MHz 클럭을 사용합니다. 따라서 시차를 두고 켜지고 꺼지게 해야 우리 눈으로 볼 수 있습니다. 시차를 만들어주는 명령은 “delay”입니다. Delay는 다음 명령으로 넘어가는 것을 괄호 안에 있는 밀리 초(second)만큼 지연시키라는 명령입니다. 여기에서 사용한 delay(1000)1000 밀리 초, 1초 후에 다음 명령을 수행하라는 뜻입니다.

 

, 이제 스케치를 업로드 합니다. 업로드 완료라는 글씨가 IDE에 나오는 동시에 보드에 있는 LED1초에 한 번씩 깜박거리는 것을 볼 수 있습니다. 정지시키는 방법은 몇 가지 있는데 지금은 그냥 USB 선을 뽑으면 됩니다. 한번 업로드 된 스케치는 새로운 스케치를 업로드 하기까지는 영원히 MCU에 저장되어 있어 언제든지 전원만 공급하면 LED를 깜박거리게 합니다.

 

 

이번 글의 두 번째 실습은 외장 LED컨트롤 하는 실습입니다. 아두이노 사용하는 목적은 외부에 있는 LED 또는 모터와 같은 액츄에이터 컨트롤하는 것입니다. 그래서 이번 실습부터는 몇몇 준비물들이 필요합니다. 이번 실습에서 점퍼 케이블 2개가 필요하겠습니다. 한 개는 아두이노 보드에서 2번 디지털 핀과 브레드보드 연결할 것이고, 나머지 한 개는 브레드보드 아두이노 보드Ground(GND)를 연결할 것입니다.

 

다음으로 LED1개 필요합니다. LED의 극성을 유념해야 합니다. 리드(lead) 선이 긴 쪽이 positive, 짧은 쪽이 Negative 극 입니다. 우리는 이 실습에서 회로를 구성할 때, 리드선이 긴 쪽을 2번 디지털 핀 쪽에, 리드선이 짧은 쪽을 저항(Resistor) 쪽에 연결하겠습니다.

 

그리고 저항(Resistor) 필요합니다. 이것은 LED를 보호하기 위함입니다. LED의 저항이 거의 0이기 때문에 LED아두이노에게 짧은 회로로 보여집니다. 저항과 LED의 조합하면 새로운 저항이 되는데, 이 때 옴의 법칙을 이용하면 LED & 저항에 흐르는 전류를 계산할 수 있습니다. 아두이노 허용하는 전류의 양을 조절하기 위해서 저항의 크기를 잘 선택해야 합니다. LED 자체는 저항의 거의 0 이므로 무한한 양의 전류를 통과시킬 수 있어 아두이노회로를 손상시킬 수 있습니다.

마지막으로 브레드보드 필요합니다. 브레드보드 power rails Terminal strips로 구성되어 있습니다. 각각의 power rail수평하게 내부적으로 연결되어 있습니다. 반대로 각각의 terminal strip은 내부적으로 수직으로 연결되어 있습니다.

 

그래서 외장 LED를 컨트롤하는 회로를 구성하자면 그림과 같습니다. 우리는 2개의 점퍼 케이블, LED, 저항, 그리고 브레드보드가 필요합니다. LEDpositive 극을 2번 디지털 핀 쪽에 연결합니다. 반대로 negative 쪽은 220 저항에 연결하고 저항의 반대편을 아두이노 보드 Ground(GND)에 연결하여 전류가 흐를 수 있게 합니다. 저항은 극성이 없기 때문에 어느 방향으로 연결해도 됩니다. 초록색 선은 브레드보드의 내부 연결 상태로, 초록색 선상의 모든 구멍들은 전기적으로 연결되어 있음을 의미합니다. 따라서 내부 연결상태를 고려하여 회로를 구성해야 합니다.

 

 

이제 스케치를 작성해보겠습니다.  앞서 실습한 스케치와 아주 유사합니다. Setup 함수에서 2번 디지털 핀을 OUTPUT으로 설정합니다. loop함수에 digitalWrite 함수에 High를 설정합니다. 이 때 LED가 켜질 것입니다. 다음에 Delay0.5초 주고, digitalWrite 함수에 Low를 설정함으로써 LED를 끕니다. Loop 함수는 계속 반복하므로, 이 프로그램은 LED0.5초마다 깜박이게 합니다.

 

그래서 이제 다 작성된 스케치컴파일 합니다. 컴파일을 할 때는 컴퓨터와 아두이노 보드가 서로 연결되어 있지 않아도 됩니다. 그러나 업로드를 할 때는 반드시 컴퓨터와 아두이노 보드가 서로 연결되어 있어야 합니다. 아두이노 보드에 업로드하면 외부 LED0.5초마다 깜박거리는 것을 확인 수 있습니다.

 

이번 글에서는 내장 LED외장 LED를 각각 깜박이는 실습을 진행했습니다. 다음강의에서는 빛의 양을 측정하는 실습을 진행하겠습니다.

728x90
반응형

댓글

Designed by JB FACTORY