Описание программы для работы с датчиками температуры DS18B20

Основной функционал

Программа предназначена для работы с несколькими датчиками температуры DS18B20, подключенными по шине 1-Wire. Основные возможности:

  1. Автоматическая нумерация датчиков при превышении температурного порога (27°C по умолчанию)

  2. Ручной режим для настройки отдельных датчиков

  3. Сброс нумерации всех датчиков

  4. Отображение информации на OLED-дисплее

  5. Мониторинг температуры в реальном времени

Особенности программы

Аппаратные настройки

  • Используется пин 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. Режим сброса

  • Сбрасывает все назначенные номера датчиков

  • Обнуляет счетчик пронумерованных датчиков

Важные функции

  1. writeStoredNumber16() - записывает 16-битный номер в датчик

  2. changeConfigByte() - изменяет конфигурационный байт датчика

  3. resetAllNumbers() - сбрасывает все номера датчиков

  4. manualMode() - обработка ручного режима

  5. updateDisplay() - обновление информации на OLED-дисплее

Особенности использования

  • Для работы с последовательным портом используется скорость 9600 бод

  • Программа поддерживает до 24 датчиков одновременно

  • Температурный порог можно изменить через константу TEMP_THRESHOLD

  • Поддерживается русский язык на дисплее (используется шрифт SmallFontRus)

Программа удобна для систем мониторинга, где важно идентифицировать датчики по их текущему состоянию (температуре), а также позволяет гибко настраивать параметры отдельных датчиков вручную.

СМОТРЕТЬ СКЕТЧ

СКАЧАТЬ СКЕТЧ