top of page

외부 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를 태워먹기도 하는군요...

bottom of page