2013. 4. 30. 15:21

하드웨어를 공부하면서 보니 대부분의 마이컴의 처음은 마이컴혼자서 LED를 깜박거리게 하는 것이더군요.

소프트웨어를 처음공부하면 제일 먼저 하는 것이 "Hello World"를 띄우는 것처럼 말이죠.


1. 아두이노 프로그램 설치하기
아두이노 프로그램은 아두이노사이트에서 무료로 받을 수 있습니다.

아두이노 1.0.4 프로그램 다운로드 - 윈도우 버전

(참고 : 아두이노 다운로드 페이지)

 

자신의 운영체제에 맞는 프로그램을 다운로드하고 압축을 푼후 'arduino.exe'를 실행 시킵니다.

 

 


2. 스케치 만들기
아두이노 보드에 펌웨어를 만들고 올리는 툴인 아두이노 프로그램에서 프로젝트단위(이걸 프로젝트로 봐도 될지 모르겠네요.)를 스케치라고 합니다.

 

펌웨어라는건 마이컴을 동작 시키기 위해 들어있는 프로그램이죠.

보통 롬같은 곳에 기록을 해서 컴퓨터와 연결되지 않아도 동작을 하거나 컴퓨터가 연결되어서 신호를 주고 받거나 하는 프로그램입니다.

 

어찌됬건 펌웨어를 올리려면 스케치를 만들어야 합니다.

 

파일 > 새파일

을 해도 되고 비어있는 스케치가 열려있다면 그냥 작성하셔도 됩니다.


3. 설정하기
일단 아두이노 보드를 USB로 연결하고 '장치관리자'를 확인해 봅니다.

 

 

 

전 'COM7'이네요.

 

도구 > 시리얼 포트

에 들어가 위에서 확인한 포트를 선택 합니다.

 

그리고

도구 > 보드

에 들어가 연결한 아두이노 보드를 선택 합니다.



4. 펌웨어 작성하기
아두이노의 펌웨어를 작성할때는 'void setup()'와 'void loop()'는 무조건 있어야 합니다.

 

'void setup()'는 프로그램의 생성자와 같은 역활을 합니다.

 

'void loop()'는 게임루프와 같은 역활을 합니다.

계속 반복되는 코드가 들어가게 되죠.

 

이제 핼로월드급의 코드인 LED를 끄고 켜는 코드를 작성해 봅시다.

 

// Example 01 : Blinking LED
//
// Copy and paste this example into an empty Arduino sketch

#define LED 13   // LED connected to
                // digital pin 13

void setup()
{
  pinMode(LED, OUTPUT);    // sets the digital
                           // pin as output
}

void loop()
{
  digitalWrite(LED, HIGH);   // turns the LED on
  delay(3000);               // waits for a second
  digitalWrite(LED, LOW);    // turns the LED off
  delay(1000);               // waits for a second
}

(참고 : 메이크존 - Getting Started with Arduino)

 

이 코드에서 신경써서 봐야 될것이 몇가지 있습니다.

 

pinMode(LED, OUTPUT);

아두이노보드에 사용할 핀의 모드를 지정하는 함수입니다.(우리는 13번 핀을 사용하기 때문에 디파인으로 13을 선언해 두었습니다.)

(참고 : [Arduino] 아두이노에서 핀모드 지정하기 - pinMode)

 

digitalWrite(LED, HIGH);

지정한 포트에 전기를 줄지 말지를 정하는 함수입니다.

HIGH는 전기를 넣어 주고 LOW는 전기를 끊습니다.(끊는다는 표현이 좀 이상하긴 한데;;)

 

나머지는 c와 같으니 설명이 필요 없겠죠?



5. 업로드 하기
이제 컴파일후 아두이노보드에 펌웨어를 업로드 합시다.

 

 


위코드를 그대로 복사/붙여넣기 했으면 컴파일에러는 나지 않습니다.

업로드시 에러가 난다면 usb연결을 확인하시고 포트와 보드설정이 정확하게 되어있는지 확인 합시다.


6. 보드 세팅하기

이제 led를 보드에 꼽아야 하는데.....

led의 짧은 쪽은 gnd에 긴쪽은 13번에 꼽습니다.

 

그냥 꼽으면.....led수명이 팍 줄어 듭니다 ㅋㅋㅋㅋㅋ(눈도 엄청 아픔;;)

브레드보드와 저항(1k)이 있으면 led와 구성하셔도 됩니다.

 

 

사진에는 잘 안보이는데 왼쪽이 음극(짧은 다리)입니다.

음극에 하얀색선이 연결되어 있습니다.

저항은 음극에 달아 줍니다.


7. 확인하기

펌웨어가 제대로 업로드 됐다면 바로 LED가 깜박 거립니다.

 

 


마무리

avr때문에 했던 공부들이 아두이노보드를 만지면서 빛을 보네요 ㅡ.-;;

결국 avr은 포기했지만 아두이노보드는 잘되길 바라야죠. ㅎㅎ