Оглавление:

Система оповещения о низкой влажности почвы для вашего растения: 5 шагов
Система оповещения о низкой влажности почвы для вашего растения: 5 шагов

Видео: Система оповещения о низкой влажности почвы для вашего растения: 5 шагов

Видео: Система оповещения о низкой влажности почвы для вашего растения: 5 шагов
Видео: Харли Смит, все о минеральном питании растений 2024, Декабрь
Anonim
Система оповещения о низкой влажности почвы для вашего растения
Система оповещения о низкой влажности почвы для вашего растения

В нескольких домах часто можно встретить кувшины с разными видами растений. А из-за большого количества повседневных занятий люди забывают поливать свои растения и в конечном итоге умирают из-за нехватки воды.

Чтобы избежать этой проблемы, мы решили создать систему, информирующую о том, что у растения нет воды. Таким образом, вы никогда не забудете поливать свое растение, и оно надолго останется живым. Далее мы представим всю разработку этого проекта.

Запасы

  • PCBWay Пользовательская печатная плата
  • Аналоговый датчик влажности почвы для Arduino
  • Arduino UNO
  • Перемычки (общие)
  • Стандартный ЖК-дисплей - 16 x 2, синий
  • Поворотный потенциометр UTSOURCE 10k

Шаг 1: Разработка проекта

Разработка проекта
Разработка проекта

Один из способов, который мы используем для определения количества воды в растении, - это параметр влажности. Итак, чем меньше воды в банке нашего растения, тем меньше влажность почвы.

Следовательно, мы должны использовать датчик влажности для анализа состояния влажности на нашем заводе.

Через него мы настроили схему, установленную на макетной плате с Arduino, для мониторинга и индикации низкой влажности в банке с кактусом. Итак, с помощью ЖК-дисплея для информирования нашего пользователя о влажности, как показано на рисунке 1.

Шаг 2: вставка датчика влажности в контур

Вставка датчика влажности в цепь
Вставка датчика влажности в цепь
Вставка датчика влажности в цепь
Вставка датчика влажности в цепь

Из приведенной выше схемы мы вставим зонд для измерения влажности в растение, которое мы хотим контролировать. В нашем проекте мы вставляем зонд в небольшой кактус, как показано на рисунке 2.

Теперь мы посмотрим, как спроектировать работу, шаг за шагом, а в дальнейшем мы узнаем, как создать управляющий код. Изначально, когда мы не подключаем датчик внутри банки, устройство имеет низкое содержание влаги 2% снаружи. банка кактуса. Это можно увидеть на рисунке 3.

Шаг 3. Определите значения влажности

Понять значения влажности
Понять значения влажности
Понять значения влажности
Понять значения влажности

Это низкое процентное значение означает низкую влажность. Теперь, после вставки датчика в почву банки с кактусом, будет отображаться значение 36%, как показано на рисунке 4. То есть наша влажность низкая, и система отображает сообщение Низкая влажность, потому что значение меньше чем 60%.

Следующим шагом будет орошение почвы кувшина нашего кактуса, и мы сможем проверить увеличение значения влажности до 69%.

Разобравшись в работе проекта, мы представим всю логику построения для создания этой системы мониторинга. Приступим!

Шаг 4: логическое программирование

Далее логика программирования будет представлена через построенный код.

Изначально была объявлена библиотека Display LCD, переменных и был создан объектный LCD с выводами связи с Arduino UNO.

#включают

# определить датчик A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; байт UmidityPercent = 0, влажность = 0, PreviousValue = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; ЖК-дисплей LiquidCrystal (rs, en, d4, d5, d6, d7);

После этого были инициализированы функция настройки и ЖК-дисплей 16x2, а вывод датчика был настроен как вход. Наконец, мы сделали первое считывание нашего датчика и использовали в качестве ссылки для переменной PreviousValue, как показано ниже.

{Serial.begin (9600); lcd.begin (16, 2); pinMode (датчик, ВХОД); PreviousValue = analogRead (датчик); }

С созданными переменными и командами в функции настройки void мы объясним все логическое программирование в функции цикла.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Отлично от аналогового порта без монитора последовательного порта Serial.print ("Аналоговый порт:"); Serial.println (AnalogValue); UmidityPercent = map (AnalogValue, 0, 1023, 0, 100); влажность = 100 - UmidityPercent;

В функции цикла было считано аналоговое значение, и значение было отображено в диапазоне от 0 до 100. Это значение представляет процент влажности почвы. Когда влажность высокая, значение приближается к 0, а если влажность низкая, значение приближается к 100.

Чтобы упростить представление значения и предотвратить путаницу при чтении пользователя, мы изменили эту логику и представим, что 0% будет низкой влажностью, а 100% высокой влажностью. Это было сделано с помощью расчета, проведенного после картирования.

влажность = 100 - UmidityPercent;

После чтения значение влажности необходимо отобразить на ЖК-дисплее. Следующим шагом является проверка, отличается ли значение влажности от своего значения плюс 1 или его значения минус 1 в соответствии с условиями ниже.

if ((влажность> (Предыдущее значение) +1) || (влажность <(Предыдущее значение) - 1))

Это условие используется, чтобы система не отображала одно и то же значение несколько раз на ЖК-дисплее. Но если условие истинно, система отобразит значение на ЖК-дисплее и проверит, больше или равно 60% или меньше 60%. Если значение было больше или равно 60%, система присутствует. сообщение «Высокая влажность», в противном случае отобразите сообщение «Низкая влажность», как показано ниже.

if ((влажность> (Предыдущее значение) +1) || (влажность <(Предыдущее значение) - 1)) {lcd.setCursor (1, 0); lcd.print ("Влажность:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (влажность); lcd.print ("%"); если (влажность = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print («Высокая влажность»); HighUmid = 1; LowUmid = 0; } Предыдущее значение = влажность; }

Наконец, система сохранит значение переменной влажности в переменной PreviousValue, чтобы актуализировать ее значение. Каждый раз, когда на дисплее отображается новое значение, переменная PreviousValue актуализируется для использования в других циклах обработки кода. Таким образом, это простая система, используемая для мониторинга влажности растений в наших остатках и информирования пользователей об этом. уровень влажности почвы.

Шаг 5: Благодарности

Лаборатория Silícios благодарит PCBWay за поддержку и совместную работу. И у нас есть для вас много преимуществ. Заработайте 10 бесплатных печатных плат и множество бобовых монет (узнайте больше), чтобы обменивать их на продукты на веб-сайте PCBWay.

В дополнение к ним Silícios Lab благодарит UTSOURCE за поддержку, за предложение нам недорогих электронных компонентов отличного качества и хорошего обслуживания.

Рекомендуемые: