가변저항이라는 것을 처음을 알았다.

먼저 아래 싸이트 가본다.
http://arduino.cc/en/Tutorial/AnalogInput




Fritzing 이라는 툴을 이용하면 배치도를 살펴볼 수 있다. 나같은 aduino 나 하드웨어 초보에겐 딱이다.





그리고,  아래 소스를 sketch에서 실행한다.

http://arduino.cc/en/Tutorial/AnalogInput


int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);  
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);    
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);  
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);          
  // turn the ledPin off:        
  digitalWrite(ledPin, LOW);  
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);                  
}



a0 input을 받아서 가변저항으로부터 받은 sensorValue를 받아 13핀에 연결된 LED를 High(킴)했다가.
센서값만큼 delay하고, LED를 LOW(끔)을 하도록 한다. 그리고, 다시 delay..

가변저항의 아날로그 값을 움직일 때마다 반짝거리게 한다.





Posted by 김용환 '김용환'


JTAG 이런 방식이 아니라 Serial (USB)로 간단하게 출력하는 것을 말한다.

C랑은 좀 다른 API를 제공한다.

#define LED 13

int val = 0;


void setup() {
   Serial.begin(9600);      
    pinMode(LED, OUTPUT);
     
}

void loop() {
    val = analogRead(0);
      Serial.print("Analog Censor"); 
      Serial.print("\t");     
     Serial.println(val);
    
    digitalWrite(LED, HIGH);
    delay(val);

    digitalWrite(LED, LOW);

   delay(val);

        
}




아래와 같이 나온다.



API 는 아래 문서 에 있다.. 역쉬~
http://www.arduino.cc/en/Serial/Print

'아두이노' 카테고리의 다른 글

저항 꼭 사용하기  (0) 2011.10.04
가변저항 테스트  (0) 2011.10.04
아두이노 디버그 방법  (0) 2011.09.28
not in sync 아두이노 에러  (1) 2011.09.28
아두이노 Aduino 구매와 설치과 간단 동작 데모  (0) 2011.09.28
2011년 7월 아두이노 새소식  (0) 2011.07.22
Posted by 김용환 '김용환'


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

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 김용환 '김용환'

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

아두이노 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 김용환 '김용환'