- Необходимые компоненты для проекта системы полива растений Arduino
- Описание схемы:
- Рабочее объяснение:
- Объяснение программирования:
Каждый раз, когда мы уезжаем за город на несколько дней, мы всегда беспокоились о наших растениях, поскольку им постоянно нужна вода. Итак, здесь мы создаем автоматическую систему полива растений с использованием Arduino, которая автоматически обеспечивает водой ваши растения и держит вас в курсе, отправляя сообщение на ваш мобильный телефон.
В этом заводе система полива, почвы Датчик влажности проверяет уровень влаги в почве, и если уровень влажности низкий, то Arduino переходит на водяной насос для обеспечения водой растения. Водяной насос автоматически выключается, когда система обнаруживает достаточно влаги в почве. Каждый раз, когда система включает или выключает насос, через модуль GSM пользователю отправляется сообщение, обновляющее состояние водяного насоса и влажности почвы. Эта система очень полезна на фермах, в садах, дома и т. Д. Эта система полностью автоматизирована и не требует вмешательства человека.
Необходимые компоненты для проекта системы полива растений Arduino
- Ардуино Уно
- GSM модуль
- Транзистор BC547 (2)
- Соединительные провода
- ЖК-дисплей 16x2 (дополнительно)
- Блок питания 12в 1А
- Реле 12В
- Насос водяного охлаждения
- Датчик влажности почвы
- Резисторы (1к, 10к)
- Переменный резистор (10 кОм, 100 кОм)
- Концевой соединитель
- Микросхема регулятора напряжения 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). Регулятор LM317 напряжение используется для питания модуля SIM800 GSM. LM317 очень чувствителен к номинальному напряжению, поэтому перед использованием рекомендуется прочитать его техническое описание. Его рабочее напряжение составляет от 3,8 В до 4,2 В (для работы лучше 3,8 В). Ниже приведена принципиальная схема блока питания GSM-модуля TTL sim800:
Если пользователь хочет использовать модуль SIM900 TTL, он должен использовать 5 В, а если пользователь хочет использовать модуль SIM900, то подайте 12 В в разъем DC Jack на плате.
12V Реле используется для управления малым водяным насосом 220 В переменного тока. Реле управляется транзистором BC547, который дополнительно подключен к цифровому выводу 11 Arduino.
Дополнительный ЖК-дисплей также используется для отображения статуса и сообщений. Управляющие контакты LCD, RS и EN подключены к контактам 14 и 15 Arduino, а контакты данных LCD D4-D7 напрямую подключены к контактам 16, 17, 18 и 19 Arduino. ЖК-дисплей используется в 4-битном режиме и управляется встроенной библиотекой ЖК-дисплея Arduino.
Ниже приведена принципиальная схема этой ирригационной системы с Arduino и датчиком влажности почвы:
Рабочее объяснение:
Работа этой автоматической системы полива растений очень проста. Прежде всего, это полностью автоматизированная система, и нет необходимости в людях для управления системой. Arduino используется для управления всем процессом, а модуль GSM используется для отправки предупреждений пользователю на его мобильный телефон.
Если в почве присутствует влага, то между двумя датчиками датчика влажности почвы существует проводимость, и из-за этой проводимости транзистор Q2 остается в состоянии срабатывания / включения, а вывод D7 Arduino остается низким. Когда Arduino считывает НИЗКИЙ сигнал на D7, он отправляет пользователю SMS о «Влажность почвы в норме. Мотор выключен », и водяной насос остается в выключенном состоянии.
Теперь, если в почве нет влаги, транзистор Q2 отключается, а контакт D7 становится высоким. Затем Arduino считывает вывод D7 и включает водяной двигатель, а также отправляет пользователю сообщение о том, что «обнаружена низкая влажность почвы. Мотор включился ». Мотор автоматически выключится, когда в почве будет достаточно влаги. Далее проверьте демонстрационное видео и код (приведенные в конце), чтобы лучше понять рабочий процесс проекта.
Объяснение программирования:
Код этой программы легко понять. Прежде всего, мы включили библиотеку SoftwareSerial, чтобы сделать выводы 2 и 3 как Rx и Tx, а также включили LiquidCrystal для LCD. Затем мы определили некоторые переменные для двигателя, датчика влажности почвы, светодиода и т. Д.
#включают
Затем в функции void setup () инициализируется последовательная связь со скоростью 9600 бит / с, и направления задаются различным контактам. Функция gsmInit вызывается для инициализации модуля GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (светодиод, ВЫХОД); pinMode (двигатель, ВЫХОД); pinMode (датчик, INPUT_PULLUP); lcd.print («Водное орошение»); lcd.setCursor (4,1); задержка (2000); lcd.clear (); lcd.print («Электронный дайджест»); lcd.setCursor (0,1); lcd.print («приветствует вас»); задержка (2000); gsmInit ();
Затем датчик считывается в функции void loop () , и двигатель включается или выключается в соответствии с состоянием датчика, и пользователю также отправляется SMS с использованием функции sendSMS . Ознакомьтесь с полным кодом различных функций, приведенным в конце.
недействительный цикл () {lcd.setCursor (0,0); lcd.print («Автоматический режим»); если (digitalRead (датчик) == 1 && флаг == 0) {задержка (1000); если (digitalRead (датчик) == 1) {digitalWrite (светодиод, ВЫСОКИЙ); sendSMS («Обнаружена низкая влажность почвы. Двигатель включен»); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Здесь важна функция gsmInit (), и пользователям в большинстве случаев сложно ее правильно настроить. Он используется для инициализации модуля GSM, где сначала модуль GSM проверяется, подключен он или нет, отправляя команду «AT» на модуль GSM. Если получен ответ ОК, значит он готов. Система продолжает проверять модуль, пока он не станет готовым или пока не будет получено сообщение «ОК». Затем ECHO отключается отправкой команды ATE0, иначе GSM-модуль будет повторять все команды. Затем, наконец, проверяется доступность сети через "AT + CPIN?" команда, если вставлена SIM-карта и присутствует PIN-код, выдает ответ ГОТОВ. Это также проверяется неоднократно, пока сеть не будет найдена. Это можно четко понять из видео ниже.
void gsmInit () {lcd.clear (); lcd.print ("Модуль поиска.."); логическое at_flag = 1; пока (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {если (Serial1.find ("OK")) at_flag = 0; } задержка (1000); }……………….
Таким образом, с этой автоматической системой полива вам не нужно беспокоиться о своих растениях, когда вы находитесь вдали от дома. Его можно дополнительно усовершенствовать для управления и мониторинга через Интернет.