ADC(Analog to Digital Converter)
ADC란 Analog to Digital Converter의 준말로, 아날로그 신호(0~5V 사이의 전압)을 디지털 값으로 반환해 주는 기능을 의미합니다. 아두이노에서는 이런 ADC 기능을 analogRead()라는 함수로 제공하며, 0~1023의 정수값을 반환하는데 이는 0~5V의 전압에 선형적으로 비례하기 됩니다. 따라서 우리는 반환된 정수값을 토대로 실제 핀에 들어오는 전압 값을 역산할 수 있습니다.

adc.ino
int val;
float voltage;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(A0);
voltage = 5.0/1023.0*(float)val;
Serial.print("voltage : ");
Serial.print(voltage);
Serial.println(" V");
}
ADC를 이용한 서보제어

adc_servo_control.ino
#include <Servo.h>
int val;
float angle;
Servo myservo;
void setup() {
myservo.attach(6);
}
void loop() {
val = analogRead(A0);
angle = 180.0/1023.0*(float)val;
myservo.write(angle);
}

