Аппаратные подключения
-
VGA вывод:
-
Красный: GPIO14
-
Зеленый: GPIO19
-
Синий: GPIO27
-
H-Sync: GPIO32
-
V-Sync: GPIO33
-
-
Кнопки:
-
Сброс нумерации: GPIO21 (подтяжка к GND)
-
Режим мониторинга: GPIO34 (подтяжка к GND)
-
Переключение режимов: GPIO15 (подтяжка к VCC)
-
-
Датчики DS18B20:
-
Шина 1-Wire: GPIO5
-
Управление питанием: GPIO4
-
-
Питание:
-
5V для VGA порта через резисторы
-
3.3V для ESP32
-
Рекомендации по доработкам
-
Аппаратные улучшения:
-
Добавьте буферные усилители для VGA сигналов (74HC125)
-
Используйте отдельный блок питания 5V для VGA
-
Установите защитные диоды на линии данных DS18B20
-
Добавьте светодиодные индикаторы режимов работы
-
-
Программные улучшения:
-
Реализуйте OTA-обновления прошивки
-
Добавьте сохранение состояния в EEPROM
-
Реализуйте энергосберегающий режим
-
Добавьте проверку CRC для данных датчиков
-
-
Безопасность:
-
Добавьте пароль администратора для веб-интерфейса
-
Реализуйте HTTPS для защищенного подключения
-
Добавьте фильтрацию входных данных в веб-формах
-
-
Пользовательский интерфейс:
-
Реализуйте графики температуры на VGA
-
Добавьте звуковые оповещения
-
Создайте мобильную версию веб-интерфейса
-
Особенности работы системы
-
Режим нумерации (по умолчанию):
-
Автоматическая нумерация датчиков >37°C
-
VGA-вывод прогресса нумерации
-
Кнопка сброса на GPIO21
-
-
Режим мониторинга:
-
Активируется кнопкой на GPIO34
-
Прокрутка списка датчиков
-
Цветовая индикация состояния
-
-
Режим конфигурации:
-
Активируется кнопкой на 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. Первый запуск
-
Подключите питание.
-
ESP32 создаст Wi-Fi точку доступа:
-
SSID:
ProgrammatorTHTL#1
-
Пароль: отсутствует (открытая сеть).
-
-
Подключитесь к этой сети с ПК/смартфона.
2. Веб-интерфейс
Откройте браузер и перейдите по адресу: http://192.168.4.1
2.1. Главный экран
-
Список датчиков:
-
Отображаются все обнаруженные DS18B20.
-
Для каждого показаны:
-
Текущая температура
-
Пороги TH/TL
-
Разрешение (9–12 бит)
-
Адрес (hex)
-
-
-
Кнопки управления:
-
Обновить список — повторный поиск датчиков.
-
Автонумерация — присвоение номеров по нагреву.
-
Инструкция — ссылка на это руководство.
-
2.2. Выбор датчика
-
Нажмите "Выбрать" под нужным датчиком.
-
Теперь можно настраивать его параметры.
3. Настройка параметров датчика
3.1. Установка порогов TH/TL
-
Комбинированное значение (для косы):
-
Введите число 0–65535, где:
-
Первые 2 байта (0–255) → TL (нижний порог).
-
Следующие 2 байта (0–255) → TH (верхний порог).
-
-
Пример:
-
Ввод
258
(0x0102) → TH=1, TL=2. -
Ввод
65280
(0xFF00) → TH=255, TL=0.
-
-
-
Отдельная установка 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. Как работает?
-
Нажмите "Автонумерация".
-
Поочередно нагревайте датчики (феном, пальцем, горячим воздухом).
-
Как только датчик нагреется выше 33°C, ему присваивается номер.
-
Номер сохраняется в 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 через удобный веб-интерфейс. 🚀