Добрый день! Я только начинаю осваивать arduino и не смог разобраться с формулой расчета температуры, указанной в примере "комнатный термометр". Код (Text): float voltage = analogRead(A0) * 5.0 / 1023.0; float temperature = -14.46 * log( (10000.0 * voltage) / (5.0 - voltage) / 27074.0); Был использован данный термистор. Но на основе его описания все равно не понял как получается данная формула... Не могли бы вы объяснить откуда берутся все эти цифры =)
Какая-то странная аппроксимация... Тут еще и параметр не сведен к интервалу [0,1] , хотя это было бы логично.
Присоединяюсь к вопросу, у меня похожая ситуация. По данной формуле из вики термистор показывает ровно на 11 градусов меньше актуальной температуры. Пробовал такую формулу из статьи на хабре: double temp = log(((10240000/analogRead(A0)) - 10000)); temp = 1 / (0.001129148 + (0.000234125 * temp) + (0.0000000876741 * temp * temp * temp)); temp = temp - 273.15; - по данному варианту выходит на 7 градусов меньше актуальной температуры. При этом если сравнивать с таблицами в инете - то эта формула с хабра должна быть верна, но по факту, в итоге, что-то не сходится(
Действительно выяснилось, что была проблема в формуле. В этой теме найдено правильное решение: http://forum.amperka.ru/threads/Про...-конспекте-хакера-Матрёшка-z.3350/#post-26592