Ви не увійшли.
Сторінки 1
Непонятно зачем у Вашем новом примере висит функция
void printAddress(DeviceAddress deviceAddress)
эта функция была в исходном примере, не стал сразу удалять т.к. подумал что адрес поможет с адресацией к датчикам. Но учитывая, что все показания без проблем снимаются по индексу, то адрес вроде как в текущем примере бесполезен, и действительно ее можно удалить. Ну закомментировать т.к. в будущем возможно появится задача обращения по адресу (на самом деле хз). Например нужно еще два датчика влажности приделать (пока их еще не достал), не знаю понадобится-ли там обращение по адресу или нет.
Да, еще забыл, в даташите есть рекомендуемое время опроса датчиков, и он по моему больше 3с (я к сожалению не помню какое ). Некоторые юзеры пишут что частый опрос меньше 10с приводит к "разогреву" датчика что влияет на погрешность.
насчет разогрева не слышал, спасибо что сказали, поставлю тогда 10с, такое время не критично
похоже я облажался второй раз. Честно говоря думал что print(var,1) просто отсекает вторую цифру, а оказалось что округляет весь мой колхоз оказался не нужен. Еще раз спасибо!
спасибо огромное, все получилось!
дело в том, что я действовал с помощью высокоинтеллектуального метода "copy&paste", не особо понимая что в этом примере происходит. Но со временем конечно и опытом ситуация будет лучше. Плюсы мне показались намного более сложным языком чем PHP или JavaScript. Код упростил http://pastebin.com/RgxKPzpj
пришлось правда написать костыль для округления до одной цифры после запятой, но по другому не смог
lcd.print((float)lrint(sensors.getTempC(cat) * 10) / 10, 1);
результат:
один датчик на улице, два дома
Приветствую!
Есть датчики температуры DALLAS, которые работали безупречно до тех пор, пока не попытался подключить сразу два датчика к одному экрану. После этого датчики, которые подключал одновременно, стали выдавать значения с точностью в 0.5 градуса. Хотя до этого они выдавали точность в 0.01. Единственный датчик, который остался точным тот - который я не пытался подключить с помощью библиотеки "Arduino-Temperature-Control-Library", с этим примером:
https://github.com/milesburton/Arduino- … ltiple.pde
до этого подключал с помощью библиотеки OneWire, которая идет вместе с Arduino IDE, стандартный пример отлично работал (правда только с одним датчиком): http://pastebin.com/rUPTjZeu
Вопросы, которые возникают:
1). может-ли программа "испортить" датчик таким образом, что он начал показывать в 20 раз меньшую точность (даже если подключать примитивную схему на примере где он всегда работал точно)?
2). может-ли ошибка схемы (распиновка, питание, резисторы) убить точность датчика?
3). есть-ли у этого датчика какое-то API, которым можно управлять и он запоминает режимы работы? Может быть в коде есть команды, которые переключили датчики в другой режим?
а датчики такие:
Сторінки 1