конфликт датчика давления и датчика температуры
- Войдите на сайт для отправки комментариев
Пт, 05/01/2018 - 15:23
добрый день всем
вопрос такой. создаю систему умного дома. на данный мометн установлены различные датчики, все они исправно работают, помимо прочих датчик давления BMP 280-1 шт, датчики температуры DS18B20- 4ш. При добавлении в код пятого датчика температуры (физически подключен) показания с датчика давления становятся равны нулю, при этом все 5 датчиков температуры показывают исправно. Сначала думал что DS18B20 кривой, паленый ( сетевой адрес как то отличался от прочих датчиков сильно), поставил другой. картина та же
да, с программированием я еще только учусь, поэтому не пинать, форум изучал, если нужен код целиком, выложу
Конечно, нужен. И схема включения тоже. Этот датчик ведь можно по-разному подключить.
P.S. Вот здесь была большая тема, может поможет.
Конечно, нужен. И схема включения тоже. Этот датчик ведь можно по-разному подключить.
P.S. Вот здесь была большая тема, может поможет.
Конечно, нужен. И схема включения тоже. Этот датчик ведь можно по-разному подключить.
P.S. Вот здесь была большая тема, может поможет.
датчик давления ВМР280 подключен по шине I2C, датчики температуры все на 7 пине, без паразитного питания
еще такая ситуация
открываю монитор порта, все температуры в норме, давление 0.00, сдергиваю датчики давления с пина ардуино (сигнальный провод), естественно вываливается по температуре -127, а давление начинает показывать, ставлю пин датчиков температуры обратно, температура в норме, давление тоже продолжает казать. перезапускаю ардуино (мега), снова давление 0..
сдергиваю датчики давления с пина ардуино (сигнальный провод), естественно вываливается по температуре -127, а давление начинает показывать
Боюсь, что в этой ситуации медицина бессильна :(
А если по делу, то когда проблемы начинаются с добавлением датчика температуры, то скорее всего проблема в таймингах. Протокол OneWire к ним ОЧЕНЬ чувствителен. Если во время его работы вклинится I2C они могут сойти с ума.
Проверить можно так.
1. Закомментируйте в программе ВСЁ, связанное с температурными датчиками. Убедитесь, что датчик давления работает.
2. Закомментируйте в программе ВСЁ, связанное с датчиком давления. Убедитесь, что все температурные датчики работают.
Если по отдельности всё работает, то программно разнесите опрос температуры и дваление по времени, чтобы в каждый момент времени гарантированно работало только что-то одно. И всё должно быть в порядке.
Если же п.1. и 2. не верны, то скажите. Мы пока забудем про один тип датчика и добъёмся. чтобы второй отдельно хорошо работал.
сдергиваю датчики давления с пина ардуино (сигнальный провод), естественно вываливается по температуре -127, а давление начинает показывать
Боюсь, что в этой ситуации медицина бессильна :(
проблему нашел, как всегда не внимательность..
251 строка-перезапрос датчиков температуры, если есть где то -127
262 считывание показания давления
почему сначала работало, до добавления датчика? датчик физически висел на шине, но в коде был заведомо не верный адрес вбит, чтобы давление получать, временно, до выяснения причин, соотв вываливалось -127, давление есть
а как только ставлю нормальный адрес, ошибок датчиков температуры нет, показатель давления не получаем..как то так
надо быть впредь внимательнее)