Arduino - 高级 I/O 函数



本章我们将学习一些高级的输入输出函数。

analogReference() 函数

配置用于模拟输入的参考电压(即用作输入范围上限的值)。选项包括:

  • DEFAULT - 默认模拟参考电压为 5 伏(在 5V Arduino 开发板上)或 3.3 伏(在 3.3V Arduino 开发板上)

  • INTERNAL - 内置参考电压,在 ATmega168 或 ATmega328 上等于 1.1 伏,在 ATmega8 上等于 2.56 伏(Arduino Mega 上不可用)

  • INTERNAL1V1 - 内置 1.1V 参考电压(仅限 Arduino Mega)

  • INTERNAL2V56 - 内置 2.56V 参考电压(仅限 Arduino Mega)

  • EXTERNAL - 将应用于 AREF 引脚的电压 (0 到 5V) 用作参考电压

analogReference() 函数语法

analogReference (type);

类型 - 可以使用以下任何类型 (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL)

不要在 AREF 引脚上使用低于 0V 或高于 5V 的外部参考电压。如果使用 AREF 引脚上的外部参考电压,则必须在调用 analogRead() 函数之前将模拟参考电压设置为 EXTERNAL。否则,您将短路活动参考电压(内部生成的)和 AREF 引脚,可能会损坏 Arduino 开发板上的微控制器。

MicroController

或者,您可以通过 5K 电阻将外部参考电压连接到 AREF 引脚,从而允许您在外部和内部参考电压之间切换。

请注意,由于 AREF 引脚上有一个内部 32K 电阻,因此电阻会改变用作参考的电压。两者充当分压器。例如,通过电阻施加 2.5V 将在 AREF 引脚上产生 2.5 * 32 / (32 + 5) = ~2.2V。

示例

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
}
广告