ADC全称为Analog To Digital Converter,中文全称为模数转换器。其作用是把模拟量的电压值,转换为数字。

  在前面的教程中我们使用过LM35温度传感器,这个传感器为一个模拟量传感器,给传感器VCC连接ocrobot mango(Arduino兼容板)板上5V,GND连接板子上GND,在Vout引脚会输出电压,从0V开始,每升高10mv电压代表着温度上升1℃,两者成线性关系。

#define adPin A0
void setup()
{
   Serial.begin(115200);            	//设置波特率
}
void loop()
{
   int n = analogRead(adPin);        	//读取模拟口的数值,因为ATmega 2560 AD精度为10位,故返回值范围为0~1023
   n = n * 4.888;                    	//将返回值换算成毫伏
   Serial.print("The Voltage Value is(mv):");
   Serial.println(n,DEC);          	//DEC在这里是设置输出数据的格式,此处可省略,详见http://kb.open.eefocus.com/index.php?title=Serial 
   delay(100);
}

注:因为ATmega 2560 AD精度为10位,故返回值范围为01023,对应05V,根据采集值计算实际电压,5000÷1024≈4.888,因此将采集值乘以4.888就得到实际电压值(毫伏)。在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