# Таймер автоклава для работы с терморегулятором Легковесное решение для автоматизации процессов стерилизации в автоклаве на базе микроконтроллера Wemos D1 Mini (ESP8266) под управлением прошивки NodeMCU Lua (версия integer-only, без плавающей точки). Система управляет циклом нагрева и выдержки времени по сигналу от внешнего термостата. Настройка времени работы осуществляется локально с помощью ползункового фейдера, а удаленный мониторинг доступен через автономный веб-интерфейс по WiFi. ## Особенности системы - **Защита при старте:** Встроенная программная пауза 5 секунд при включении устройства в розетку для предотвращения ложных срабатываний до стабилизации питания. - **Аппаратная фиксация таймера:** Уставка времени жестко блокируется в памяти в момент первого достижения рабочей температуры. Случайное смещение ползунка во время стерилизации не повлияет на обратный отсчет. - **Фильтрация шумов АЦП:** Сглаживание показаний потенциометра методом скользящего среднего по 10 замерам для устранения дребезга значений. - **Нелинейная шкала времени:** Дискретность шага составляет 5 минут в диапазоне до 1 часа и 10 минут в диапазоне от 1 до 3 часов для удобной физической разметки панели. - **Автономный Веб-интерфейс:** Точка доступа WiFi (`192.168.4.1`) работает без пароля и выводит адаптивную страницу со статусом системы и поминутным округлением оставшегося времени (с автообновлением каждые 5 секунд). - **Ориентированность на отказоустойчивость:** Код разработан с учетом совместной работы с независимой механической защитой по питанию. ## Коммутация и распиновка (Pinout) | Компонент | Пин Wemos D1 | ID пина в NodeMCU | Логический уровень / Питание | Описание | | :--- | :--- | :--- | :--- | :--- | | **Реле ТЭНа** | `D1` (GPIO5) | `1` | Выход 3.3V | Управляет силовым реле или контактором ТЭНов. | | **Сигнал термостата** | `D2` (GPIO4) | `2` | Вход 3.3V (Pull-up) | Подключается к сухим контактам внешнего термостата. Пока идет нагрев, контакты замкнуты на GND. При достижении уставки размыкаются (переход в HIGH). | | **Фейдер времени** | `A0` (ADC0) | `0` | Аналоговый 0V - 3.3V | Ползунковый потенциометр 10 кОм. Подключается строго к линиям `3V3` и `GND`. | | **Аварийный термостат** | *Внешний* | *Отсутствует* | Силовая линия ~220В | Биметаллический выключатель KSD301 (130°C/140°C NC с кнопкой ручного сброса) на корпусе. Включается последовательно в разрыв питания ТЭНа. | ### ⚠️ Предупреждение по питанию потенциометра Несмотря на то, что периферийные датчики могут питаться от 5V, ползунковый резистор времени **ОБЯЗАТЕЛЬНО** должен быть запитан от пина **`3V3`** платы Wemos. Это гарантирует, что аналоговый сигнал не превысит допустимый предел встроенного делителя напряжения ESP8266 (3.2V).