Სარჩევი:

წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT): 9 ნაბიჯი (სურათებით)
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT): 9 ნაბიჯი (სურათებით)

ვიდეო: წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT): 9 ნაბიჯი (სურათებით)

ვიდეო: წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT): 9 ნაბიჯი (სურათებით)
ვიდეო: ავტომატური სარწყავი სისტემა - "ყვარელი" - 15/09/22 2024, ნოემბერი
Anonim
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT)
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT)
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT)
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT)
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT)
წვრილმანი - ბაღის ავტომატური სარწყავი - (Arduino / IOT)

ეს პროექტი გაჩვენებთ თუ როგორ უნდა ავაშენოთ სარწყავი კონტროლერი სახლის ბაღისთვის. შეუძლია გაზომოს ნიადაგის ტენიანობის მაჩვენებლები და გაააქტიუროს მორწყვა ბაღის ონკანიდან, თუ ნიადაგი ძალიან მშრალი გახდება. კონტროლერი ასევე შეიცავს ტემპერატურის და ტენიანობის სენსორს. კონტროლერი არ გაააქტიურებს ბაღის ონკანს, თუ ტემპერატურა ძალიან დაბალია. წყლის მოხმარების / გაშვების დროის შესახებ სენსორული კითხვები და სტატისტიკა ჩაწერილია ThingsBoard IOT– ზე ვიზუალიზაციისა და ანალიზისთვის. გაფრთხილებები და ელ.ფოსტა იხსნება, თუ სარწყავი კონტროლერი შეწყვეტს მონაცემთა გადაცემას, ნიადაგი გახდება ძალიან მშრალი ან ძალიან გაჯერებული.

წინაპირობები

  • არდუინოს ცოდნა არდუინოს საბაზისო კოდირებისა და შედუღების ჩათვლით.
  • 1x წნევის ქვეშ მყოფი ბაღის ონკანი

მასალების ბილი

  • ბაღის სარწყავი პოლი მილები, გამანადგურებლები, წვეთები და ა.
  • ორი აკრიფეთ ელექტრონული ჩამწერი ტაიმერი (ანუ: Aqua Systems ელექტრონული ციფრული ჩამოსასხმელი ტაიმერი)
  • შეეხეთ წნევის შემცირებას 300 კპა
  • არდუინო უნო
  • ლორა არდუინოს ფარი
  • ლორა კარიბჭე (არ არის საჭირო, თუ თქვენ გაქვთ ადგილობრივი საგნების ქსელის კარიბჭე დიაპაზონში)
  • DHT11 ტემპერატურის ტენიანობის სენსორი
  • 5 ვ სარელეო
  • ტელეფონის კაბელი
  • Საკაბელო კავშირები
  • საავტომობილო გაყოფილი გოფრირებული მილები
  • საავტომობილო ტერმინალის დამაკავშირებელი ზოლები
  • 2x გალვანზირებული ლურსმნები
  • 1x რეზისტორი
  • სილიციუმი / Caulk
  • PVC ცემენტი
  • PVC პრაიმერი
  • PVC მილები 32 მმ სიგანე x 60 მმ სიგრძე
  • PVC მილები 90 მმ სიგანე x 30 სმ სიგრძე
  • 3x PVC Push End Caps 90 მმ
  • 1 x PVC ხრახნიანი თავსახური 90 მმ
  • 1x PVC ხრახნიანი ჩასმა იარაღი 90 მმ
  • 1x PVC Push End Caps 32 მმ
  • 1x 3.2V დენის წყარო (ონკანი ტაიმერი) [ბატარეები, AC მულტივოლტიანი ადაპტერი]
  • 1x 6-12V კვების წყარო (arduino) [ბატარეები, USB, USB to AC გადამყვანი]
  • ძაფის ბეჭედი ლენტი
  • ელექტრო ფირზე

ნაბიჯი 1: დააინსტალირეთ ბაღის სარწყავი

დააინსტალირეთ ბაღის სარწყავი
დააინსტალირეთ ბაღის სარწყავი
დააინსტალირეთ ბაღის სარწყავი
დააინსტალირეთ ბაღის სარწყავი

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

ეს პარამეტრები შეიძლება შეიცვალოს arduino– ში და შეინახოს EPROM მეხსიერებაში. პარამეტრების განახლება ასევე შესაძლებელია IOT ინტეგრაციით. ეს პროექტი გაუშვებს კონტროლერს ყოველ ოთხ საათში და გახსნის ონკანს 3 წუთის განმავლობაში, თუ ნიადაგი ძალიან მშრალია. ის შეიძლება ზედიზედ რამდენჯერმე გაშრეს, თუ მშრალი/ცხელია, ან დღეში ერთხელ ან ორჯერ სხვაგვარად.

ნაბიჯი 2: მორგება შეეხეთ ტაიმერს

Fit Tap ტაიმერი
Fit Tap ტაიმერი

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

ნაბიჯი 3: Arduino Build

არდუინოს აშენება
არდუინოს აშენება
არდუინოს აშენება
არდუინოს აშენება
არდუინოს აშენება
არდუინოს აშენება
არდუინოს აშენება
არდუინოს აშენება

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

შეეხეთ ტაიმერის მოდიფიკაციას

ფრთხილად ამოიღეთ ონკანის ტაიმერი. ჩვენ მკაცრად გავაკონტროლებთ ორ რეგულირებად ციფერბლატს, რათა მათ ხელით აკრიფეთ ნაცვლად arduino. მარცხენა სიხშირის ციფერბლატი მტკიცედ იქნება მიერთებული გადატვირთვის პოზიციას ისე, რომ მარჯვენა აკრიფეთ ჩართვა/გამორთვის პოზიციას შორის. მარჯვენა ციფერბლატს ექნება ერთი მავთული, რომელიც მოდის ცენტრალური მარჯვენა კონტაქტიდან და გარე მარჯვენა კონტაქტი, როგორც ნაჩვენებია. სტანდარტულად, ტაიმერი იქნება გამორთულ მდგომარეობაში. თუ ორი მავთული შევა კონტაქტში, ტაიმერი ჩაირთვება. ორი მავთული, რომელიც დაკავშირებულია 5V რელესთან, არდუინოს შეუძლია დახუროს/გახსნას კონტაქტი ორ მავთულს შორის. ერთი მავთულის საერთო სარელეო ტერმინალში და მეორე ჩვეულებრივ დახურულ ტერმინალში ჩვენ უზრუნველვყოფთ, რომ ტაიმერი გამორთულია არდუინოს გამორთვისას. სარელეო პინის დაყენება HIGH ჩართავს ტაიმერს; LOW– ზე დაყენება გამორთავს ტაიმერს.

ნიადაგის ზონდი

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

ტემპერატურის/ტენიანობის სენსორი

DHT11 ტემპერატურის/ტენიანობის სენსორი ჩართულია arduino– ს 5V– ში, მიწაზე და ციფრული pin arduino– ზე.

ლორას ფარი

ამ პროექტმა ასევე გამოიყენა დრაგინო ლორას ფარი (არ არის ნაჩვენები გაყვანილობის დიაგრამაში).

PVC ბაზა

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

ნაბიჯი 4: Arduino პროგრამირება

არდუინოს პროგრამირება
არდუინოს პროგრამირება

დააკავშირეთ კომპონენტები პურის დაფის ან ტერმინალის ზოლების საშუალებით პროგრამირებისა და ტესტირებისთვის

EPROM კონფიგურაცია

პირველი ჩვენ უნდა დავწეროთ კონფიგურაციის ცვლადები EPROM მეხსიერებაში. გაუშვით შემდეგი კოდი თქვენს არდუინოზე:

კოდი ხელმისაწვდომია Github– ზე

აქ DRY_VALUE არის 960. 1024 ნიშნავს, რომ ნიადაგი მთლიანად მშრალია, 0 ნიშნავს სრულ გაჯერებას, 960 იყო გაჯერების კარგი დონე რეზისტორის, კაბელის სიგრძისა და გამოყენებული ლურსმნებისთვის. ეს შეიძლება განსხვავდებოდეს თქვენივე კონფიგურაციის მიხედვით.

VALVE_OPEN არის 180000 მილიწამი (3 წუთი). როდესაც/თუ ონკანი ტაიმერი ჩართულია, ის 3 წუთის განმავლობაში დარჩება ღია.

RUN_INTERVAL არის 14400000 მილიწამზე (4 საათი). ეს ნიშნავს, რომ კონტროლერი ამოწმებს ნიადაგის ტენიანობას ყოველ ოთხ საათში და ჩართავს ონკანის ქრონომეტრს 3 წუთის განმავლობაში, თუ გაჯერება დაბალია (960 -ზე მეტი).

ზემოთ მოყვანილი კოდი შეიძლება შეიცვალოს და შეიცვალოს ეს მნიშვნელობები ნებისმიერ დროს.

პროგრამის კოდი

კოდი ხელმისაწვდომია Github– ზე

დამოკიდებულებები:

  • დროული მოქმედება
  • რადიოს ხელმძღვანელი

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

ეს შეიძლება იყოს ადაპტირებული საგნების ქსელის გამოსაყენებლად კოდის ამოღებით განყოფილებაში "BEGIN: lora vars" და პროგრამის შეცვლა დრაგინოს შემდეგი მაგალითის ჩათვლით ან ადაპტირებული სხვა რადიოსთან/wifi ფარებთან მუშაობისთვის და ა.

მოწოდებული კოდი ვარაუდობს, რომ DHT11_PIN არის ციფრული პინი 4, RELAY_PIN არის ციფრული პინი 3 და ნიადაგის ტენიანობის ანალოგური პინი არის ანალოგური შეყვანა 0.

გამართვის ცვლადი შეიძლება იყოს true ისე, რომ სერიული გამართვის შეტყობინებები შევიდეს baudrate 9600 -ზე.

ნაბიჯი 5: დანართის მშენებლობა

დანართი აშენება
დანართი აშენება

გაჭერით PVC მილები ონკანის ქრონომეტრზე და არდუინოს ბაზაზე. საბურღი ხვრელები სტეპის ტაიმერის ჩამოსასხმელი და შლანგის შესაკრავისთვის. გააღეთ ხვრელები საავტომობილო გამტარისთვის საკმარისად ფართო, ჩაასხით 10 სმ სიგრძის მილები ხვრელებში და გაანადგურეთ მავთულები არდუინოსა და ტაიმერის ტაიმერიდან. ეს უნდა შეიცავდეს:

არდუინოდან

  • კვების ბლოკი და/ან USB კაბელი არდუინოს USB პორტიდან.
  • ნიადაგის ტენიანობის კაბელები (VCC, GND, A0)
  • ორი მავთული სარელეო NC & Common ხრახნიანი ტერმინალებიდან

ჩამოსასხმელი ქრონომეტრიდან

  • კვების კაბელები
  • ორი მავთული მარჯვენა აკრიფეთ კონტაქტებიდან

ნაბიჯი 6: შეამოწმეთ კონტროლერი შეწებებამდე

ტესტის კონტროლერი შეწებებამდე
ტესტის კონტროლერი შეწებებამდე
ტესტის კონტროლერი შეწებებამდე
ტესტის კონტროლერი შეწებებამდე

დარწმუნდით, რომ ყველაფერი ჯერ კიდევ მუშაობს სანამ ყველაფერს დალუქავთ.

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

ერთი წვეთოვანი მიმაგრებული იყო ონკანის ქრონომეტრზე.

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

ეს მაგალითი შეიძლება იმუშაოს იმდენ ხანს, რამდენიც საჭიროა კონტროლერის დაკალიბრებისათვის.

ნაბიჯი 7: წებო / წყალგაუმტარი შიგთავსები

წებო / წყალგაუმტარი შიგთავსები
წებო / წყალგაუმტარი შიგთავსები

გამოიყენეთ PVC პრაიმერი და PVC ცემენტი, რომ დაიცვათ ბოლოები და დაწყვილება.

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

აქ ხრახნიანი თავსახური გამოიყენება არდუინოს შიგთავსზე წვდომისათვის.

ნაბიჯი 8: დააინსტალირეთ

Დაინსტალირება
Დაინსტალირება
Დაინსტალირება
Დაინსტალირება
Დაინსტალირება
Დაინსტალირება

დააინსტალირეთ ნათელ დღეს. კომპონენტები და მავთულები უნდა დარჩეს მშრალი სანამ დალუქულია.

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

მოარგეთ ონკანის ტაიმერი და დარწმუნდით, რომ ის არ არის ჩართული ინსტალაციის დასრულებამდე.

მიამაგრეთ ნიადაგის ზონდი.

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

დახურეთ ყველა ტერმინალი და ნებისმიერი სხვა დაუცველი ნაწილი ძაფის ლენტით და შემდეგ ელექტრო ლენტით.

დალუქეთ გაყოფილი მილის ნებისმიერი ფხვიერი/დაუცველი ადგილი ძაფის დალუქვის ლენტით, შემდეგ კი ელექტრო ლენტით.

შეაერთეთ ტაიმერი 3.2 ვ ენერგიის წყაროსთან. ან ბატარეის პაკეტი, ან 3.2V DC - AC ადაპტერი, რომელიც მუშაობს ქსელში.

შეაერთეთ არდუინო 6-12 ვ DC დენის წყაროსთან. ან ბატარეის პაკეტი, ან USB / DC-AC ადაპტერი, რომელიც მუშაობს ქსელში.

ჩართეთ და გამოცადეთ!

ნაბიჯი 9: ThingsBoard ინტეგრაცია - მონიტორინგი და ანგარიშგება

ThingsBoard ინტეგრაცია - მონიტორინგი და ანგარიშგება
ThingsBoard ინტეგრაცია - მონიტორინგი და ანგარიშგება

ამ მაგალითში გამოყენებულია დრაგინო ლორას ფარი, რომელიც დაკავშირებულია დრაგინო ლორას კარიბჭესთან. ამ კონფიგურაციის, ლორას სხვა კონფიგურაციის თუ სხვა IOT კავშირის გამოყენებით, სარწყავი კონტროლერის მიერ შეგროვებული მონაცემები შეიძლება გადაგზავნილი იყოს IOT პლატფორმაზე, როგორიცაა Thingsboard. ნაგულისხმევად, პროგრამა გადასცემს მონაცემების შემდეგ სტრიქონს, სადაც თითოეული სიმბოლოთა ბაიტი ექვსჯერ არის კოდირებული:

TXXXHXXXSXXXXXX

სადაც T- ს მოყვება ტემპერატურა, H- ს მოყვება ტენიანობა, S- ს მოსდევს გაჯერების დონე და R- ს მოყვება ერთი ციფრი, რომელიც ეხება იმას, თუ რა მოქმედება შეასრულა მან ბოლო გაშვების ინტერვალში. ეს შეიძლება იყოს 0-5, სადაც თითოეული ციფრი ნიშნავს:

0: პროგრამა ინიციალიზებულია 1: ტემპერატურის სენსორის გაუმართაობა 2: ტემპერატურა ძალიან დაბალი იყო გასაშვებად 3: ნიადაგის ტენიანობა ძალიან მშრალია, რის გამოც ჩამოსასხმელი ტაიმერი გააქტიურებულია 4: ნიადაგის ტენიანობა კარგად, ასე რომ ონკანის ტაიმერი არ გააქტიურებულია 5: სარწყავი კონტროლერი გამორთულია

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

დააყენეთ თქვენი მოწყობილობა Thingsboard- ში

მიჰყევით ამ ინსტრუქციას, რომ დაამატოთ ახალი მოწყობილობა Thingsboard– ში, რომელსაც მას უწოდებენ "სარწყავი კონტროლერი".

დააყენეთ ტელემეტრიის მონაცემები მოწყობილობიდან

მიჰყევით ამ ინსტრუქციას, რომ შექმნათ ტელემეტრული მონაცემების მოწყობილობიდან Thingboard– ზე გადაყვანის მეთოდი MQTT, HTTP ან CoAp საშუალებით.

ჩვენს სერვერზე ჩვენ ვაყენებთ შემდეგ JSON– ს https://thingsboard.meansofproduction.tech/api/v1/… ყოველ ოთხ საათში, როდესაც მოწყობილობა მუშაობს (პირდაპირი მონაცემებით):

ასევე, ჩვენ პერიოდულად ვუბიძგებთ შემდეგ ატრიბუტებს https://thingsboard.meansofproduction.tech/api/v1/… პერიოდულად მონაცემებით კვანძის ბოლოს ნახვის მონაცემებით:

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

შექმენით დაფა

შექმენით დაფა, როგორც ეს აღწერილია აქ. ჩვენი ვიჯეტები მოიცავს:

მარტივი ბარათის ვიჯეტი შექმნილია lastRunResult ტელემეტრიული ველიდან. ვერტიკალური ციფრული გაზომვა ტემპერატურის ტელემეტრიის ველზე Timeseries ცხრილი შექმნილია lastRunResult ტელემეტრიის ველიდან, რომელიც აჩვენებს ბოლო დღეების მონაცემებს. ჰორიზონტალური ბარი, რომელიც აჩვენებს გაჯერების ტელემეტრიის ველს. ეს იყენებს მონაცემთა შემდგომი დამუშავების ფუნქციას:

დაბრუნება 1024-ღირებულებით;

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

ელ.ფოსტის შეტყობინებები

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

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

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

ელექტრონული ფოსტის გასაგზავნად, თუ ნიადაგი ძალიან მშრალია გამოიყენეთ შემდეგი ტელემეტრიული ფილტრი

გაჯერების ტიპი! = "განუსაზღვრელი" && გაჯერება> 1010

თუკი ნიადაგი ზედმეტად ტენიანი გახდება ელექტრონული ფოსტის გასაგზავნად გამოიყენეთ შემდეგი ტელემეტრიული ფილტრი

გაჯერების ტიპი! = "განუსაზღვრელი" && გაჯერება

გირჩევთ: