Myp » 27 мар 2013, 13:23
а ты в режим термостата включал? а обратно в 1wire переключал?
Myp » 28 мар 2013, 23:15
ах да, скетч ардуины который у меня заработал
legion » 27 апр 2014, 00:17
На случай если я вдруг не один такой буратино оставлю это здесь для будущих поколений дров:
Друг, если ты пытаешься выполнить измерение в режиме 1shot, а датчик всегда возвращает 255. Если при попытке ввести вторую команду ты замечаешь, что датчик в твою запись сует свои нули. Если второе чтение температуры в режиме постоянного измерения тебе возвращает 0. То.
Инициализируй датчик перед КАЖДОЙ командой!
В даташите, конечно, английским по белому написано "All transactions on the 1-Wire bus begin with an initialization sequence" и даже табличка с последовательностью команд для особо одаренных есть. Но не помогает. Упорно думал, что инициализация нужна только один раз после подачи питания на датчик.
Myp » 27 апр 2014, 01:22
ну да, в даташите же написано )))
я кстати в программе тк и делаю
каждый раз ds.reset();
а ты с режимом повышенной точности не работал?
считаю по формуле из даташита,
- Код: Выделить всё • Развернуть
float highResTemp = (float)temp_read - 0.5 + (((float)count_per_c - (float)count_remain) / (float)count_per_c);
но дробная часть никогда не бывает больше .49
avr123.nm.ru » 27 апр 2014, 01:36
Myp писал(а):самое страшное, сконфигурить термостат и отключить 1wire )))
а нельзя ли сконфигурировать и не отключать?
legion » 27 апр 2014, 10:58
Не, с повышенной точностью не работал.
Сконфигурить и не отключать нельзя, там либо термостат, либо 1wire.