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); }