这个例子用电位器演示怎样调节电压,从模拟口输入,并从串口读取。
ALPHA 电位器模块中的拨码开关,请确保1处于ON位置。
/* AnalogReadSerial 读取A0口的模拟输入,并显示在串口监视器 */ void setup() { Serial.begin(9600);// 初始化串口通信速率为9600 : } void loop() { int sensorValue = analogRead(A0); // 读取A0口输入: Serial.println(sensorValue, DEC); // 打印: delay(1); // 延时1毫秒 }
这个例子中我们使用了一个新函数:analogRead()该函数用来从指定的模拟引脚读取数据,我们把这种功能称作ADC或者模数转换。
通过调节电位器的旋钮,你可以改变任意一端到中间脚的阻值,这样就改变了中间脚的电压,当中间脚和连接5V脚的阻值为零的时候,中间脚的电压近似于5V,反过来,电压为0,这些电压就是输入到模拟口的电压。
ALPHA MEGA328-U自带的ADC(模数转换器)可以读取电压的改变,将它转换为0-1023的数字(10位精度)。当旋钮一直往一个方向拧,引脚上电压就是0,也就是输入值为0。当旋钮一直往另外一个方向拧,引脚上电压就是5v,也就是输入值为1023。在这之间有相应的电压输入到模拟口,analogRead() 返回一个介于0和1023之间的数值。