Реле вологості своїми руками (arduino, урок №2)
Я давно хотів автоматизувати процес просушування ванної кімнати після купання. У мене було багато оглядів, присвячених темі вологості. Вирішив впровадити в життя (так би мовити) один з методів боротьби з нею. До речі, взимку в ванній і білизна сушимо. Досить витяжний вентилятор включити. Але стежити за вентилятором не завжди зручніше. Ось і вирішив поставити автоматику на цю справу. Перший досвід впровадження виявився невдалий. Огляд був. Але я не здався ...
Коли в'їхав в нову квартиру, майже відразу поставив в витяжку вентилятор зі зворотним клапаном. Вентилятор необхідний, щоб просушувати ванну кімнату після купання. Зворотний клапан потрібен для запобігання попадання в квартиру сторонніх запахів від сусідів (коли вентилятор мовчить). І таке буває. Вентканали у всіх індивідуальні, але цемент при кладці видно економили. Крізь щілини, ймовірно, запах і проходить.
Вентилятори у мене є різних варіантів. Є прості, тобто з таймером (регулюванням часовий інтервал), як на фото.
Саме таким і користувався до цього дня.
В даному конкретному випадку (у кого немає вентилятора з таймером) все можна зробити на програмному рівні.
Так як живу в багатоквартирному «мурашнику», то єдине місце для сушіння білизни - це балкон. У ванній може і згаснути. Для сушки необхідна або низька вологість, або циркуляція повітря. Виконання обох умов - найкращий варіант. Вентилятор повинен був вирішити цю проблему. Спочатку саме так і робив. Головне не забути його вимкнути. Під час роботи вентилятора необхідно відкривати трохи віконце. Про шкільну задачку з басейном і двома трубами нагадувати не треба? Щоб повітря виходило в витяжку, необхідно, щоб він звідкись входив в квартиру. У кого вікна дерев'яні, а не пластикові, проблем не буде. Щілин вистачить. А ось з пластиковими квартира перетворюється в тераріум.
Тут я і задумався про автоматизацію процесу. Саме для цього я і замовив датчики.
Сумним досвідом реалізації своєї ідеї я вже ділився. Ось той модуль. Він працювати не може в ПРИНЦИПІ. Але без діла не залишиться. І йому буде застосування.
(Напруга живлення: 5В. Максимальне навантаження: 10А 250В змінного і 10А 30В постійного струму). Використовую як блок реле. Для звичайного вентилятора цього достатньо.
Схему модуля я теж малював. Проблем з підключенням не буде.
Червоний світлодіод відображає наявність напруги живлення. Зелений - спрацювання реле. Даремний датчик (датчик вологості, його вже немає) я замінив на опір 10кОм. А також додав ще опір. Воно піде до «розумному» блоку. Обидва виділив червоним. Все це повинно виключити можливі непорозуміння. Адже блок реле живиться від напруги 5В, а «розумний» блок від 3,3. Управляється блок реле низьким рівнем. Високий рівень відключає реле (вентилятор). У прошивці це враховано.
В основі схеми лежить компаратор на LM393. Підлаштування резистор спочатку був призначений для настройки порога спрацьовування реле вологості. Можливо, його доведеться трохи крутануть.
Можна використовувати прості блоки реле. Вони продаються. Я ж буду використовувати те, що залишилося після минулого невдалої спроби.
Пора дивитися, в якому вигляді прибутку датчики AM2302 (DHT22). Замовив відразу три. Думаю, що тільки ванній це не обмежиться. В голові багато всяких ідей. Де б тільки знайти час і бажання для їх реалізації.
Ця зарядка без USB роз'єму. Ну дуже старенька (рекомендую використовувати більш нові, у них 5В на виході). Тому на виході 7В. Довелося припаяти МС стабілізатора КРЕН5А. В цьому нічого складного немає. Хто дружить з паяльником, той знає. А хто не дружить, дарма Новомосковскет топік.
Сильно не лякайтеся, зробив тимчасову будівлю. Після налагодження механізму все буде виглядати гідно. Можливо, і зарядку поміняю. Все залежить від того, з яким результатом прийду до фінішу. Встановлювати за місцем (на постоянку) буду після «комплексного випробування». Можливо, доведеться застосовувати зимовий / літній варіант програмного забезпечення. Температурні і вологості характеристики повітря взимку / влітку відрізняються.
Ще мені потрібно WIFI модуль з попереднього огляду.
Стане в нагоді кабель-конвертер (USB To RS232 TTL UART) для програмування WIFI модуля.
Блок схема моєї затії виглядає просто.
Але нюанси звичайно ж є.
Залишилося скласти програму управління вентилятором.
Умов кілька:
1. Вентилятор включається при досягненні вологості більше 68%.
2. Час роботи (таймер) 5 хвилин.
3. Передача даних про температуру і вологість по WIFI (про всяк випадок).
4. Індикація режиму по WIFI.
Якщо зупинитися на умови №1, то досить буде найпростішою Arduino. Але Arduino у мене тільки одна плата, а WIFI модулів цілих три :)
Особисто для мене найскладніше місце - складання програми, трохи (м'яко сказано) не моя тема. Але життя тече і захоплює в свою течію всі великі маси людей. Буду осягати неосяжні простори Arduino на прикладі датчика вологості DHT22 і WIFI модуля. Але якщо у мене все вийшло, значить, вийде і у вас.
Спочатку деяка інформація для чайників, як я.
У програмі Arduino IDE не вистачає в настройках тих плат, які я буду використовувати. Наприклад, ESP8266 треба додати.
Додавання компонентів на прикладі ESP8266.
При цьому необхідно підключення до інтернету. Обов'язково!
Потім заходжу в менеджер плат.
Інструменти → Плата: ... → Менеджер плат.
Знаходжу свій модуль. Обираю останню версію. Натискаю встановити.
У скачав програму Arduino IDE не вистачає і бібліотек для датчиків. Наприклад, бібліотеку DHT22 теж треба додати.
Підключення бібліотеки на прикладі датчика DHT22.
Спочатку з інтернету скачую архів типу DHT.zip. Знайти не проблема.
Потім запускаю програму Arduino IDE.
Скетч → Підключити бібліотеку → Додати zip бібліотеку.
З'являється вкладка типу цієї.
Вказую місце зберігання ... Open.
Бібліотека підключена.
Залишилася справа за малим :)
Схема підключення датчика вологості може відрізнятися. Мої прийшли у вигляді модуля з трьома висновками і опорами, вже встановленими на платі.
Ну і, нарешті, заливка скетчу.
Відкриваю готовий скетч. У моєму випадку «WiFi-DHT22_AleksPoroshin68.ino».
Arduino IDE запускається автоматично.
Потім підключаю програматор, заходжу в інструменти і підключаю Com-порт. Той, до якого підключився висвічується. Його і активують. На моєму нетбуці їх три: це com6, com8 і com10.
Вивчаю прошивку. Можна змінити ім'я і пароль доступу.
Натискаю кнопку для завантаження.
Відбувається компіляція скетчу. Досить довго.
У цей час необхідно натиснути скидання на зібраної схемою модуля.
При цьому GPIO 00 на нулі.
Ось сам скетч:
Сильно не сваріть. Я тільки вчуся.
Після заливки скетчу для підтвердження програмування GPIO підключаю до +3,3. Потім відключаю. Прошивка залита.
Збираю схему на макетніце. Все перевіряю. Працює. Але не все так добре, як хотілося. У потрібному мені діапазоні китайські датчики занижують показання на 5-6%.
Німецькому Логгер у мене довіри більше. Та й ціна у нього в кілька десятків разів більше. А найголовніше, він пройшов перевірку.
Ввів поправку в програму (додав 5 одиниць). Я згоден, що це неправильно. Але в діапазоні 40-70% показує точно. Більш правильно зняти характеристику і виправити бібліотеку. До цього я не готовий :). Решта датчики теж брехали. Хоча все показували приблизно однаково.
Ось так виглядає інтернет сторінка, якщо підключиться до мого WIFI модулю:
Паролі та явки вказані в скетчі.
Перемикання відбувається на 68% вологості. Все чітко.
Але є один нюанс. І його не враховувати не можна. На кордоні в 68% вологості вентилятор може циклу, то включаючись, то вимикаючись. Для вирішення цієї проблеми потрібен таймер. У мене вентилятор з таймером. Тобто проблеми немає. У кого звичайний вентилятор, доведеться вирішувати цю проблему на програмному рівні.
Подальша моя задача все це зібрати згідно зі схемою, але вже не на макетніце і протестувати протягом місяця. Всі зміни можна вносити в процесі експлуатації. Що робити і куди вставляти, я все написав.
Кілька слів з приводу монтажу датчика. Засовувати його в вентканал не раджу. Причина проста. Навіть в найчистішою і доглянутій квартирі присутній пил, яка при включенні вентилятора саме туди і спрямовується (в ветканал). А адже рік тому я вентилятор виймав і ретельно чистив.
Щоб не міняти часто датчики через їх псування, рекомендую знайти їм більш підходяще місце, де-небудь поруч. Додатково можна обернути для захисту від пилу серветкою з нетканого матеріалу або чимось подібним. І буде вам щастя.
На цьому все.
Як правильно розпорядитися відомостями з мого огляду кожен вирішує сам. Кому щось неясно, задавайте питання. Сподіваюся, хоч комусь допоміг. Можливо, хтось захоче допомогти мені. Я буду дуже вдячний.
Удачі всім!
Перевірка на працездатність:
Далі буде…