- Необхідні матеріали
- Датчик дощу
- Працює датчик дощу
- Кругова діаграма
- Пояснення коду
- Працює система виявлення дощу на базі Arduino
Просту систему виявлення дощу можна легко створити, зв’язавши Arduino з датчиком дощу. Датчик виявить будь-які дощі, що падають на нього, і плата Arduino відчує це і може виконати необхідні дії. Така система може бути використана у багатьох різних сферах, таких як сільське господарство та автомобільна галузь. Виявлення опадів можна використовувати для автоматичного регулювання процесу зрошення. Також дані про безперервну кількість опадівможе допомогти фермерам використовувати цю розумну систему для автоматичного поливу врожаю лише тоді, коли це абсолютно потрібно. Так само в автомобільному секторі склоочисники можна зробити повністю автоматичними за допомогою системи виявлення дощу. А Системи домашньої автоматизації також можуть використовувати детектор дощу для автоматичного закриття вікон та регулювання кімнатної температури. У цьому підручнику ми створимо базовий датчик дощу за допомогою Arduino із зумер. Потім ви можете використовувати цю установку, щоб побудувати все, що завгодно, поверх неї. Крім того, зверніть увагу, що модуль датчика дощу також згадуються як датчик дощової краплі або датчик дощомір або датчик дощової води на основі використання, але всі вони відносяться до однієї і того ж датчику, використовуваному в цьому проекті і всі вони працюють за тим же принцип.
Ми також створили просту сигналізацію про дощ та автоматичний склоочисник автомобіля, використовуючи лише таймер 555, можливо, ви захочете перевірити це, якщо ви не хочете використовувати Arduino. З огляду на це, давайте повернемось до цього проекту і почнемо будувати наш Arduino Rain Mero.
Необхідні матеріали
- Arduino UNO
- Датчик дощу
- Зумер
- Макет
- Підключення проводів
Датчик дощу
Модуль дощових крапель складається з двох плат, а саме дощової дошки та контрольної дошки.
Модуль плати Rain складається з двох мідних доріжок, сконструйованих таким чином, що в сухих умовах вони забезпечують високий опір напрузі живлення, і ця вихідна напруга цього модуля становитиме 5 В. Опір цього модуля поступово зменшується щодо збільшення вологості на платі. Зі зменшенням опору його вихідна напруга також зменшується щодо вологості на модулі. Модуль плати Rain складається з двох штифтів, що використовуються для підключення до плати управління, як показано нижче.
Модуль контрольної плати контролює чутливість і перетворює аналоговий вихід на цифровий. Якщо аналогове значення нижче порогового значення плати управління, вихід є цифровим низьким, а якщо аналогове значення вище порогового значення, вихід цифровим високим. Для цього порівняння та перетворення використовується компаратор OP-Amp LM393. Компаратор Op-Amp - це цікава схема, яку можна використовувати для порівняння двох різних значень напруги; ми вже використовували цю схему у багатьох проектах, таких як Smart Electronic Candle, лазерна сигналізація, Line Follower Robot та багато іншого.
Модуль управління дощем, який показаний нижче, складається з 4 контактів для підключення Arduino, а саме VCC, GND, D0, A0 та ще двох контактів для підключення модуля дощової дошки. Таким чином, модуль дощової дошки визначає дощову воду, а модуль дошки управління використовується для контролю чутливості та порівняння та перетворення аналогових значень у цифрові.
Працює датчик дощу
Робота модуля датчика дощу зрозуміла просто. У сонячний день завдяки сухості модуля дощової дошки він забезпечує високу стійкість до напруги живлення. Ця напруга відображається на вихідному штифті модуля дощової дошки як 5 В. Цей 5В зчитується як 1023, якщо зчитується аналоговим штифтом Arduino. Під час дощу дощова вода спричинює збільшення вологості на дощовій дошці, що в свою чергу призводить до зменшення опору, пропонованого для подачі. Коли опір поступово зменшується, вихідна напруга починає зменшуватися.
Коли дощова дошка повністю намокла, а опір, який вона пропонує, є мінімальним, вихідна напруга буде якомога меншим (приблизно 0). Це 0V зчитується як значення 0, якщо зчитується аналоговим штифтом Arduino. Якщо модуль дощової дошки частково мокрий, вихід цього модуля дощової дошки буде дорівнювати опору, який він надає. Якщо опір, який пропонує модуль дощової дошки, є таким, що на виході дорівнює 3 В, зчитане аналогове значення становитиме 613. Формула для пошуку АЦП може бути задана, ADC = (значення аналогової напруги X 1023) / 5. Використовуючи цю формулу, ви можете перетворити будь-яку аналогову напругу в значення аналогового зчитування Arduino.
Кругова діаграма
На наведеній нижче схемі представлені схеми підключення датчика падіння дощу з Arduino. Конструкція виконана з використанням протея, фізичні модулі схожі на модулі, показані на схемі.
Модуль дощоміра, який зображений на схемі, підключений до плати управління. Штифт VCC плати управління підключений до джерела живлення 5 В. Штифт заземлення з'єднаний із землею. Якщо потрібно, контакт D0 підключається до будь-якого цифрового контакту Arduino, і цей контакт повинен бути оголошений як вихідний контакт у програмі. Проблема, з якою ми стикаємося з виводом D0, полягає в тому, що ми не можемо отримати точне значення вихідної напруги. Якщо вихід перетинає порогову напругу, тоді модуль управління може відчути зміну на виході. Нам потрібно керувати зумером, навіть якщо в модулі дощової дошки спостерігається значна зміна вихідної напруги. Через ці причини штифт A0 підключений до аналогового штифта Arduino, що полегшує моніторинг зміни вихідних даних. Звуковий сигнал, який використовується як сигнал для користувача,може бути підключений до будь-якого цифрового виводу Arduino. Якщо зуммеру потрібно більше 5 В, спробуйте підключити ланцюг реле або транзистор, а потім підключити до нього навантаження.
Пояснення коду
Код Arduino для датчика дощу був написаний за допомогою IDE Arduino. Повний код цього проекту наведено в кінці сторінки.
# визначити кількість опадів A0 # визначити зумер 5 int значення; int set = 10;
Визначивши висновок A0 як кількість опадів, а висновок 5 як зумер і оголосивши змінну “value” і “set” цілими числами та встановивши її значення змінної як 10. Це значення можна змінити відповідно до необхідного рівня роботи. Якщо ви хочете, щоб зуммер активувався, навіть при невеликому дощі встановіть його на мінімальне значення
void setup () {Serial.begin (9600); pinMode (зумер, ВИХІД); pinMode (кількість опадів, INPUT); }
Ініціалізація послідовного зв'язку та налаштування зумера. Встановлення штифта для дощу як вихідного штифта та вхідного штифта
void loop () {value = analogRead (кількість опадів); Serial.println (значення); значення = карта (значення, 0,1023,225,0);
функція analogRead зчитує значення датчика дощу. Карта функцій відображає значення датчика дощу з вихідного штифта і присвоює значення змінної в діапазоні від 0 до 225.
if (value> = set) {Serial.println ("дощ виявлений"); digitalWrite (зумер, HIGH);
Якщо значення датчика зчитування перевищує встановлене значення, програма входить в цикл, друкує повідомлення на послідовному моніторі та вмикає зумер
else {digitalWrite (зумер, LOW);
Програма вводить функцію else лише тоді, коли значення менше встановленого значення. Ця функція вимкне звуковий сигнал, коли встановлене значення перевищує значення датчика, який повідомляє про відсутність дощу.
Працює система виявлення дощу на базі Arduino
Ця система працює таким чином, що коли йде дощ, дощова вода діє як спусковий механізм, який вмикає зумер. У коді Arduino для датчика падіння дощу ми визначили, що висновки 5 та A0 - це зумер та кількість опадів. Роблячи це, ми можемо змінити шпильки у визначеній частині функції, а решта частини коду буде недоторканою. Це змусить програміста легко редагувати шпильки.
У циклі void команда analogRead зчитує значення з датчика. У наступному рядку команда Serial.println (value) друкує значення на послідовному моніторі. Це буде корисно під час налагодження. Функція map відображає вхідне значення між 0-225. Формат функції для карти - це карта (значення, мінімальне значення, максимальне значення, значення, яке слід зіставити для мінімального значення, значення, яке буде відображено для максимального значення). Звуковий сигнал буде ввімкнено або вимкнено залежно від встановленого значення та потужності датчика. Це значення порівнюється у функції if із встановленим значенням. Якщо значення більше встановленого, він увімкне звуковий сигнал. Якщо значення менше встановленого значення, зуммер буде вимкнено.
Повну роботу можна знайти у відео, наведеному нижче. Це одне із багатьох застосувань, той самий принцип спостерігатиметься у склоочисниках, інших системах автоматизації будинків, сільському господарстві тощо. Сподіваємось, ви зрозуміли проект і сподобались будувати щось корисне. Якщо у вас виникли запитання, скористайтесь розділом коментарів нижче або використовуйте наші форуми для інших технічних питань.