외부 LED 깜박이기
아두이노로 맨 처음 만들어 보는 것이 일반적으로 LED를 깜박이는 것입니다.
아두이노 보드에 LED 연결하고 스케치프로그램을 이용해서 몇줄 코드 작성하면 동작합니다.
이 꾀임(?)에 빠져서 자꾸 매달리게 되었지요.
아래쪽 이미지는 3D 프린터로 등대(Lighthouse)를 출력한 후에 고휘도 LED를 2개 장착해서 제어해본 것입니다.
어두워서 잘 안보이지만 어둡게 해 놓고 보면 아주 근사합니다.
어렵지는 않지만 실제는 아두이노 Uno 보드에 Wifi 쉴드를 장착하고 스마트폰으로 ON/OFF를 제어한 겁니다.
■ 기초학습
스케치 사용법을 알아야 합니다. 스케치는 아주 단순하게 두 부분으로 구성되어 있습니다. setup()과 loop()입니다.
아래 주석을 달아 놓은 것처럼 setup()은 딱 한번만 실행되는 반면 loop()는 종료할 때까지 반복되는 구조입니다.
참고로 아래에 사용된 함수 사용법은 http://arduino.cc/en/Reference/HomePage에서 확인할 수 있습니다.
스케치를 실행시키면 다음과 같이 나옵니다.
void setup()
{
// 이부분에 적힌 코드는 딱 한번만 실행됩니다.
}
void loop()
{
// 이부분에 코드를 적으면 반복적으로 계속 실행됩니다.
}
■ 하드웨어 준비
① GND와 13번 Pin에 LED 꼽습니다.
(LED는 긴 다리가 + 이므로 13번 Pin에 긴 다리를 꼽고, 짧은 다리는 GND에 연결)
하지만 저항 없이 이렇게 LED를 보드에 직접 연결하는 것은 좋지 않은 방법입니다.
참고) 0~13번 Pin은 디지털 입출력기능을 한다. 디지털이란 0 또는 1, 전원이 ON 또는 OFF인 두가지 상태 만을 의미합니다. 이에비해 아날로그는 0.25, 0.7 이런 것들입니다.
혹시 위의 이미지를 만드는 방법이 궁금하시다면 인터넷에서 fritzing을 검색해 보세요.
■ 소프트웨어 준비
① 아래 코드를 작성합니다.
int ledPin = 13; // 전압이 출력될 핀번호를 변수에 설정한 것으로 1~13번 중 아무것이나 상관없습니다.
// 0번 Pin은 안됩니다. 아마도 다른 역활을 하나봅니다.
// 물론 변수명을 a, b, bluePin이라고 해도 상관없습니다.
void setup()
{
pinMode(ledPin, OUTPUT); // 핀의 출력 방향을 OUPPUT으로 설정해야 5V를 내보낼 수 있습니다.
}
void loop()
{
digitalWrite(ledPin, HIGH); // 13 번 핀에 5V 출력
delay(1000); // 1000ms(1초) 대기, 수치를 바꿔보면 깜박임을 조절할 수 있습니다.
digitalWrite(ledPin, LOW); // 13번 핀에 5V 출력 끔
delay(1000); // 1000ms 대기
}
② 스케치의 메뉴에서 [스케치] - [확인 / 컴파일] 을 눌러 이상유무를 확인합니다.
③ 업로드를 통해 해당 코드를 아두이노 보드에 옮겨서 테스트합니다.
주의) 잘못 연결하다보니 LED를 태워먹기도 하는군요...