Оглавление:
Видео: Система оповещения о низкой влажности почвы для вашего растения: 5 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В нескольких домах часто можно встретить кувшины с разными видами растений. А из-за большого количества повседневных занятий люди забывают поливать свои растения и в конечном итоге умирают из-за нехватки воды.
Чтобы избежать этой проблемы, мы решили создать систему, информирующую о том, что у растения нет воды. Таким образом, вы никогда не забудете поливать свое растение, и оно надолго останется живым. Далее мы представим всю разработку этого проекта.
Запасы
- 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 за поддержку, за предложение нам недорогих электронных компонентов отличного качества и хорошего обслуживания.