갑자기 이상한 에러가 뜨면서 이미지 업로드가 안된다.

Binary sketch size: 1018 bytes (of a 32256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


첫번째 문제)

usb 뺏다가 다시 켜보고, reset 했봤는데도 안된다.

com 포트를 확인하니. 헉! com3로 바뀌어졌다.
처음 설치할 때는 com1 serial port였는데...

아두이노에서 tools->serial port 에서 com3 로 바꾸고 업로드 버튼을 누르니.

"Done Uploading"이 되었다.

아두이노 보드와 연결하고 나서
웹을 찾아보니 괜찮은 링크가 있었다. 문제 생기면 봐야지.
http://www.me.umn.edu/courses/me2011/arduino/technotes/debug/arduinodebug.html


두번째 문제)
이번에 또 not in sync 에러가 난다.
컴퓨터도 끄고 다시 재설치해도 uload 실패다.

그래서, 두가지를 했다.

1. 아두이노와 빵보드로 연결된 모든 선을 다 뺏다.
2. tools->burn bootloader ->w/ aduino  를 선택한다.


이렇게 하니 잘 된다.

Posted by 김용환 '김용환'

댓글을 달아 주세요

  1. 안녕하세요. 2014.01.30 18:45  댓글주소  수정/삭제  댓글쓰기

    burn bootloader ->w/ aduino 를 선택한다. 에서요. w/ aduino를 어떻게 들어가나요? 그냥 지가 알아서 부트로더 굽는중 에러발생 이러던데요? 어떻해야죠?

  2. Favicon of https://instructables.tistory.com BlogIcon ElectricShock 2020.11.11 21:46 신고  댓글주소  수정/삭제  댓글쓰기

    avrdud: stk500_disable(): 에러는 어떻게 생기는건지 모르겠어요 ㅠ


플러그하우스에서 아두이노 스타터 킷트를 구매했다.

아두이노 Uno와 usb, 빵판, 저항, 스위치 등등 간단하게 가지고 놀만한 것으로 있다.



아두이노 우노이다.



아두이노 UNO 드라이버가 있는 아두이노 소프트웨어를 먼저 설치해야 한다.
http://www.arduino.cc/en/Main/Software

나는 윈도우라서 윈도우를 선택했다.. 심심할 떄 소스도 봐야지.. 소스도 다운로드.



zip 파일을 받아서 PC에 적당히 넣어둔다.

아두이노를 usb로 pc와 연결한다.
윈도우에서는 장치 드라이버가 없어서 인식을 당연히 못해서. 장치 관리자로 접속하면
기타 장치에 Arduino Uno 라고 하는 아이콘에 ?가 발생한다.



드라이버 업데이트를 pc에 설치한 아두이노 디렉토리의 drivers를 향하게 하면, 업데이트 된다.
? 나 ! 이런게 나오지 않으면 다음으로 넘어간다.



아두이노 사로부터 다운받은 arduino.exe를 실행해보고, 적당히 잘 되고 있는지 본다.




예제중에 examples/1.Basics/Blink/Blink.pde 파일을 연다.
(내용은 워낙 단순하다.. setup과 loop 라는 게 있고, 설정과 동작에 대해서 추상화된 api가 있다고 생각하면 도니다.)



그리고 Digital IO의 13번, 12번에 LED 하나를 둔다.
13번에 LED의 긴 다리를 넣고, 12번에 짧은 다리를 연결한다.
(사실은 짧은 다리는 12번 대신 GND에 넣어도 된다.)

그리고,  Upload 버튼을 실행한다.


Upload 버튼

 

버튼 중에 플레이 버튼은 verify 버튼이라고 하는데. 문법체크를 위한 컴파일 버튼이다.


오타를 일부터 내보면. 아래와 같이 컴파일 에러가 뜬다.

