BLUESINK

기본기:: ADC

토픽 BLUESINK > MicroController > [2016] 아두이노

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

댓글

댓글 본문
  1. parra
    아두이노의 기초적인 과정을 너무 쉽게 잘 설명해 주셔서 감사합니다!
  2. Jake
    정말 감사드립니다. ^^
  3. 배토
    기본 개념을 잡는데 정말 많은 도움이 되었습니다.
    감사합니다!!!
  4. JustStudy
    고맙습니다