Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Bluetooth-термостат с управлением освещением и вентиляцией на Arduino Nano

Компоненты и материалы

Компонент Количество Примечание
Arduino Nano R3 1 Основной контроллер
Bluetooth-модуль HC-05 1 Беспроводное управление
Цифровой термометр DS18B20 (1-Wire) 1 Датчик температуры
OLED-дисплей 128×64 I2C (двухцветный) 1 Поддерживается библиотекой u8glib
4-канальный I2C релейный модуль (ControlEverything.com) 1 Управление нагрузками

Приложения и сервисы

О проекте

Введение

Простой, но полезный DIY-термостат на Arduino с Bluetooth-управлением. Умный алгоритм термостата управляет газовым котлом, а реле переключают кухонное освещение и вентилятор ванной комнаты. Управление возможно как с кнопок на устройстве, так и с Android-устройства или компьютера через Bluetooth. Реализованы версии для Цельсия и Фаренгейта. Все детали выполнены вручную.

Проект разработан на Arduino Nano (или старших платах), использует датчик Dallas DS18B20, Bluetooth-адаптер HC-05/06, I2C OLED-дисплей 128×64 (поддерживается u8glib — можно использовать другие LCD/OLED).

Режимы работы котла

  1. Разовый нагрев (15 мин) — таймерный режим, удобен весна/осенью вечерами.
  2. Режим термостата (приоритетный) — целевая температура сохраняется в EEPROM.

Алгоритм защиты котла

Частое кратковременное включение/выключение сокращает ресурс газового котла. Для предотвращения этого используются корректировочные коэффициенты — они задают величину перегрева и остывания. При более низких температурах корректировка больше, так как стены холоднее и интенсивнее забирают тепло от нагретого воздуха, усиливая описанный эффект.

Обнаружение открытого окна

Если за минуту температура падает минимум на 0.2 °C (0.36 °F) — срабатывает «Window Alert»: отопление останавливается или не запускается, вентилятор включается для проветривания. Когда воздух нагревается минимум на 0.12 °C (0.216 °F) за счёт теплоёмкости помещения — система возвращается в нормальный режим, тревога сбрасывается.

Обнаружение ошибок

Температура ниже 0 °C (32 °F) или выше 40 °C (104 °F) трактуется как неисправность (поломка датчика, разбитое окно, пожар и т.д.) — все устройства отключаются.

Bluetooth-коммуникация

Android-приложение с 8 кнопками отправляет буквенные коды: заглавные — включение, строчные — выключение (A/a — таймерный нагрев, B/b — вентиляция, C/c — освещение и т.д.).

Также поддерживается «гиковский» режим: обмен данными через любой Bluetooth-терминал (Android-приложение или Serial Monitor Arduino IDE). Контроллер автоматически отправляет отчёты о температуре каждую минуту и мгновенные уведомления о событиях (включение/выключение устройств, срабатывание термостата и т.д.).

Коды управления

Принимаются двухзначные числовые коды «XY» (X — код устройства, Y — код операции):

Версия для Фаренгейта

Все корректировочные переменные, опорные значения и коэффициенты пересчитаны. Изменены коды устройств:

Продолжение проекта

UPDATE: Полная система домашней автоматизации со встроенным Bluetooth-каналом и голосовым управлением!

Библиотеки и ссылки

DallasTemperature, elapsedMillis, OneWire, SoftwareSerial, olikraus/u8glib

Для настройки кнопок на одном аналоговом входе: туториал

Исходный код

Две версии скетча (Celsius и Fahrenheit) с подробными комментариями, модульной структурой и пояснениями логики работы. Код доступен в разделе Code проекта.

Схемы

Схема сборки на макетной плате и вариант для пайки.

Производственный процесс

  1. Интегрированная система контроля доступа с QR, RFID и верификацией температуры
  2. Универсальный Android-пульт на Arduino, 1Sheeld и ИК-управлении
  3. Умная копилка: управление монетоприёмником на Arduino Nano
  4. Автоматическая система полива растений на Arduino — уходи в отпуск спокойно
  5. Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
  6. Умные самозавязывающиеся туфли с встроенной сборкой энергии
  7. Управление двумя шаговыми двигателями через джойстик на Arduino Nano — простой урок (Visuino)
  8. Точное управление сервоприводом через MPU6050 (Arduino, SG90, MG996R)
  9. Голосовое управление бытовыми приборами: Bluetooth-управление через Google Assistant
  10. Удалённое управление автомобилем на Arduino Uno и Bluetooth: пошаговое руководство