analogReference()函数

函数的作用:

配置用于模拟输入的基准电压/参考电压(即输入范围的最大值)。

在嵌入式应用中,引脚获取模拟电压值之后将根据参考电压将模拟值转换到0~1023

括号内的参数​​可以为:

  • DEFAULT:默认5V或3.3V为基准电压。

  • INTERNAL:在ATmega168和ATmega328上以1.1V为基准电压,以及在ATmega8上以2.56V为基准电压(Mega2560无此选项)

  • INTERNAL1V1:以1.1V为基准电压(此选项仅针对Mega2560)

  • INTERNAL2V56:以2.56V为基准电压(此选项仅针对Mega2560)

  • EXTERNAL:以AREF引脚(0至5V)的电压作为基准电压。

返回值:无

注意事项:

改变基准电压后,之前从anal​​ogRead()读取的数据可能不准确。

思考!

初步了解了analogReference函数,现在让我们回想以前的通过LM35测量温度那个项目。

如果我们用

 analogReference(INTERNAL);

调用arduino板子内部1.1V基准,从LM35读取的温度数值会不会得到比原来更精细的温度变化~~~

最终代码:

void setup() {
  Serial.begin(9600);         //使用9600速率进行串口通讯
  analogReference(INTERNAL); //调用板载1.1V基准源
}

void loop() {

  int n = analogRead(A0);    //读取A0口的电压值

  double vol = n * (1.1 / 1024.0*100);   //使用双精度浮点数存储温度数据,温度数据由电压值换算得到

  Serial.println(vol);                   //串口输出温度数据
  delay(1000);                           //等待1秒,控制刷新速度
}

欢迎同学在下方评论探讨!

你可能感兴趣的:(analogReference()函数)