Blink.cpp: In function 'void setup()':
Blink:10: error: 'd' was not declared in this scope
Blink:11: error: expected `;' before '}' token



컴파일된 바이너리가 아두이노 UNO로 이동하게 되고, 다음과 같이 LED가 껌뻑껌뻑하는 것을 볼 수 있다.






Posted by 김용환 '김용환'

댓글을 달아 주세요


아두이노을 가지고 balnace를 잡으며 2바퀴로 굴러가는 ArduRoller를 개발

http://blog.makezine.com/archive/2011/07/arduino-based-2-wheel-balance-bot.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+makezineonline+%28MAKE%29


저자가 공개한 프로토타입은 다음과 같다.

  • Chassis: laser cut 2.7mm bamboo ply (Ponoko); various M2.5 machine screws from Amazon; Instamorph low-melt-point thermoplastic to fill in the gaps.
  • Brains: 1 x Arduino Uno
  • Motor driver: 1 x Sparkfun Ardumoto
  • Motors: Sparkfun 2 x 24:1 gearmotor
  • Wheels: 1 set Sparkfun 70mm — repaired with Instamorph after they cracked around the axle
  • Gyro: 1 x ADXRS613 (Sparkfun breakout) mounted at the axis of rotation
  • Accelerometer: 1 x ADXL203CE (Sparkfun breakout) mounted at the axis of rotation
  • Batteries: 2 x 3.7V Li-poly 850MAh (Sparkfun)
동영상은 아래 주소에서 확인
http://www.flickr.com/photos/fasaxc/5944650602/in/set-72157627058612467

소스는 아래 github로 공개. eclispe 에서 개발했다고 함..
https://github.com/fasaxc/ArduRoller


아두이도 기기판 뒷면으로 일본 지하철을 그리다.
http://blog.makezine.com/archive/2011/07/arduino-mega-shield-tokyo-needlework-metro-map.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+makezineonline+%28MAKE%29



밀워키 Maker (잡지) 퍼레이드에서 아두이노판을 끌고 나왔다 ^^
http://blog.makezine.com/archive/2011/07/milwaukee-makers-on-parade.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+makezineonline+%28MAKE%29

Posted by 김용환 '김용환'

댓글을 달아 주세요


http://jdesbonnet.blogspot.com/2011/05/arduino-to-android-io-on-cheap-aka-poor.html



wifi 대신 HTC 폰에 있는 magnetometer 센터를 이용하여 아두이노에서 연결된 1cm 직경의 코일 안테나에 자기력을 만들어 통신을 할 수 있는 데모이다. 7bps라는 엄청난 열악한 bandwidth에서 통신.





핀 13번에 wave를 쏜다. 아두이노는 단파이기 때문에 송신만 할 수 있다.


코드는 간단하다. "Hello World!"라는 단어를 1.4초 간격으로 데이터를 전달한다.

#define BIT_DELAY 140

int i;
char *text = "Hello World! ";

void setup() {
  pinMode(13,OUTPUT);
}

void loop() {
 
  char *s;
  s = text;
  while (*s != 0) {
    transmitByte(*s++);
  }
  
  delay (BIT_DELAY*10); 
}
/**
 * Bit bang a byte
 */
void transmitByte (byte c) {
  
  // Start bit
  digitalWrite (13,1);
  delay(BIT_DELAY);
  
  // Data bits
  for (i = 0; i < 8; i++) {
      digitalWrite (13, ( (c&0x80)!=0 ? 1 : 0) );
      delay(BIT_DELAY);
      c <<= 1;
  }
  
  // Stop bit
  digitalWrite (13, 0);
  delay(BIT_DELAY);
}




실제 동영상은 이렇다.




Posted by 김용환 '김용환'

댓글을 달아 주세요


2011 Google I/O에서 안드로이드 ADK에 대해서 발표했다.
안드로이드 ADK는 accessory development kit의 약자로서.. 안드로이드를 이용해서 로봇, 임베디드 장치와 통신하는 도구를 의미한다.



처음에는 긴가 만가했는데.. 이거 주목할 필요가 있다...

Google introduces hackable hardware



즉, 과거에는 어떤 임베디드 콘트롤러를 따로 사야하거, 만들어야 했었다. 좀 불편했는데.. 즉, UI 개발이라는게 쉬운 게 아니라는 점이다. 레고를 봐도 이런거 대충 만든다는 느낌이 있다. 소니 PSP가 성공한 이유중의 하나가 게임 콘트롤러인 버튼이 아닌가 싶다.

구글은 아예 핸드폰 베이스로 처리하려는 방향을 보이고 있다.. 핸드폰으로 근거리망으로 쉽게 먼가를 할 수 있는... 편리함을 기술로 보여주고 있다.

1851-Adk Bricogeek

아두이노 처음 봤을 때는 별로 였는데.. 보면 볼수록 매력적이다..
함 써볼려구 한다. 임베디드 회사에 있을때, 개발과 환경 셋팅이정말 어려웠는데.. 이제는 취미생활로 하기에는 딱인거 같다. ^^

아두이노(Arduino)는 오픈소스를 기반으로 한 피지컬 컴퓨팅 플랫폼으로, AVR을 기반으로 한 보드와 소프트웨어 개발을 위한 통합 환경(IDE)를 제공한다. 아두이노는 많은 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 것들을 통제함으로서 환경과 상호작용이 가능한 물건을 만들어낼 수 있다. 또한 Flash, Processing, Max/MSP와 같은 소프트웨어를 연동할 수 있다.[1]

아두이노의 가장 큰 장점은 마이크로컨트롤러를 쉽게 동작시킬 수 있다는 것이다. 일반적으로 AVR 프로그래밍이 WinAVR로 컴파일하여, ISP장치를 통해 업로드를 해야하는 등 번거로운 과정을 거쳐야하는데 비해, 아두이노는 USB를 통해 컴파일 및 업로드를 쉽게 할 수 있다. 또한 아두이노는 다른 모듈에 비해 비교적 저렴하고, Windows를 비롯해 Mac OSX, 리눅스와 같은 여러 OS를 모두 지원한다. 아두이노 보드의 회로도가 CCL에 따라 공개되어 있으므로, 누구나 직접 보드를 직접 만들고 수정할 수 있다.

http://ko.wikipedia.org/wiki/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8

안드로이드에 아두이노 기반의 ADK 파워로봇을 선보였다.
Google's Arduino-based ADK powers robots, home gardens and giant Labyrinth (video)
http://www.engadget.com/2011/05/11/googles-arduino-based-adk-powers-robots-home-gardens-and-giant/


그리고, 하드웨어와 연동하기도 했다.
http://hackaday.com/2011/05/13/using-googles-adk-on-standard-arduino-hardware/
adk_on_arduino

안드로이드가 아두이노와 손잡은 것은 대단한 것 같다.
언능 써봐야징..

Posted by 김용환 '김용환'

댓글을 달아 주세요

  1. itsmeyjc 2012.03.26 08:59  댓글주소  수정/삭제  댓글쓰기

    android open accessory에 대한 교육이 있어 홍보해드립니다.
    http://doedu.co.kr/incumbent/shortContent.do?index=152

    Cortex-M3 계열의 장비를 안드로이드 플랫폼에서 제어하도록 펌웨어와 애플리케이션 개발에 대해 다루고 있습니다.