가변저항(potentionmeter)는 임의 값으로 저항값의 조절이 가능한 부품이다. 이번에는 가변저항과 발광다이오드를 회로로 구성하여 동작을 테스트해보고, 이를 아두이노 UNO 보드의 아날로그 핀과 PWM 핀을 이용하여 동일한 회로구성을 해보겠다. 아두이노는 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); }