- Необхідні компоненти для проекту системи поливу рослин Arduino
- Пояснення схеми:
- Робоче пояснення:
- Пояснення програмування:
Кожного разу, коли ми виїжджаємо за місто на кілька днів, ми завжди звикли турбуватися про наші рослини, оскільки вони регулярно потребують води. Отже, тут ми робимо автоматичну систему зрошення рослин за допомогою Arduino, яка автоматично забезпечує водою ваші рослини та постійно оновлює вас, надсилаючи повідомлення на ваш мобільний телефон.
В цьому заводі система поливу, грунти Датчик вологості перевіряє рівень вологи в грунті, і якщо рівень вологості низький, то Arduino переходить на водяний насос для забезпечення водою рослини. Водяний насос автоматично вимикається, коли система знаходить достатню кількість вологи в ґрунті. Щоразу, коли система вмикає або вимикає насос, користувачеві надсилається повідомлення через модуль GSM з оновленням стану водяного насоса та вологості ґрунту. Ця система дуже корисна у фермах, садах, будинках тощо. Ця система повністю автоматизована і не потребує жодного втручання людини.
Необхідні компоненти для проекту системи поливу рослин Arduino
- Arduino Uno
- Модуль GSM
- Транзистор BC547 (2)
- Підключення проводів
- РК-дисплей 16x2 (додатково)
- Блок живлення 12v 1A
- Реле 12v
- Насос охолоджувача води
- Датчик вологості ґрунту
- Резистори (1k, 10k)
- Змінна опора (10k, 100k)
- Роз'єм терміналу
- Регулятор напруги IC LM317
Модуль GSM:
Тут ми використовували GSM-модуль TTL SIM800. SIM800 - це повний чотирисмуговий модуль GSM / GPRS, який може бути легко вбудований клієнтом або любителем. Модуль GSM SIM900 забезпечує галузевий стандартний інтерфейс; SIM800 забезпечує продуктивність GSM / GPRS 850/900/1800/1900 МГц для передачі голосу, SMS, даних з низьким енергоспоживанням. Конструкція цього GSM-модуля SIM800 є тонкою та компактною. Він легко доступний на ринку або в Інтернеті на eBay.
- Чотирисмуговий модуль GSM / GPRS невеликого розміру.
- GPRS увімкнено
- Вихід TTL
Дізнайтеся більше про модулі GSM та команди AT тут. Також перевірте наші різні проекти з використанням GSM та Arduino, щоб зрозуміти, як правильно вони взаємодіють.
Пояснення схеми:
У цій системі зрошення рослин ми використовували саморобний зонд датчика вологості ґрунту для визначення рівня вологості ґрунту. Для виготовлення зонда ми вирізали та витравили покриту міддю дошку згідно з малюнком, показаним нижче. Одна сторона зонда безпосередньо підключена до Vcc, а інша клема зонда йде до основи транзистора BC547. До основи транзистора підключений потенціометр для регулювання чутливості датчика.
Arduino використовується для контролю всього процесу роботи цієї автоматичної системи поливу рослин. Вихід схеми датчика ґрунту безпосередньо підключений до цифрового виводу D7 Arduino. У ланцюзі датчика використовується світлодіод, стан увімкнення цього світлодіода вказує на наявність вологи в ґрунті, а вимкнений - відсутність вологи у ґрунті.
Модуль GSM використовується для відправки SMS користувачеві. Тут ми використали GSM-модуль TTL SIM800, який передає і приймає логіку TTL безпосередньо (користувач може використовувати будь-який GSM-модуль). Для живлення модуля GSM SIM800 використовується регулятор напруги LM317. LM317 дуже чутливий до напруги, тому перед використанням рекомендується ознайомитися з його паспортом. Його робоча напруга становить від 3,8 до 4,2 в (будь ласка, віддайте перевагу 3,8 в для роботи). Нижче наведена схема електричного живлення, надана модулю GSM TTL sim800:
Якщо користувач хоче використовувати модуль SIM900 TTL, тоді він повинен використовувати 5 В, а якщо користувач хоче використовувати модуль SIM900, то застосуйте 12 В в гнізді роз'єму постійного струму на платі.
12V Реле використовується для управління малим водяним насосом 220 В змінного струму. Реле приводиться в дію транзистором BC547, який додатково підключений до цифрового висновку 11 Arduino.
Додатковий РК-дисплей також використовується для відображення стану та повідомлень. Виводи управління LCD, RS та EN підключені до виводів 14 і 15 Arduino, а виводи даних LCD D4-D7 - безпосередньо до виводів 16, 17, 18 та 19 Arduino. РК-дисплей використовується в 4-бітному режимі і керується вбудованою бібліотекою РК-дисплеїв Arduino.
Нижче наведена принципова схема цієї зрошувальної системи з ардуіно та датчиком вологості ґрунту:
Робоче пояснення:
Робота з цією системою автоматичного зрошення рослин досить проста. Перш за все, це повністю автоматизована система, і для управління системою не потрібна робоча сила. Arduino використовується для управління всім процесом, а модуль GSM - для надсилання сповіщень користувачеві на його мобільний телефон.
Якщо у ґрунті присутня волога, то між двома зондами датчика вологості ґрунту існує провідність, і завдяки цій провідності транзистор Q2 залишається спрацьованим / увімкненим, а Arduino Pin D7 залишається низьким. Коли Arduino зчитує LOW-сигнал на D7, він надсилає SMS користувачеві про те, що “Вологість ґрунту нормальна. Двигун вимкнено ”, а водяний насос залишається у вимкненому стані.
Тепер, якщо у ґрунті немає вологи, тоді транзистор Q2 вимикається, а штифт D7 стає високим. Потім Arduino зчитує штифт D7 і вмикає водяний двигун, а також надсилає повідомлення користувачеві про “Виявлено низьку вологість ґрунту. Двигун увімкнено ”. Двигун автоматично вимкнеться, коли в ґрунті достатньо вологи. Далі перевірте демонстраційне відео та код (наведений наприкінці) для кращого розуміння робочого процесу проекту.
Пояснення програмування:
Код цієї програми легко зрозумілий. Перш за все, ми включили бібліотеку SoftwareSerial, щоб зробити виводи 2 і 3 як Rx & Tx, а також LiquidCrystal для РК-дисплея. Потім ми визначили деякі змінні для двигуна, датчика вологості ґрунту, світлодіода тощо.
#включати
Потім у функції void setup () послідовний зв’язок ініціалізується зі швидкістю 9600 біт / с і даються вказівки різним контактам. Функція gsmInit викликається для ініціалізації модуля GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (двигун, ВИХІД); pinMode (датчик, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); затримка (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("Ласкаво просимо"); затримка (2000); gsmInit ();
Потім датчик зчитується у функції void loop () , і двигун включається або вимикається відповідно до стану датчика, а користувачеві також надсилається SMS за допомогою функції sendSMS . Перевірте різні функції в повному коді, наведеному в кінці.
цикл void () {lcd.setCursor (0,0); lcd.print ("Автоматичний режим"); якщо (digitalRead (датчик) == 1 && прапор == 0) {затримка (1000); if (digitalRead (датчик) == 1) {digitalWrite (led, HIGH); sendSMS ("Виявлено низьку вологість грунту. Двигун увімкнено"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Тут функція gsmInit () важлива, і користувачам здебільшого важко встановити, якщо правильно. Він використовується для ініціалізації GSM-модуля, де спочатку GSM-модуль перевіряється, підключений він чи ні, надсилаючи команду AT на модуль GSM. Якщо отримано відповідь OK, це означає, що він готовий. Система продовжує перевіряти наявність модуля, поки він не стане готовим або поки не буде отримано 'OK'. Потім ECHO вимикається, надіславши команду ATE0, інакше модуль GSM повторить усі команди. Тоді нарешті перевіряється доступність мережі через "AT + CPIN?" команда, якщо вставлена картка є SIM-карткою та є PIN-код, вона дає відповідь ГОТОВО. Це також перевіряйте неодноразово, доки мережа не буде знайдена. Це можна чітко зрозуміти з відео нижче.
void gsmInit () {lcd.clear (); lcd.print ("Пошук модуля.."); логічний at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } затримка (1000); }……………….
Тож за допомогою цієї автоматичної системи зрошення вам не потрібно турбуватися про свої рослини, коли ви знаходитесь далеко від дому. Це може бути додатково вдосконалено для управління та моніторингу через Інтернет.