我正在设置sen0189浊度传感器到arduino uno板的连接,而输出看起来很奇怪
void setup() {
Serial.begin(9600);
}
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023)
// to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1024.0);
// print out the value you read:
Serial.println(voltage);
Serial.println(analogRead(A0));
delay(500);
}
我预计输出会发生变化,但它的电压读数仅为0.3,而analogRead(A0)的读数为62
发布于 2019-11-04 09:23:34
您正在使用的是一个DFRobot开发工具包的测试代码。我会在设置之前定义我的pin并添加一个pinMode。这不是必需的,但根据我的经验,它工作得更好。您的测量结果看起来很准确,所以尝试以下方法来检查您的测量结果:
#define analogPin A0
void setup() {
pinMode(analogPin, INPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(analogPin);
float voltage = sensorValue * (5.0 / 1024.0);
Serial.println(voltage);
Serial.println(sensorValue); //That way you get the value corresponding to your voltage, else it is a new measurement
delay(500);
}
使用上面的代码,您可以尝试手动计算公式voltage = sensorValue * (5.0 / 1024.0)
,并检查来自串行监视器的值是否正确。否则,请检查您的连接,也许还可以更换液体,看看输出是否会发生变化。
https://stackoverflow.com/questions/58686229
复制相似问题