2013. 5. 7. 14:37

가변저항은 간단하게 컴퓨터로 보낸 값을 체크할 때 좋은 부품입니다.

이걸 이용해서 테스트한 다음 다른 센서를 붙여보면 디버깅하기가 좋죠.

 

 

1.보드 구성하기

보드를 구성하기 전에 가변저항의 구조를 보도록 하겠습니다.

다행히 쓰여있는 데로 꼽으시면 됩니다 ㅎㅎ

 

 

LED는 평상시처럼 13번 핀에 꽂았습니다.

전 그라운드(GND)는 하얀색으로 꽂습니다.

가변저항은 돌리기 쉬운 곳에 꽂아서 테스트 합시다 ㅎㅎㅎ

 

완성

 

 

2.펌웨어 작성하기

가변저항의 값을 받기 위해 'A0'의 값을 읽어야 하는데

아날로그 입력을 받을 때 사용하는 함수가 'analogRead([읽을 포트])' 입니다.

#define LED 13
#define ANALOG A0

//가변저항값
int nA0_Value = 0;

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

void loop()
{
  nA0_Value = analogRead(ANALOG);
  
  analogWrite(LED, nA0_Value / 4);

  //컴퓨터에 신호를 준다.
  Serial.println(nA0_Value);
  delay(10);
}

 

시리얼 포트로 값을 넘기기 위해 'Serial.println([넘길 값])'을 사용했는데 시리얼 포트를 확인하여 가변저항값을 보려고 넣은 코드입니다.

LED에 값을 줄 때 나누기 4를 한 것은 가변저항의 값은 1024까지인데 LED의 밝기값은 256까지다 보니 LED의 밝기가 꺼졌다 켜졌다 하는것처럼 보여서입니다.

이 값을 4로 나누면 천천히 밝아지는 효과도 있습니다.

 

 

3. 테스트하기

가변저항을 돌려 봅시다.

만약 LED는 켜지는데 밝기조절이 안 된다면 PWM 포트에 LED를 연결해야 합니다.

(3,5,6,9,10,11번 포트가 PWM 포트입니다.)

 

 

 

마무리

가변저항으로 코드를 테스트하고 필요한 센서를 붙여 다시 테스트하면 좋습니다.

문제는 가끔 가변저항은 말짱한데 센서값이 안 나오는 경우가....