analogRead()

[아날로그 입출력]

설명

지정한 아날로그 핀에서 값을 읽습니다. 아두이노 보드는 6채널(미니와 나노는 8채널, 메가는 16채널), 10비트의 아날로그-디지털 변환기를 가지고 있습니다. 이는, 0에서 5V 사이의 입력 전압을 0에서 1024 사이의 정수 값으로 대응시키는 것을 뜻합니다. 이는 해상도가 5V/1024 혹은 0.0049V (0.49mV) 단위라는 것을 뜻합니다. 입력 범위와 해상도는 analogReference() 를 사용해서 바꿀 수 있습니다.

아날로그 입력을 읽는 데는 약 100마이크로초(0.0001초)가 걸리므로, 최대 읽기 속도는 1초에 약 1만 번입니다.

문법

analogRead(pin)

매개변수

pin: 읽을 아날로그 입력 핀(대부분의 보드에서 0~5, Mini와 Nano는 0 ~7, Mega는 0~15) 번호

반환

int(0 에서 1023)

예제 코드

이 코드는 아날로그 핀의 전압을 읽어서 표시합니다.

int analogPin = 3;  // 가변 저항의 가운데 핀이 아날로그 핀 3에 연결됨
                    // 바깥쪽은 그라운드와 +5V에 연결됨
int val = 0;        // 읽은 값을 저장할 변수

void setup() {
  Serial.begin(9600); //  시리얼 설정
}

void loop() {
  val = analogRead(analogPin);  // 입력 핀 읽기
  Serial.println(val);          // 값 디버그
}

주의와 경고

아날로그 입력 핀이 아무데도 연결되지 않으면, analogRead()가 반환하는 값은 여러 요인(e.g. 다른 아날로그 입력 값, 여러분의 손이 보드에 얼마나 가까운가 등)에 따라 변합니다.