max6675 не работает без delay(200); тормозит сервак
- Войдите на сайт для отправки комментариев
Чт, 12/09/2019 - 18:02
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
void setup()
{
Serial.begin(9600);
delay(200);// - минимум 200-300 поигрался
}
void loop()
{
Serial.print(" C = ");
Serial.println(thermocouple.readCelsius());
Serial.println();
delay(200);
}
}
кнопки на андройде тормозят из-за него пол секунды, пробовал и так
if (foo2.Now()) {
// current temperature readout
Serial.print("Deg C = ");
Serial.println(thermocouple.readCelsius());
Serial.println();
}
У MAX6675 максимальное время конверсии 220мс, поэтому без таких пауз между считываниями метрики он не будет работать by design.
200 мало, минимум 220 надо ставить.
Так Вы не пользуйтесь delay, а сделайте это через millis. Никто не будет тормозить.
только что решил проблему при шлось ему переменную воткнуть чтобы хранило значение, типо когда дуньку включаеш ноль а потом уже норм, типо он каждый раз инициализируеться
if (foo.Now()) { tr=thermocouple.readCelsius(); // delay(500); }