가변저항(potentionmeter)는 임의 값으로 저항값의 조절이 가능한 부품이다. 이번에는 가변저항과 발광다이오드를 회로로 구성하여 동작을 테스트해보고, 이를 아두이노 UNO 보드의 아날로그 핀과 PWM 핀을 이용하여 동일한 회로구성을 해보겠다.
아두이노는 0 ~ 1023 범위의 값을 읽을 수 있는 6개의 아날로그 핀과 0 ~ 255 범위의 아날로그 값을 출력할 수 있는 6개의 PWM 핀을 가지고 있다. 여기서는 가변저항을 아날로그 핀에 연결하고 발광다이오드를 PWM 핀에 연결하여 가변저항의 동작 특성과 아두이노의 아날로그 값 처리 방법을 살펴볼 것이다.
준비물:
아두이노 UNO, 가변저항(10K) 1개, 발광다이오드(LED) 1개, 저항(220Ω) 1개, 브레스보드, 브레스보드 전원공급기, 점퍼와이어
실습 영상에서는 첫 번째로 가변저항과 발광다이오드만을 연결한 회로와 두 번째로 아두이노를 이용한 회로를 동작시키기고 이때 입력값을 시리얼모니터로 표시한다.
아두이노 소스:
아두이노는 0 ~ 1023 범위의 값을 읽을 수 있는 6개의 아날로그 핀과 0 ~ 255 범위의 아날로그 값을 출력할 수 있는 6개의 PWM 핀을 가지고 있다. 여기서는 가변저항을 아날로그 핀에 연결하고 발광다이오드를 PWM 핀에 연결하여 가변저항의 동작 특성과 아두이노의 아날로그 값 처리 방법을 살펴볼 것이다.
준비물:
아두이노 UNO, 가변저항(10K) 1개, 발광다이오드(LED) 1개, 저항(220Ω) 1개, 브레스보드, 브레스보드 전원공급기, 점퍼와이어
|  | 
| 왼쪽부터 시계방향으로 가변저항용 노브, 가변저항, 브레스보드와 브레스보드 전원공급기, 고정저항, 발광다이오드 | 
|  | 
| 아두이노 UNO | 
// PWM 9번 핀 등록
int ledPin = 9;
void setup() {
  // 시리얼모니터 9600baud 설정
  Serial.begin(9600);
  // 9번 핀 출력 지정
  pinMode(ledPin, OUTPUT);
}
void loop() {
  // A1 핀으로부터 아날로그 값을 읽어들임
  int sensorValue = analogRead(A1);
  // 시리얼모니터에 아날로그 값 출력 (0 ~ 1023)
  Serial.println(sensorValue);
  // PWM 값 출력 (0 ~ 255)
  analogWrite(ledPin, sensorValue / 4);
  delay(1);
}
 
댓글
댓글 쓰기