Близько 71% землі покрито водою, але, на жаль, лише 2,5% її становить питна вода. Зі зростанням чисельності населення, забрудненням та зміною клімату, як очікується, вже до 2025 року ми відчуємо багаторічну нестачу води. З одного боку, між народами та державами вже існують незначні суперечки щодо спільного використання річкової води, з іншого боку ми, як люди, витрачаємо багато питної води через свою недбалість.
Спочатку це може здаватися не великим, але якщо у ваш кран капала крапля води раз на секунду, вам знадобиться лише близько п’яти годин, щоб ви витратили один галон води, цього достатньо для того, щоб середня людина вижила протягом двох днів. То що можна зробити, щоб зупинити це? Як завжди, відповідь на це полягає у вдосконаленні технологій. Якщо ми замінимо всі ручні крани на розумні, що автоматично відкриваються і закриваються, не тільки ми можемо економити воду, але й вести здоровий спосіб життя, оскільки нам не потрібно керувати краном брудними руками. Отже, у цьому проекті ми побудуємо автоматичний дозатор води з використанням Arduino та електромагнітний клапан, який може автоматично подавати вам воду, коли біля нього розміщують склянку. Звучить круто правильно! Тож давайте побудуємо одну…
Необхідні матеріали
- Соленоїдний клапан
- Arduino Uno (будь-яка версія)
- HCSR04 - ультразвуковий датчик
- МОП-транзистор IRF540
- Резистор 1к і 10к
- Макет
- Підключення проводів
Робоча концепція
Концепція автоматичного дозатора води дуже проста. Ми будемо використовувати ультразвуковий датчик HCSR04, щоб перевірити, чи є такий предмет, що скло ставиться перед дозатором. Для керування потоком води буде використовуватися електромагнітний клапан, який при подачі енергії буде витікати, а при знеструмленні вода буде зупинятися. Отже, ми напишемо програму Arduino, яка завжди перевіряє, розміщений який-небудь об’єкт біля крана; якщо так, то соленоїд буде ввімкнено і дочекається, поки об’єкт буде видалений, після видалення об’єкта соленоїд автоматично вимкнеться, таким чином закриваючи подача води. Дізнайтеся більше про використання ультразвукового датчика з Arduino тут.
Кругова діаграма
Повна електрична схема пристрою для подачі води на основі Arduino наведена нижче
Електромагнітний клапан, що використовується в цьому проекті, є клапаном 12 В з максимальним номінальним струмом 1,2 А і безперервним струмом 700 мА. Тобто, коли клапан увімкнено, він буде споживати близько 700 мА, щоб утримувати клапан увімкненим. Як ми знаємо, Arduino - це плата розробки, яка працює від напруги 5 В, а отже, нам потрібен перемикаючий ланцюг драйверів для електромагніту, щоб вмикати та вимикати його.
Комутаційним пристроєм, що використовується в цьому проекті, є N-канальний MOSFET IRF540N. Він має 3 висновки засувки, джерела та стоку з виводу 1 відповідно. Як показано на принциповій схемі, позитивна клема соленоїда живиться від штифта Vin Arduino. Оскільки ми будемо використовувати 12В адаптер для живлення Arduino, і, таким чином, висновок Vin виведе 12В, який можна використовувати для управління електромагнітним клапаном. Негативний висновок соленоїда підключений до землі через штифти джерела та зливу MOSFET. Отже, електромагніт буде живитись, лише якщо увімкнено MOSFET.
Штифт затвора MOSFET використовується для його ввімкнення або вимкнення. Він залишатиметься вимкненим, якщо штифт затвора заземлений, і включатиметься, якщо подається напруга затвора. Щоб MOSFET не вимикався, коли на штифт затвора не подається напруга, штифт затвора витягується на землю через резистор 10k. Штифт Arduino 12 використовується для ввімкнення або вимкнення MOSFET, тому штифт D12 підключається до штифта затвора через резистор 1K. Цей резистор 1К використовується для обмеження струму.
Ультразвуковий датчик живиться від +5 і заземлення штифтів Arduino. Відлуння і тригер висновок з'єднаний з контактом 8 і контактом 9 відповідно. Потім ми можемо запрограмувати Arduino на використання ультразвукового датчика для вимірювання відстані та увімкнення MOSFET при виявленні об’єкта. Весь контур простий, а отже, його можна легко побудувати поверх макетної дошки. Моє виглядало приблизно так нижче нижче після встановлення зв’язків.
Програмування Arduino Board
Для цього проекту ми повинні написати програму, яка використовує ультразвуковий датчик HCSR-04 для вимірювання відстані об’єкта перед ним. Коли відстань менше 10 см, нам доводиться вмикати МОП-транзистор, а в іншому - МОП-транзистор. Ми також будемо використовувати вбудований світлодіод, підключений до виводу 13, і перемикати його разом з MOSFET, щоб ми могли переконатися, що MOSFET увімкнено чи вимкнено. Повна програма, щоб зробити те ж саме наводиться в кінці цієї сторінки. Трохи нижче я пояснив програму, розбивши її на невеликі змістовні фрагменти.
Програма починається з визначення макросів. У нас є тригер і ехо- штир для ультразвукового датчика, а також штифт MOSFET і світлодіод в якості вводу / виводу для нашого Arduino. Отже, ми визначили, до якого контакту вони будуть підключені. В нашому обладнанні ми підключили ехо та тригерний штифт до 8 та 9- го цифрового штифта відповідно. Потім контакт MOSFET підключається до контакту 12, а вбудований світлодіод за замовчуванням - до контакту 13. Ми визначаємо те саме, використовуючи наступні рядки
#define trigger 9 #define echo 8 #define LED 13 #define MOSFET 12
Усередині функції налаштування ми оголошуємо, які висновки є вхідними, а які вихідними. У нашому обладнанні лише вхідним штифтом є ехо- штекер ультразвукового датчика (США), а всі інші - вихідні штифти. Отже, ми використовуємо функцію pinMode від Arduino, щоб вказати те саме, що показано нижче
pinMode (тригер, ВИХІД); pinMode (ехо, ВХІД); pinMode (світлодіод, ВИХІД); pinMode (MOSFET, OUTPUT);
Усередині функції основного циклу ми закликаємо функцію з назвою measure_distance (). Ця функція використовує американський датчик для вимірювання відстані об'єкта перед собою та оновлює значення до змінної " відстань" . Для вимірювання відстані за допомогою американського датчика спочатку слід тримати низько штифт спуску протягом двох мікросекунд, потім тримати високо протягом десяти мікросекунд і знову тримати низько протягом двох мікросекунд. Це надішле звуковий вибух ультразвукових сигналів у повітря, який буде відбиватися предметом, що знаходиться перед ним, а ехо- пін вловлює відбиті сигнали. Потім ми використовуємо значення часу, необхідне для розрахунку відстані об'єкта попереду датчика. Якщо ви хочете знати