Аппаратные подключения

  1. VGA вывод:

    • Красный: GPIO14

    • Зеленый: GPIO19

    • Синий: GPIO27

    • H-Sync: GPIO32

    • V-Sync: GPIO33

  1. Кнопки:

    • Сброс нумерации: GPIO21 (подтяжка к GND)

    • Режим мониторинга: GPIO34 (подтяжка к GND)

    • Переключение режимов: GPIO15 (подтяжка к VCC)

  2. Датчики DS18B20:

    • Шина 1-Wire: GPIO5

    • Управление питанием: GPIO4

  3. Питание:

    • 5V для VGA порта через резисторы

    • 3.3V для ESP32

Рекомендации по доработкам

  1. Аппаратные улучшения:

    • Добавьте буферные усилители для VGA сигналов (74HC125)

    • Используйте отдельный блок питания 5V для VGA

    • Установите защитные диоды на линии данных DS18B20

    • Добавьте светодиодные индикаторы режимов работы

  2. Программные улучшения:

    • Реализуйте OTA-обновления прошивки

    • Добавьте сохранение состояния в EEPROM

    • Реализуйте энергосберегающий режим

    • Добавьте проверку CRC для данных датчиков

  3. Безопасность:

    • Добавьте пароль администратора для веб-интерфейса

    • Реализуйте HTTPS для защищенного подключения

    • Добавьте фильтрацию входных данных в веб-формах

  4. Пользовательский интерфейс:

    • Реализуйте графики температуры на VGA

    • Добавьте звуковые оповещения

    • Создайте мобильную версию веб-интерфейса

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

  1. Режим нумерации (по умолчанию):

    • Автоматическая нумерация датчиков >37°C

    • VGA-вывод прогресса нумерации

    • Кнопка сброса на GPIO21

  2. Режим мониторинга:

    • Активируется кнопкой на GPIO34

    • Прокрутка списка датчиков

    • Цветовая индикация состояния

  3. Режим конфигурации:

    • Активируется кнопкой на GPIO15

    • Создает WiFi точку доступа

    • Веб-интерфейс для настройки параметров

    • VGA-вывод IP адреса для подключения

Система автоматически переключается между режимами с сохранением текущего состояния датчиков. Для оптимальной работы рекомендуется использовать ESP32 с PSRAM (ESP32-WROVER).

Смотреть скетч

Смотреть скетч без WiFi

Другой вариант, развитие проекта 1179 (более удачный по мне)

1. Подключение устройства

1.1. Аппаратная часть

  • ESP32 подключен к шине 1-Wire (датчики DS18B20).

  • Питание:

    • Можно использовать USB или внешний источник 3.3V–5V.

    • Напряжение батареи контролируется через делитель (R1=100k, R2=10k).

  • 1-Wire линия:

    • Датчики подключены параллельно (VCC, GND, DATA + подтяжка 4.7 кОм).

    • Максимальное количество датчиков — 50.

1.2. Первый запуск

  1. Подключите питание.

  2. ESP32 создаст Wi-Fi точку доступа:

    • SSIDProgrammatorTHTL#1

    • Пароль: отсутствует (открытая сеть).

  3. Подключитесь к этой сети с ПК/смартфона.

2. Веб-интерфейс

Откройте браузер и перейдите по адресу: http://192.168.4.1

2.1. Главный экран

  • Список датчиков:

    • Отображаются все обнаруженные DS18B20.

    • Для каждого показаны:

      • Текущая температура

      • Пороги TH/TL

      • Разрешение (9–12 бит)

      • Адрес (hex)

  • Кнопки управления:

    • Обновить список — повторный поиск датчиков.

    • Автонумерация — присвоение номеров по нагреву.

    • Инструкция — ссылка на это руководство.

2.2. Выбор датчика

  • Нажмите "Выбрать" под нужным датчиком.

  • Теперь можно настраивать его параметры.

3. Настройка параметров датчика

3.1. Установка порогов TH/TL

  1. Комбинированное значение (для косы):

    • Введите число 0–65535, где:

      • Первые 2 байта (0–255) → TL (нижний порог).

      • Следующие 2 байта (0–255) → TH (верхний порог).

    • Пример:

      • Ввод 258 (0x0102) → TH=1TL=2.

      • Ввод 65280 (0xFF00) → TH=255TL=0.

  2. Отдельная установка TH (номер датчика):

    • Введите число 0–255 → запишется в TH.

    • Используется для нумерации датчиков.

3.2. Настройка разрешения

  • Выберите один из вариантов:

    Разрешение Точность Время измерения Рекомендация
    9 бит 0.5°C ~94 мс Быстрый замер
    10 бит 0.25°C ~187 мс Оптимально (косы)
    11 бит 0.125°C ~375 мс Повышенная точность
    12 бит 0.0625°C ~750 мс Максимальная точность (датчики)

4. Автонумерация датчиков

Позволяет автоматически пронумеровать датчики по их нагреву.

4.1. Как работает?

  1. Нажмите "Автонумерация".

  2. Поочередно нагревайте датчики (феном, пальцем, горячим воздухом).

  3. Как только датчик нагреется выше 33°C, ему присваивается номер.

  4. Номер сохраняется в TH (верхний порог).

4.2. Важные моменты

  • Перед началом:

    • Убедитесь, что у всех датчиков TH=0 (или нажмите "Сбросить нумерацию").

  • Если датчик не нумеруется:

    • Убедитесь, что он нагрелся достаточно сильно (>35°C).

    • Проверьте контакт на линии 1-Wire.

5. Измерение напряжения батареи

  • На главной странице отображается напряжение батареи.

  • Если <3.0V — рекомендуется заменить/зарядить батарею.

Как подключить батарею?

  • Через делитель напряжения (R1=100k, R2=10k) к пину GPIO35.

  • Не подключайте батарею напрямую к ESP32! (макс. 3.3V на GPIO).

6. Возможные проблемы и решения

Проблема Решение
Датчики не обнаруживаются Проверьте питание, контакты, подтяжку 4.7 кОм
Некорректные показания температуры Проверьте разрешение (лучше 12 бит)
Автонумерация не работает Убедитесь, что TH=0 и датчик нагревается
Нет Wi-Fi сети Перезагрузите ESP32

7. Рекомендации

✅ Для точных замеров используйте 12 бит.
✅ Для быстрого опроса (косы) — 10 бит.
✅ Перед автонумерацией сбросьте TH всех датчиков.
⚠ Не подключайте питание >5V — может сжечь ESP32!

Готово!

Теперь вы можете эффективно управлять датчиками DS18B20 через удобный веб-интерфейс. 🚀

Смотреть скетч