Описание
Герметичный датчик пригодится, когда нужно измерить температуру в неблагоприятной для микросхем среде: воды в аквариуме или чайнике, воздуха на улице под дождем, почвы в теплице и на участке. При необходимости он поможет оценить и температуру тела.
Датчик основан на популярной микросхеме DS18B20. Он измеряет температуру в диапазоне от −55 до +125 °C и передает данные в цифровом виде с 12-битным разрешением по протоколу 1-Wire.
Особенности
- Протокол 1-Wire позволяет подключить множество датчиков к одному цифровому порту контроллера всего двумя проводами: землей и сигналом. В этом случае используется «паразитное питание», при котором датчик получает энергию прямо с линии сигнала
- Каждый датчик имеет уникальный 64-битный код, прошитый на производстве: по нему микроконтроллер обращается к конкретному сенсору на общей шине
- В постоянной памяти DS18B20 можно сохранить граничные значения температуры, при выходе за которые сенсор переходит в режим тревоги. На общей шине микроконтроллер за раз узнает, какие датчики перешли в этот режим, и легко находит проблемный участок
- Разрешение настраивается от 9 до 12 бит: чем меньше разрешение, тем выше скорость преобразования
Подключение
Датчик можно подключить двумя способами:
- По трем проводам: питание, земля и сигнал
- По двум проводам: земля и сигнал. В этом случае датчик изредка может давать неверные показания, которые легко исключить фильтрацией
При любом способе подключения сигнальный провод необходимо соединить с питанием через резистор 4,7 кОм. Чтобы не думать о схемотехнике, подключайте датчик через модуль подтяжки.
Программирование
Для работы с устройствами по протоколу 1-Wire в Arduino IDE есть готовая библиотека OneWire, а для работы именно с DS18B20 — библиотека-надстройка от Майлса Бертона.
Комплектация
- Датчик температуры в герметичном корпусе, 1 шт
