串行监视器返回无法理解的字符arduino
我在我的草图上添加了LED指示灯,用于读取温度传感器值,现在我的串行监视器返回垃圾y字符。我有一个初始化和控制LED的阵列。问题可能出在初始化和关闭LED的循环上?谢谢串行监视器返回无法理解的字符arduino,arduino,Arduino,我在我的草图上添加了LED指示灯,用于读取温度传感器值,现在我的串行监视器返回垃圾y字符。我有一个初始化和控制LED的阵列。问题可能出在初始化和关闭LED的循环上?谢谢 const int temperaturePin = 0; int leds[] = {13, 12, 11}; void setup(){ Serial.begin(9600); for (int i = 0; i < 3; i--) { pinMode(leds[i], OUTPUT
const int temperaturePin = 0;
int leds[] = {13, 12, 11};
void setup(){
Serial.begin(9600);
for (int i = 0; i < 3; i--) {
pinMode(leds[i], OUTPUT);
}
}
void loop(){
// Multiple declarations on one line
float voltage, degreesC, degreesF;
// Measure true voltage with custom function
voltage = getVoltage(temperaturePin);
// Convert voltage to degrees Celsius
// This line compensates for an offset of .5
// in the TMP36 temperature sensor
degreesC = (voltage - 0.5) * 100.0;
// Convert Celsius to Fahrenheit
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("Voltage: ");
Serial.print(voltage);
Serial.print(" Deg C: ");
Serial.print(degreesC);
Serial.print(" Deg F: ");
Serial.println(degreesF);
if ((degreesF >= 75) && (degreesF <= 76)) {
digitalWrite(leds[0], HIGH);
}
else if ((degreesF >= 77) && (degreesF <= 78)) {
digitalWrite(leds[1], HIGH);
}
else if ((degreesF >= 79) && (degreesF <= 80)) {
digitalWrite(leds[2], HIGH);
}
for (int i = 0; i < 3; i++) {
digitalWrite(leds[i], LOW);
}
delay(1000);
}
float getVoltage(int pin){
return (analogRead(pin) * 0.004882814);
}
您可能没有以正确的格式打印:在设置中的for循环中,您应该递增i,而不是递减i。谢谢!我改变了for循环的工作方式,所以我在修复它时一定错过了。