Arduino 简明教程
Arduino - Advanced I/O Function
在本教程中,我们将学习一些高级输入和输出函数。
analogReference() Function
配置用于模拟输入的参考电压(即用作输入范围顶部的值)。选项有 -
-
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() Function Syntax
analogReference (type);
type – 可以使用以下任何类型(DEFAULT、INTERNAL、INTERNAL1V1、INTERNAL2V56、EXTERNAL)
不要对 AREF 针脚上的外部参考电压使用低于 0V 或高于 5V 的电压。如果您在 AREF 针脚上使用外部参考,您必须在调用 analogRead() 函数之前将模拟参考设置为 EXTERNAL。否则,您将短路已激活的参考电压(内部产生)和 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
}