본문 바로가기
Arduino/AVR/2. Arduino프로젝트

아르두이노 방갑다 - hello world!

by pepsiman 2009. 4. 16.

설명도 안읽어 보고 대충 USB 케이블부터 연결했다.
드라이버 설치화면이 떠서 보니 다운 받은 개발 환경의 \arduino-0015\drivers\FTDI USB Drivers 폴더가 있어서 드라이버설치
문제는 이제 부터였다.

개발환경(arduino.exe)을 실행하고 대충 blink 예제(스케치)를 불러왔는데...
어떤게 컴파일 버튼인지 모르겠네...에라 모르겠다 아무거나 눌러보자 .. 플레이 버튼을 누르니 컴파일은 된다...

하드웨어로 프로그램을 다운 받아야하는데 어떤거지....
버튼을 보니 Upload to I/O board 라는 버튼이 있다 [ ->| ] 이렇게 생긴....
다운로드가 아니고 업로드구나.....^^a
엥 ...눌렀으나 오류가 난다. 설명 보자....ㅡㅡ;;;

장치관리자에서 USB Serial port 가 COM 몇번 포트로 잡혀 있는지 확인하고
tool / serial port / com? 에서 똑같이 설정한다.
tool / Board 메뉴에서 자신의 보드를 선택한다.
그리고 다시 업로드....

avrdude: stk500_get sync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

이런 시뻘건 오류가 뜬다....무서워라.....^^;

한참 씨름하다 다시보니 보드를 잘못 설정했다.
내 보드가 Duemilanove인데 처음 arduino를 실행하니 Arduino Diecimila or Duemilanove w/ATmega168 이 선택되어 있었는데 Duemilanove만 보고 어라 자동인식(자동은 개뿔ㅡㅡ+)하네 하고 뒤에 168을 확인 안한거다. 너무 많은걸 기대했나보다.
내 보드는 Arduino Duemilanove w/ATmega328 이다.
설정을 다시 하니 업로드가 잘 된다.


개발 환경은 너무 심플하다. 비주얼 스튜디오 쓰다 이거 쓰면 완전 노트패드 수준이다...
하다못해 에러 문구 복사는 가능해야 검색이라도 해볼텐데 그것도 안된다. ㅜㅜ

blink 예제

int ledPin = 13;                // LED connected to digital pin 13

void setup()                    // run once, when the sketch starts
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop()                     // run over and over again
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(1000);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(1000);                  // waits for a second
}




보드 구성
led 의 긴 다리(+)를 13번핀에 짧은 다리를 GND에 꽂는다.
원래는 저항을 같이 연결해야 led가 타지 않는데 13번 핀은 내부적으로 저항이 들어가 있는것 같다.
또 한가지 보드 내부에 있는 led하나가 똑같이 동작하는 걸 보니 13번 핀에 연결되 있는것 같다.
즉 (arduino Duemilanove 보드의 경우) 아무것도 연결하지 않아도 보드만으로 위 소스의 결과를 확인가능하다.

 

arduino 설정 순서
1. http://arduino.cc/en/Main/Software 에서 개발 환경 다운로드 후 아무 폴더나 압축을 푼다.
2. arduino 보드를 연결, 장치인식 후 \arduino-0015\drivers\FTDI USB Drivers 경로에서 드라이버 설치
3. arduino.exe 실행
4. 장치관리자에서 USB Serial port 가 COM 몇번 포트로 잡혀 있는지 확인
5. arduino(개발환경)메뉴에서 tool / serial port / com? 에서 똑같이 설정한다.
6. tool / Board 메뉴에서 자신의 보드를 선택한다(328인지 168인지 정확히 확인하자 ^^;)
7. file / sketchbook / examples / digital / blink 를 연다.
8. Upload to I/O board 버튼을 누른다. [ ->| ]
9. 결과확인