Arduino-고급 I / O 기능

이 장에서는 몇 가지 고급 입력 및 출력 기능에 대해 알아 봅니다.

analogReference () 함수

아날로그 입력에 사용되는 기준 전압 (즉, 입력 범위의 상단으로 사용되는 값)을 구성합니다. 옵션은-

  • DEFAULT − 5V (5V Arduino 보드) 또는 3.3V (3.3V Arduino 보드)의 기본 아날로그 기준

  • INTERNAL − ATmega168 또는 ATmega328에서는 1.1V, ATmega8에서는 2.56V에 해당하는 내장 레퍼런스 (Arduino Mega에서는 사용할 수 없음)

  • INTERNAL1V1 − 내장 1.1V 레퍼런스 (Arduino Mega 만 해당)

  • INTERNAL2V56 − 내장 2.56V 레퍼런스 (Arduino Mega 만 해당)

  • EXTERNAL − AREF 핀에 적용된 전압 (0 ~ 5V 만 해당)이 기준으로 사용됩니다.

analogReference () 함수 구문

analogReference (type);

type − 모든 유형의 다음 사용 가능 (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL)

AREF 핀의 외부 기준 전압에 대해 0V 미만 또는 5V 이상을 사용하지 마십시오. AREF 핀에서 외부 참조를 사용하는 경우 아날로그 참조를 EXTERNAL로 설정해야합니다.analogRead()함수. 그렇지 않으면 활성 기준 전압 (내부 생성)과 AREF 핀이 단락되어 Arduino 보드의 마이크로 컨트롤러가 손상 될 수 있습니다.

또는 5K 저항을 통해 외부 기준 전압을 AREF 핀에 연결하여 외부 기준 전압과 내부 기준 전압을 전환 할 수 있습니다.

저항은 AREF 핀에 내부 32K 저항이 있기 때문에 기준으로 사용되는 전압을 변경합니다. 두 개는 전압 분배기 역할을합니다. 예를 들어, 저항을 통해 2.5V를 적용하면 AREF 핀에서 2.5 * 32 / (32 + 5) = ~ 2.2V가됩니다.

Example

int analogPin = 3;// potentiometer wiper (middle terminal) connected to analog pin 3 
int val = 0; // variable to store the read value

void setup() {
   Serial.begin(9600); // setup serial
   analogReference(EXTERNAL); // the voltage applied to the AREF pin (0 to 5V only) 
      // is used as the reference.
}

void loop() {
   val = analogRead(analogPin); // read the input pin
   Serial.println(val); // debug value
}