Сделал термометр, но температуру показывает правильно только при запуске программы, а потом изменяется на 10-15 градусов меньше.Я думаю проблема с калибровкой термистора. Вот код Код (Text): #include <LiquidCrystal.h> LiquidCrystal lcd(13, 12, 11, 10, 9, 8); void setup(void){ lcd.begin(16, 2); lcd.clear(); lcd.setCursor(0,0); } double Getterm(int RawADC) { double temp; temp = log(((10240000/RawADC) - 10000)); temp = 1 / (0.001129148 + (0.000234125 * temp) + (0.0000000876741 * temp * temp * temp)); temp = temp - 273.15; return temp; } void printTemp(void) { double temp = Getterm(analogRead(4)); lcd.clear(); lcd.setCursor(0,0); lcd.print("Temperature is:"); lcd.setCursor(0,1); lcd.print(temp); lcd.print(" C"); } void loop(void) { printTemp(); delay(1000); }
У вас сам термистор не нагревается от протекающего тока? Впрочем, при 10k номинале этот эффект должен быть ничтожный...