Я делаю простой датчик температуры для освещения одного из двух светодиодов в зависимости от температуры.нет макета Светодиодный выход
По какой-то причине светодиодный выход только один раз мигает встроенным светодиодом (контакт 13 на Эдисоне).
Мой выходной сигнал работает нормально, но я не уверен, почему мой код работает некорректно.
Фото проводки здесь.
int temppin = 0;
int ledhigh = 7;
int ledlow = 8;
void setup()
{
Serial.begin(9600);
pinMode(temppin, INPUT);
pinMode(ledhigh, OUTPUT);
pinMode(ledlow, OUTPUT);
}
void loop()
{
int tempout = analogRead(temppin);
float volts = tempout * 5.0;
volts /= 1024.0;
float temp = (volts - 0.5) * 100 ;
Serial.print(temp); Serial.println(" celsius");
if (temp > 0){
Serial.print("high temp =");
digitalWrite(ledhigh, HIGH);
} else {digitalWrite(ledlow, HIGH);
Serial.print("low temp");
}
delay(3000);
}
Попробуйте переключить светодиоды (так высоко, является низкая). Если вы получите тот же результат ... тогда я смущен. Код и проводка отлично смотрятся. –
, перевернув светодиод + и - или код? Я попробовал оба. такой же результат. 330 Ом, если это имеет значение. – Zane
Вы пытались отключить переключение контактов для проводки (используя другие контакты, кроме 0, 1, 2)? Не думайте, что это имеет значение, но вам не хватает новой строки после того, как else { –