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

Эта программа предназначена для работы с цифровыми датчиками температуры DS18S20, DS18B20 и DS1822 по протоколу OneWire, а также включает функционал управления через кнопки и отображения информации на OLED-дисплее.

Основной функционал программы:

  1. Работа с датчиками температуры:

    • Поиск и идентификация подключенных датчиков DS18x20

    • Чтение температуры с датчиков

    • Преобразование и отображение температуры в градусах Цельсия и Фаренгейта

    • Проверка контрольной суммы (CRC) для обеспечения целостности данных

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

    • Вывод идентификатора датчика (ROM)

    • Отображение текущей температуры

    • Индикация количества найденных устройств

    • Отображение состояния управления (кнопок)

  3. Управление через кнопки:

    • Кнопки подключены к пинам 7 и 9

    • Реализована навигация по массиву значений (увеличение/уменьшение)

    • Индикация нажатий кнопок на дисплее

  4. Дополнительные функции:

    • Поддержка нескольких датчиков на одной шине

    • Возможность записи параметров в датчики (версия 4 кода)

Структура программы:

  • Настройка (setup):

    • Инициализация последовательного порта

    • Инициализация OLED-дисплея

    • Настройка пинов кнопок как входов

  • Основной цикл (loop):

    1. Поиск датчиков на шине OneWire

    2. Чтение и проверка идентификатора датчика

    3. Определение типа датчика

    4. Запуск преобразования температуры

    5. Чтение результатов измерения

    6. Преобразование сырых данных в температуру

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

    8. Проверка состояния кнопок

    9. Поиск всех устройств на шине OneWire (дополнительный функционал)

Особенности реализации:

  1. Используется библиотека OneWire для работы с датчиками

  2. Для дисплея применяется библиотека iarduino_OLED_txt

  3. Реализована защита от переполнения массива значений (pos>30, pos<0)

  4. Имеется механизм антидребезга для кнопок (переменная number)

  5. В коде присутствуют несколько версий дополнительного функционала (помечены как ver 3, ver 4)

Программа может быть использована в системах мониторинга температуры с возможностью ручного управления параметрами через кнопки и визуализацией данных на OLED-дисплее.

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

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