在本章中,我们将学习一些高级的输入和输出函数。
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);
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。
示例
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 }