Есть какие-либо способы проверки исправности датчика? Вот фото его подключения. Может быть Вы увидите косяк, если он есть?
О, ставлю диагноз по фотографии! У герметичного 18B20 цветовое обозначение проводов, ведущих к датчику: КРАСНЫЙ - VCC ЖЕЛТЫЙ - DATA ЧЕРНЫЙ - GND У вас, по-моему, перепутаны питание с данными (переставить белый на D1,а красный на 3,3В). И земля от датчика двоится (надо меньше пить), точно вставлено в 28 ряд?
Черный точно вставлен в 28 ряд. Просто там изоляция расщеплена. Провода поменял местами. Итог тот же - No more addresses
желтый провод это сигнал у вас или питание? и зачем резистором замыкаете сигнал и питание? я еще не очень силен во всяких таких хитростях, поэтому интересно
Начну с того что покопался на форуме но не нашел конкретного решения проблемы. Не поймите меня неправильно но сообщения типа "поставить керамику 0.1" "повесить кондёр на 10mf 640v" и тд для меня сложно без внятной схемы. Я больше по программированию и изучать такие вещи не то что не могу, это сложно и хотелось бы спросить знающих людей что бы воспользоватся их знаниями. Имеем Arduino mega 260, 5 датчиков DS18B20(и кучу остального, хз может ли влиять) вот схема подключения(сильно не пинать рисовал в paint) Так вот всё было до недавнего времени норм. Ну тоесть если точнее то не так часто всё это запускалось. Изначально пока остальная приблуда была неготова то запускал в режиме дебага ненадолго и отключал датчики. Теперь же после некоторого времени(опрос раз в 5 секунд * 100 ~ 500сек) отваливается и пишет что -127 а так же говори что датчик не подключён (sensors.isConnected(temperatureSensor)) пользуюсь библиотекой DallasTemperature Код не прилагаю так как он стандартен и я не думаю что ошибка там. Так вот "починить" датчики можно просто отрубив землю и подключив заново, тогда он(arduino) опять подключается и опять работает некоторое время. Такая починка раз в 10 мин меня не устраивает. Кстати пробовал перезагружать arduino но никакого эффекта нет. Сначала думал баг в библиотеке но вроде там всё норм, погугли и понял что это довольно распространнённая ошибка подключения. Только вот решение требует танцов с бубнами(для людей которые не соображают). Изначально у меня 5v и земля брались с arduino сейчас я привёл всё к схеме выше, думал что arduino не хватает mA. Но как понимаете это не помогло. Остальные жилы в витой паре использубтся для передачи на реле питания и сигнала(одно реле 5v) и подвод питания для светодиодов(тоже 5v) тоесть задействовано все 8 жил коричневый и коричневый с белым земля и 5v синий и белый с синим земля и 5v зелёный и белый с зелёным земля и 5v оранжевый и белый с оранжевым два сигнальных на реле и датчики температуры. Реле как раз таки включается когда температура будет ниже определённой отметки. Включатся скорее всего будет черз пару месяцев. Что мне посоветуете поставить и куда для исправления ситуации. Я так понимаю дело в наводке и создании шума. В распоряжении только мультиметр из приборов и более менее прямые руки с паяльником. ну и естественно уже в 10-й раз проверил все соединения, окиси и плохого контакта нет, прозванивал это дело в том числе и сигнальный провод.
На схеме синяя линия это линия данных, красная это питание. И между ними я нарисовал и подписал резистор на 4.7кОм Я сделал не верно?
Почему 4,7 кОм? Надо 2,2-3,3 кОм, особенно для длинных линий. И топология должна быть линейной, а не звездой. Какая длина от клеммника до датчика? Сбои начинаются после срабатывания реле или раньше? Можно еще на первом клеммнике между черным и красным проводом прицепить конденсатор 47-100 мкФ х 16 В, соблюдая полярность.
Потому что это стартовая точка номинала, рекомендованная авторами протокола. Естественно, есть оговорка про подбор номинала для длинных линий, так что тут вы правы.
Верно, линия данных через резистор соединяется с питанием, но: если для коротких линий (в пределах пары метров) 4К7 представляется нормальным номиналом, то для длинных - возможно (подчеркну - возможно), номинал резистора придётся уменьшать. Факторов, от которых это зависит - множество, поэтому дать однозначную рекомендацию по номиналу резистора никто не в состоянии, думаю. Начинайте с номинала 4К7, и если будут сбои в показаниях с датчиков - потихоньку уменьшайте номинал. З.Ы. Переменный резистор рулит для этих целей
Почему все решили что дело в железе а не в программе ? Я бы, в первую очередь, оставил бы только эти датчики, опрашивал бы их без библиотеки. Я очень давно сталкивался с тем, что далласовская библиотека странновата и работает не корректно. Но уже давно ей не пользуюсь и никогда не имел проблем с дс18в20. А у меня их много. Много.
Я не так хорош в C++ как хотелось бы. Бегло я просмотрел но врятли там простой баг, если он есть.Я обязательно попробую, но сначала таки попробую так: Как решу обязательно отпишусь, особенно если дело в библиотеке. Можно будет даже предложить исправление автору. Спасибо.
Здравствуйте! В данный момент создаётся проект "умный дом", управление которого происходит по локальной сети, на основе Arduino UNO и Ethernet Sheeld W5100. Имеется скетч управления четырьмя реле, хотелось бы добавить термометр на основе датчика температуры DS18B20. К сожалению, на просторах интернета подобного скетча не нашёл! А в самостоятельном написании не силён! Ниже скетч с сервером и реле. Прошу помощи!Заранее спасибо!
В последнее время все чаще появляются подобные темы: У меня есть это и то и мне нужна для этого соответствующая программа(прошивка). Но программировать я не умею и учиться не хочу и не буду. Напишите за меня, плиз! И конечно же за без денег, ибо я не только не умею программировать но и денег мне жалко. PS Термометров на ds18b20, в интернете, как грязи, в т.ч. и на этом форуме. Вам не только лень учится программировать, но и лень искать http://forum.amperka.ru/threads/ds18b20-повторим-пройденное.4013/ Так же вам лень скачать библиотеку для этого датчика и посмотреть примеры, идущие вместе с библиотекой. PSPS Вы уж напрягитесь, найдите, почитайте, попробуйте внести необходимые изменения в имеющийся у вас код. А вот когда что-то не получиться, то подтягивайтесь сюда и задавайте вопросы, не забыв опубликовать то, что вы сами написали. Тогда глядишь и помогут.
Добрый День! Пробовал кто-нибудь опрашивать датчики DS18B20 на Iskra JS по адресу, как в Arduino? Пример по документации Espruino connect(new OneWire(pin), ID) - use the DS18B20 device with the given ID var sensor3 = require("DS18B20").connect(ow, -8358680895374756824); Пробовал записывать ID и в HEX, и в DEC. Iskra JS Выдает ошибку: "No DS18B20 found".