Описание программы для работы с датчиками температуры DS18B20
Основной функционал
Программа предназначена для работы с несколькими датчиками температуры DS18B20, подключенными по шине 1-Wire. Основные возможности:
-
Автоматическая нумерация датчиков при превышении температурного порога (27°C по умолчанию)
-
Ручной режим для настройки отдельных датчиков
-
Сброс нумерации всех датчиков
-
Отображение информации на OLED-дисплее
-
Мониторинг температуры в реальном времени
Особенности программы
Аппаратные настройки
-
Используется пин 10 для шины 1-Wire
-
Пин 7 для кнопки сброса (RESET_PIN)
-
Пин 9 для активации ручного режима (MANUAL_MODE_PIN)
-
OLED-дисплей с адресом 0x78 (I2C)
Хранение номеров датчиков
Номера датчиков сохраняются непосредственно в их EEPROM с использованием:
-
setHighAlarmTemp
- для младшего байта номера -
setLowAlarmTemp
- для старшего байта номера -
saveScratchPad
- для сохранения в EEPROM
Режимы работы
1. Основной режим
-
Автоматически присваивает номера датчикам, температура которых превышает порог
-
Нумерация последовательная (1, 2, 3...)
-
Отображает общее количество датчиков и количество пронумерованных
2. Ручной режим (активируется кнопкой)
-
Режим 1: Установка номера для последнего обнаруженного датчика (0-65535)
-
Режим 2: Изменение конфигурационного байта датчика (разрешение и др.)
3. Режим сброса
-
Сбрасывает все назначенные номера датчиков
-
Обнуляет счетчик пронумерованных датчиков
Важные функции
-
writeStoredNumber16()
- записывает 16-битный номер в датчик -
changeConfigByte()
- изменяет конфигурационный байт датчика -
resetAllNumbers()
- сбрасывает все номера датчиков -
manualMode()
- обработка ручного режима -
updateDisplay()
- обновление информации на OLED-дисплее
Особенности использования
-
Для работы с последовательным портом используется скорость 9600 бод
-
Программа поддерживает до 24 датчиков одновременно
-
Температурный порог можно изменить через константу
TEMP_THRESHOLD
-
Поддерживается русский язык на дисплее (используется шрифт SmallFontRus)
Программа удобна для систем мониторинга, где важно идентифицировать датчики по их текущему состоянию (температуре), а также позволяет гибко настраивать параметры отдельных датчиков вручную.
СМОТРЕТЬ СКЕТЧ