Съдържание:

Сигнална система за почвата с ниска влажност за вашето растение: 5 стъпки
Сигнална система за почвата с ниска влажност за вашето растение: 5 стъпки

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

Видео: Сигнална система за почвата с ниска влажност за вашето растение: 5 стъпки
Видео: Стихийные бедствия, требующие чрезвычайных мер 2024, Ноември
Anonim
Сигнална система за почвата с ниска влажност за вашето растение
Сигнална система за почвата с ниска влажност за вашето растение

В няколко жилища е обичайно да се намират буркани с различни видове растения. И с големия брой ежедневни дейности хората забравят да поливат растенията си и в крайна сметка умират поради липса на вода.

Като начин да избегнем този проблем, решихме да създадем система за информиране, когато едно растение няма вода. По този начин никога няма да забравите да напоявате растението си и то ще остане живо за дълго време. След това ще представим цялото развитие на този проект.

Консумативи

  • PCBWay Персонализирана печатна платка
  • Аналогов сензор за влажност на почвата за Arduino
  • Arduino UNO
  • Джъмперни проводници (родови)
  • Стандартен LCD - 16 x 2 син
  • UTSOURCE Ротационен потенциометър 10k

Стъпка 1: Разработване на проекти

Разработване на проекти
Разработване на проекти

Един от начините, които използваме за откриване на количеството вода в растението, е чрез параметъра на влажността. Така че, колкото по -малко вода има в буркана на нашето растение, толкова по -ниска е влажността на почвата.

Затова трябва да използваме сензор за влажност, за да анализираме състоянието на влага в нашето растение.

Чрез него ние създадохме верига, монтирана в макетната платка с Arduino, за да извършваме мониторинг и индикация за ниска влажност на буркана с кактус. Така че, посредством LCD дисплея, за да информира потребителя за влагата, както е показано на фигура 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 lcd (rs, en, d4, d5, d6, d7);

След това функцията за настройка и дисплеят LCD 16x2 бяха инициализирани и щифтът на сензора беше конфигуриран като вход.

{Serial.begin (9600); lcd.begin (16, 2); pinMode (сензор, INPUT); PreviousValue = analogRead (сензор); }

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

// Le o valor do pino A0 do sensorAnalogValue = analogRead (сензор); // Mostra o valor da porta analogica no serial monitor Serial.print ("Analog Port:"); Serial.println (AnalogValue); UmidityPercent = карта (AnalogValue, 0, 1023, 0, 100); влага = 100 - UmidityPercent;

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

За да улесним представянето на стойността и да предотвратим объркването на четенето на потребителя, ние обръщаме тази логика и представяме, че 0% ще бъде ниска влажност и 100% висока влажност. Това беше направено чрез изчислението, извършено след картографирането.

влага = 100 - UmidityPercent;

След четене стойността на влагата трябва да бъде представена на LCD дисплея. Следващата стъпка е да се провери дали стойността на влагата е различна от нейната стойност плюс 1 или стойността минус 1, съгласно условието по -долу.

if ((влага> (Предишна стойност) +1) || (влага <(Предишна стойност)- 1))

Това условие се използва, за да се предотврати системата да представя една и съща стойност няколко пъти на LCD дисплея. Но когато условието е вярно, системата ще представи стойността на LCD и ще провери дали стойността е по -голяма или равна на 60%или по -малка от 60%. Ако стойността е по -голяма или равна на 60%, системата присъства съобщението Висока влажност, в противен случай представя съобщението Ниска влажност, както е показано по -долу.

if ((влажност> (Предишна стойност) +1) || (влажност <(Предишна стойност)- 1)) {lcd.setCursor (1, 0); lcd.print ("Влага:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (влага); lcd.print ("%"); if (влага = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Висока влажност"); HighUmid = 1; LowUmid = 0; } PreviousValue = влага; }

И накрая, системата ще съхранява стойността на променливата за влажност в променливата PreviousValue, за да актуализира нейната стойност. Всеки път, когато на дисплея се представя нова стойност, променливата PreviousValue се актуализира, за да се използва в други цикли на обработка на кода. Следователно, това е проста система, използвана за наблюдение на влагата на растенията в нашите жилища и информиране на потребителите за нивото на влажност на почвата.

Стъпка 5: Благодарности

Лабораторията Silícios благодари на PCBWay за подкрепата и съвместната работа. И ние имаме много ползи за вас. Печелете 10 безплатни печатни платки и много бобови монети (Научете повече), за да търгувате за продукти на уебсайта на PCBWay.

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

Препоръчано: