这是我学习所用的开发板,首先,我们用单芯线将5V和A0连接起来:
以下是代码:
#define analogInPin 0 //Analog signal input pin
int sensorValue = 0; //Store the most recent measured numeric variables
void setup()
{
Serial.begin(9600); //RS-232 set the computer output frequency
}
void loop()
{
//read analog signal value of pin
sensorValue = analogRead(analogInPin);
//show on the Serial Monitor
Serial.print("Value = ");
Serial.println(sensorValue);
delay(1000);
}
运行结果:
最后是验证公式:
待测信号=测量值/1023×参考电压(5V)
接下来我们将3.3V和A0引脚连接起来进行测试但是,显示的Value值很不稳定。
此时,我们可以通过取平均值de办法解决,代码如下:
#define analogInPin 0 //Analog signal input pin
int sensorValue = 0; //Store the most recent measured numeric variables
void setup()
{
Serial.begin(9600); //RS-232 set the computer output frequency
}
void loop()
{
//read analog signal value of pin
sensorValue = analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
sensorValue += analogRead(analogInPin);
//show on the Serial Monitor
Serial.print("Value = ");
Serial.println(sensorValue/8);
delay(1000);
}
当然,还有一种信任制的方法:
sensorValue = 0.7*sensorValue + 0.3 * analogRead(analogInPin);
第一次取得的值占7成,第二次取得的值占3成。若各占5成,就等同于取平均值的方法。