Სარჩევი:

დაბალი ტენიანობის ნიადაგის გამაფრთხილებელი სისტემა თქვენი მცენარისთვის: 5 ნაბიჯი
დაბალი ტენიანობის ნიადაგის გამაფრთხილებელი სისტემა თქვენი მცენარისთვის: 5 ნაბიჯი

ვიდეო: დაბალი ტენიანობის ნიადაგის გამაფრთხილებელი სისტემა თქვენი მცენარისთვის: 5 ნაბიჯი

ვიდეო: დაბალი ტენიანობის ნიადაგის გამაფრთხილებელი სისტემა თქვენი მცენარისთვის: 5 ნაბიჯი
ვიდეო: Expedition Everest Building a Thrill Ride Disney's Animal Kingdom 2024, ნოემბერი
Anonim
დაბალი ტენიანობის ნიადაგის გამაფრთხილებელი სისტემა თქვენი მცენარისთვის
დაბალი ტენიანობის ნიადაგის გამაფრთხილებელი სისტემა თქვენი მცენარისთვის

რამდენიმე რეზიდენციაში, ხშირია სხვადასხვა ტიპის მცენარეების ქილების პოვნა. და ყოველდღიური საქმიანობის დიდი რაოდენობით, ადამიანებს ავიწყდებათ მცენარეების მორწყვა და ისინი იღუპებიან წყლის ნაკლებობის გამო.

ამ პრობლემის თავიდან აცილების მიზნით, ჩვენ გადავწყვიტეთ შეგვექმნა სისტემა, რომელიც აცნობებდა, როდესაც მცენარეს წყალი არ აქვს. ამ გზით თქვენ არასოდეს დაგავიწყდებათ თქვენი მცენარის მორწყვა და ის დიდხანს დარჩება ცოცხალი. შემდეგი, ჩვენ წარმოგიდგენთ ამ პროექტის მთლიან განვითარებას.

მარაგები

  • PCBWay საბაჟო PCB
  • ნიადაგის ტენიანობის სენსორი არდუინოსთვის
  • Arduino UNO
  • ჯუმბერის მავთულები (ზოგადი)
  • სტანდარტული LCD - 16 x 2 ცისფერი
  • UTSOURCE მბრუნავი პოტენომეტრი 10k

ნაბიჯი 1: პროექტის შემუშავება

Პროექტის განვითარება
Პროექტის განვითარება

ერთ -ერთი გზა, რომელსაც ჩვენ ვიყენებთ მცენარეში წყლის რაოდენობის დასადგენად არის ტენიანობის პარამეტრი. ასე რომ, რაც უფრო ნაკლები წყალია ჩვენი მცენარის ქილაში, მით უფრო დაბალია ნიადაგის ტენიანობა.

ამიტომ, ჩვენ უნდა გამოვიყენოთ ტენიანობის სენსორი ჩვენს მცენარეში ტენიანობის მდგომარეობის გასაანალიზებლად.

მისი მეშვეობით ჩვენ შევქმენით სქემა, რომელიც დამონტაჟებულია პურის დაფაზე არდუინოსთან ერთად, რათა მოვახდინოთ მონიტორინგი და მითითება კაქტუსის ქილის დაბალი ტენიანობის შესახებ. ამრიგად, ეკრანის საშუალებით აცნობეთ ჩვენს მომხმარებელს ტენიანობის შესახებ, როგორც ეს მოცემულია ფიგურაში 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, წინა ღირებულება = 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 ინიციალიზაცია და სენსორის პინის კონფიგურაცია შეყვანის სახით. საბოლოოდ, ჩვენ გავაკეთეთ ჩვენი სენსორის პირველი წაკითხვა და ჩვენ ვიყენებდით ცნობისათვის ცვლად PreviousValue- ს, როგორც ქვემოთ მოცემულია.

{Serial.begin (9600); lcd. დასაწყისი (16, 2); pinMode (სენსორი, INPUT); PreviousValue = analogRead (სენსორი); }

შექმნილი ცვლადებით და ბრძანებები void setup ფუნქციით, ჩვენ ავხსნით ყველა ლოგიკურ პროგრამირებას მარყუჟის ფუნქციაში.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (სენსორი); // Mostra o valor da porta analogica სერიული მონიტორი Serial.print ("ანალოგური პორტი:"); Serial.println (AnalogValue); UmidityPercent = რუკა (AnalogValue, 0, 1023, 0, 100); ტენიანობა = 100 - UmidityPercent;

მარყუჟის ფუნქციაში იკითხება ანალოგური მნიშვნელობა და აისახება 0 და 100 დიაპაზონში. ეს მნიშვნელობა წარმოადგენს ნიადაგის ტენიანობის პროცენტს. როდესაც ტენიანობა მაღალია მსოფლიოში, მნიშვნელობა უახლოვდება 0 -ს და თუ ტენიანობა დაბალია, მნიშვნელობა უახლოვდება 100 -ს.

მნიშვნელობის წარმოდგენის გასაადვილებლად და მომხმარებლის კითხვის გაუგებრობის თავიდან ასაცილებლად, ჩვენ ვაბრუნებთ ამ ლოგიკას და წარმოვადგენთ, რომ 0% იქნება დაბალი ტენიანობა და 100% მაღალი ტენიანობა. ეს გაკეთდა რუქების შემდეგ შესრულებული გაანგარიშების საშუალებით.

ტენიანობა = 100 - UmidityPercent;

ტენიანობის მნიშვნელობის წაკითხვის შემდეგ აუცილებელია ეკრანის LCD ეკრანზე. შემდეგი ნაბიჯი არის იმის დადასტურება, განსხვავდება თუ არა ტენიანობის მნიშვნელობა მისი მნიშვნელობისაგან დამატებული 1 ან მისი ღირებულებიდან მინუს 1, ქვემოთ მოცემული მდგომარეობის შესაბამისად.

თუ ((ტენიანობა> (წინა ღირებულება) +1) || (ტენიანობა <(წინა ღირებულება)- 1))

ეს პირობა გამოიყენება იმისათვის, რომ თავიდან იქნას აცილებული სისტემა რამდენჯერმე აჩვენოს იგივე მნიშვნელობა ეკრანის ეკრანზე. მაგრამ, როდესაც პირობა მართალია, სისტემა წარმოგიდგენთ მნიშვნელობას LCD- ში და გადაამოწმებს, არის თუ არა მნიშვნელობა 60%-ზე ნაკლები 60%-ზე ნაკლები. თუ მნიშვნელობა იყო 60%-ზე მეტი ან ტოლი, სისტემა წარმოდგენილია გაგზავნა მაღალი ტენიანობა, წინააღმდეგ შემთხვევაში წარმოადგინეთ შეტყობინება დაბალი ტენიანობა, როგორც ეს ნაჩვენებია ქვემოთ.

if ((ტენიანობა> (წინა ღირებულების) +1) || (ტენიანობა <(წინა ღირებულების)- 1)) {lcd.setCursor (1, 0); lcd.print ("ტენიანობა:"); lcd.print (""); lcd.setCursor (11, 0); lcd. ბეჭდვა (ტენიანობა); 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 Lab მადლობას უხდის PCBWay- ს მხარდაჭერისთვის და ერთად მუშაობისთვის. და ჩვენ გვაქვს ბევრი სარგებელი თქვენთვის. იშოვე 10 უფასო PCB და ბევრი ლობიოს მონეტა (იცოდე მეტი) PCBWay ვებსაიტზე პროდუქტებზე სავაჭროდ.

მათ გარდა, Silícios Lab მადლობას უხდის UTSOURCE- ს მხარდაჭერისთვის, რომ შემოგვთავაზა მაღალი ხარისხის და კარგი მომსახურების დაბალი ღირებულების ელექტრონული კომპონენტები.

გირჩევთ: