Задача:
Автоматизировать вентиляцию в старом до военном доме в ванной и туалете, где от времени и не обслуживания управляющей компанией вентиляционной системы не работает как положено. Квартира находится на первом этаже сталинской постройки, имеет подвальные помещения без гидроизоляции фундамента. Из-за чего постоянная повышенная влажность в помещениях. Собрать энерго эффективную и мало потребляемую систему
Решение:
Так как от моих постоянных экспериментов накопилось множество ардуин, начиная от нано и заканчивая due, была использована Arduino Mega как управляющий контроллер. Вы можете использовать любую другу арнуинк, только надо пины поменять.
Что он должен уметь:
Должен что то показывать, как минимум данные на экран (OLDE SSD1306)
Показывать реальную температуру и влажность (DTH22)
Показывать дату и время (RTC)
Управлять светом зеркала (Omron G3MB-202P и HC-SR04)
Вентиляторы
Управление вентиляторами
Что и где я закупал:
Для вывода данных используем экран SSD 1366 0,96 дюйма - Ссылка на продавца
Методом проб, ошибок и измерений выбрал датчик влажности DTH22 он более точный чем DTH11 - Ссылка на продавца
Модуль DS3231 RTC - Ссылка на продавца
Твердотельное реле Omron G3MB-202P - Ссылка на продавца
Ультразвуковой датчик HC-SR04 - Ссылка на продавана
Arduino Mega 2560 R3 (вы можете использовать uno. mini и т.д.) - Ссылка на продавца
Реле для пропеллеров - Ссылка на продавца
Сами пропеллеры называются Dexp - покупал в DNS-shop в рознице, у них низкий уровень шума, красивая подсветка, НО они перекачивают маленький объём воздуха поэтому обращайте внимание на параметр CFM чем выше тем больше прокачивает
Макетная плата для распайки плюсовой и минусовой линии, они у меня в огромном запасе и не помню где их брал
Зарядка от старого телефона на 5 вольт из той же личной помойки запчастей
Реализация:
И так, раскинем всё на несколько задач.
1) Управление вытяжкой происходит при измерении влажности в помещении. Если влажность равна или больше какого-то значения, то должен включаться вентилятор. Если влажность меньше какого-то значения, то вентилятор отключается. В моём случае первый этаж влажность повышенная постоянно и для меня идеальное значение 65% влажности. Соответственно что бы реле не сходило с ума и не перенапрягалось от скачков измерений влажности, срабатывание на вытяжку должно быть больше 65%
2) "Умное" управление подсветкой зеркала. Есть некий датчик, который измеряет расстояние до объекта. Если скажем значение у нас равно или меньше + - 70 см, то мы включаем реле и загорается подсветка. Если больше, реле выключено.
3) Выводить дату и время. Мне это например необходимо что бы понимать сколько сейчас времени и насколько я опаздываю.
4) Для тестирования, отладки и понимания что сейчас в помещении - выводить все данные с датчиков
[Супер - Схема]
Определяем пины:
DHT (Влажность и температура) - D2 (Data)
HC-SR04 (Ультразвуковой дальномер) - D3 (Echo)
HC-SR04 (Ультразвуковой дальномер) - D4 (Triger)
Реле вентиляторов - D5, D6, D7 (Data)
Реле управления светом (твердотельное) - D8 (Data)
Экран + RTC - работают по I2C шине
В скетче так же есть за комментированные стоки на A0 и D10, можете их использовать но в скетче надо сделать проверку работы реле на вентилятор в туалете на включение света или зацепить на D10 отдельный вентилятор
Подключение
Так как я рукожоп и рисовать не умею, то опишу на словах, оба типа реле имеют 3-х контактное подключение + - и данные, т.е. ноль или единица.
Соответственно + распаиваем на 5 вольт - распаиваем на общий - data распаиваем на нужный пин описанный выше
Ультразвук имеет 4 контакта, так же раскидываем провода, + на +, - на - Echo на D3, Triger на D4
Экран и RTC подключаются в параллели, SDA в SDA SCL в SCL
Видео: