Სარჩევი:

წყლის ბლასტერის ავტომატური თვალთვალი: 9 ნაბიჯი
წყლის ბლასტერის ავტომატური თვალთვალი: 9 ნაბიჯი

ვიდეო: წყლის ბლასტერის ავტომატური თვალთვალი: 9 ნაბიჯი

ვიდეო: წყლის ბლასტერის ავტომატური თვალთვალი: 9 ნაბიჯი
ვიდეო: აიზეკ აზიმოვი - "მე, რობოტი" - აუდიო წიგნი 2024, ივლისი
Anonim
წყლის ბლასტერის ავტომატური თვალთვალი
წყლის ბლასტერის ავტომატური თვალთვალი

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

აქ არის ვიდეო, სადაც ვამოწმებ წყლის ბლასტერს:

წყლის გამანადგურებელი არის დამოუკიდებელი ყუთი, რომელიც შეიძლება დისტანციურად იყოს დაკავშირებული (wi-fi/VNC) თქვენი ქსელის ნებისმიერი კომპიუტერიდან, რათა გააკონტროლოს რას აკეთებს. ის იღებს სურათს ყოველ ჯერზე, როდესაც ის გააქტიურდება, რათა მოგვიანებით ნახოთ რა აფეთქდა.

მე გამოვიყენე Raspberry Pi, NoIR კამერა, IR გამანათებელი, სტანდარტული ხაზოვანი სერვერი და წყლის სარქველი ამ დღის/ღამის შესაქმნელად, სამიზნე თვალთვალის წყლის ბლასტერი. კოდი დაწერილია პითონში და სესხებს დიდი რაოდენობით ადრიან როზებროკის cv2 გამოსახულების დამუშავების კოდის ნიმუშებიდან. თქვენ შეგიძლიათ ნახოთ მისი წერა აქ:

www.pyimagesearch.com/2015/06/01/home-surv…

ვინაიდან მე მივდივარ შედარებით დიდ, სახმელეთო სამიზნეებზე (ირმები), ჩემი პრობლემა გარკვეულწილად გამარტივებულია. მე მჭირდება მხოლოდ ჰორიზონტალური დამიზნება, ასე რომ შემიძლია თავი დავაღწიო მხოლოდ ერთი სერვოს გამოყენებით. ირმის გაჩერებამდე ლოდინი მეხმარება ბევრი ცრუ გამომწვევის აღმოფხვრაში. ეს არის ჩემი rev-0 მცდელობა და მე აღმოვაჩინე რამოდენიმე რამ, რასაც შევცვლიდი, თუ მეორეს ავაშენებდი. მე აღვნიშნე ეს საკითხები შემდგომში დეტალურ ჩანაწერებში.

ნაბიჯი 1: კოდი

წყლის ასაფეთქებელი იყენებს Raspberry Pi 3 დამუშავებისათვის. ვიდეოს გადასაღებად, NoIR Raspberry Pi კამერა გამოიყენება IR ილუმინატორთან ერთად ღამის ვიდეოსთვის. OpenCV/cv2 პითონის პაკეტი გამოიყენება გამოსახულების ინფორმაციის გადასაღებად და დამუშავებისთვის და სამიზნე კოორდინატების გამოსათვლელად. პიგპიოს ბიბლიოთეკა გამოიყენება gpio– ს გასაკონტროლებლად სტაბილური სერვო მუშაობისთვის. რეგულარული RPi. GPIO პაკეტის გამოყენებამ გამოიწვია შერყეული სერვო. შენიშვნა: პიგპიოს ბიბლიოთეკის გამოყენებისას თქვენ უნდა აწარმოოთ პიგპიონის დემონი. დაამატეთ ეს თქვენი Pi- ს /etc/rc.local გაშვების ფაილში pigpio lib და Raspberry Pi კამერის ინტერფეისისთვის:

/etc/rc.local# დააყენეთ/dev/video0 რათა დაუკავშიროთ Raspberry Pi კამერასთან ჩამონტაჟებული interfacemodprobe bcm2835-v4l2# დაიწყეთ პიგპიონის დემონი Raspberry Pi IO საკონტროლო ბიბლიოთეკისთვის

იხილეთ https://pypi.python.org/pypi/pigpi უფრო დეტალურად.

წყაროს კოდს ჰქვია: water_blaster.py და თან ერთვის ქვემოთ.

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

ძირითადი ალგორითმი შემდეგია:

  • აიღეთ საწყისი ვიდეო მითითების ჩარჩო. ის გამოყენებული იქნება მოძრაობის გამოსავლენად.
  • აიღე სხვა ჩარჩო.
  • გადააკეთეთ ჩარჩო ნაცრისფერ მასშტაბზე, გაზარდეთ, დაბინდეთ.
  • გამოთვალეთ განსხვავება საცნობარო ჩარჩოდან
  • გაფილტრეთ მცირე განსხვავებები, მიიღეთ უდიდესი სხვაობის კოორდინატები.
  • დააყენეთ ტაიმერი. თუ სამიზნე კოორდინატი არ იცვლება რამოდენიმე წამის განმავლობაში, მაშინ გადაიღეთ სურათი, რის გადაღებასაც ვაპირებთ და წყლის სარქველს ვუშვებთ წყლის აფეთქებისთვის. გაასუფთავეთ servo წინ და უკან რამდენიმე გრადუსით "თოფი" აფეთქებისთვის.
  • თუ ჩვენ ძალიან სწრაფად ვიღებთ სამ ტრიგერს, გამორთეთ სროლა, შეჩერდით ცოტა ხნით, შემდეგ განაახლეთ საცნობარო ჩარჩო, რადგან შესაძლოა ჩვენ ვიღებთ ჩრდილის ან ვერანდის შუქზე, რომელიც ახლახან იყო ჩართული…
  • ყოველ რამდენიმე წუთში განაახლეთ საცნობარო ჩარჩო დაბალი სიხშირის ცვლილებების გათვალისწინებით (მზე ამოდის/ჩადის, მოღრუბლული მოძრაობს და ა.შ.)

მე ვიყენებ მხოლოდ ჰორიზონტალურ მიზანსწრაფვის მექანიზმს, მაგრამ ბევრი სატრანსპორტო/დახრილი servo სამაგრი ხელმისაწვდომია EBay– ზე და ადვილი იქნება სხვა სერვერის დამატება ვერტიკალური მიზნის გასაკონტროლებლად, თუ გსურთ უფრო ზუსტი დამიზნება.

მე დავაყენე Raspberry Pi, რომ ვიმუშაო როგორც VNC სერვერი, შემდეგ დავუკავშირო მას VNC ჩემი ლეპტოპიდან პროგრამის დასაწყებად და ვიდეოს და ჟურნალების მონიტორინგისთვის. cd იმ დირექტორიაში, სადაც ინახავთ water_blaster.py და გაუშვით აკრეფით:

./python water_blaster.py

ის გახსნის ვიდეო მონიტორის ფანჯარას, დაიწყებს ჟურნალის ფაილს სახელწოდებით "./log_ [date] ყოველი გადაღებული კადრისთვის.

აქ არის რამოდენიმე შენიშვნა VNC თქვენს Raspberry Pi– ზე დაყენების შესახებ:

პირველად Raspberry Pi– ის დაყენებისას გამოვიყენე გარე მონიტორი/კლავიატურა/მაუსი ნივთების დასაყენებლად. იქ მე გავაქტიურე VNC სერვერი RasPi კონფიგურაციაში (ჟოლოს ლოგო / პარამეტრები / Raspberry Pi კონფიგურაცია / ინტერფეისები / შეამოწმეთ VNC ვარიანტი). ამის შემდეგ, როდესაც ის იტვირთება, ის საშუალებას გაძლევთ დაუკავშიროთ მის: 0 ჩვენებას VNC კლიენტის საშუალებით (იგივე რწმუნებათა სიგელები, როგორც ნაგულისხმევი მომხმარებელი "pi").

უსათაურო რეჟიმში ის ნაგულისხმევია ძალიან მცირე რეზოლუციის ჩვენებაზე (რადგან ის არ ამჩნევს არცერთ ჩვენებას), რომ აიძულოთ იგი უფრო დიდი რეზოლუციით, თქვენ დაამატეთ ამას /boot/config.txt და გადატვირთეთ:

# გამოიყენეთ თუ გაქვთ ჩვენება# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39

აქ არის კიდევ რამდენიმე ინფორმაცია:

ნაბიჯი 2: ელექტრონიკა

წყლის ასაფეთქებელი ელექტრონიკის მოთხოვნები მინიმალურია Raspberry Pi 3 gpio– ს გამოყენებით სერვო, წყლის სარქველი და IR გამნათებელი დისკრეტული ტრანზისტორი ბუფერების საშუალებით (აშენებულია პატარა პროტო დაფაზე). სტანდარტული NoIR კამერა უერთდება პირდაპირ Raspberry Pi- ს.

სქემატური სახელწოდებაა: water_blaster_schematic.pdf და თან ერთვის ქვემოთ.

მე გამოვიყენე 5v/2.5A გამოყოფილი მიწოდება Raspberry Pi- სთვის და 12v/1A წყარო IR IR გამანათებლის და წყლის სარქველის მართვისთვის. 12 ვ კვების წყარო ასევე მართავს 5 ვ რეგულატორს, რათა უზრუნველყოს ძალა 5 ვ სერვოზე. ეს გაკეთდა იმისთვის, რომ "ხმაურიანი" ძრავის კონტროლის ძალა იზოლირებული ყოფილიყო Raspberry Pi 5v წყაროდან. 12v/1A მიწოდება აღმოჩნდა მისი ლიმიტი (ფაქტობრივად ოდნავ მეტი ერთხელ დავამატე გულშემატკივართა). კოდი წყვეტს IR ილუმინატორს წყლის სარქველის რელეს ჩართვამდე, რათა მიმდინარე დიაპაზონი შეინარჩუნოს დიაპაზონში … უკეთესი იქნება, თუ იყენებთ 1.5A წყაროს. დარწმუნდით, რომ დააკავშირეთ ყველა დენის წყაროს ტერმინალი ერთმანეთთან.

კამერის მოდული არის სტანდარტული NoIR ვერსია, რომელიც პირდაპირ ჯდება Raspberry Pi- ში. ეს არის Raspberry Pi კამერა IR ფილტრით უკვე ამოღებული, რაც მას საშუალებას აძლევს გამოიყენოს IR ილუმინატორი ღამის ვიდეოს გადაღებისთვის.

გამოყენებული სერვო არის სტანდარტული ზომის 5 ვ ხაზოვანი სერვო, რომელსაც აქვს 3-4 კგ-სმ ბრუნვის მომენტი.

IR ილუმინატორი იყო დაბალი ღირებულების 48 ცალი ბეჭედი, რომელიც ვიპოვე EBay– ზე დაახლოებით 4 დოლარად. ის არ არის ძალიან ძლიერი და შეუძლია განათება მხოლოდ 15 ფუტის სიმაღლეზე. თუ თქვენ გაქვთ დამატებითი ბიუჯეტი, უფრო ძლიერი განმანათლებლის მიღება კარგი გაუმჯობესება იქნება.

Gpio23- ს დავამატე "გამართვის შეცვლა". კოდი ამოწმებს გადამრთველის მდგომარეობას და დაჭერის შემთხვევაში წყლის სარქველის სარელეო გამორთულია მშრალი ცეცხლის ტესტირებისთვის. ვიფიქრე, რომ მეტს გავაკეთებდი ამ გადამრთველთან, მაგრამ პრაქტიკულად არ გამომიყენებია. მე ამოვიღებ მას და კოდს, რომელიც მას ეძებს …

ნაბიჯი 3: კონსტრუქცია: კამერა და IR ილუმინატორი

კონსტრუქცია: კამერა და IR ილუმინატორი
კონსტრუქცია: კამერა და IR ილუმინატორი

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

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

ნაბიჯი 4: მშენებლობა: წყლის მილები

მშენებლობა: წყლის მილები
მშენებლობა: წყლის მილები
მშენებლობა: წყლის მილები
მშენებლობა: წყლის მილები

წყლის შესასვლელი მილსადენშია 12 ვ წყლის სარქველში, რომელიც დაკავშირებულია ¼”ID x 3/8” OD ვინილის მილთან. ეს, თავის მხრივ, დაკავშირებულია ¼”მავთულხლართებთან, PVC კონექტორთან გასასრიალებლად და წებოვანი ¾” PVC წყლის თავსახურით წყლის ნაკადისთვის გაბურღული 1/16”ხვრელით. მინდოდა წყლის სარქველის სარელეო ამინდის გარეშე, ასე რომ იგი დამონტაჟებულია ყუთში. არსებობს საშიშროება, რომ მე გამჟღავნდეს გაჟონვა, მაგრამ მე გავაღე სანიაღვრე ხვრელები ყუთის ქვედა ნაწილში და დავამატე ელექტრონიკა მაღლა, რომ მინიმუმამდე შემცირდეს ელექტრონიკის წყლის შესაძლო დაზიანების შანსი, თუ ეს მოხდება. ნაკლებად ესთეტიურად სასიამოვნო, მაგრამ უსაფრთხო გეგმა იქნება სარქვლის დამონტაჟება გარედან და შიგნით 12 ვ სარელეო მავთულის გაშვება. სერვოს გამჭვირვალე პლასტიკური დისკი მოსახერხებელი გზა იყო შლანგის ბოლოში დასაყენებლად და ის იცავს წყალს, რომ არ ჩაედინება სერვოზე. გულშემატკივართა შემდგომი იყო, რადგან ყუთი ძალიან ათბობდა. მასზე პატარა ჩარდახი ავაწყვე, რომ წყალი არ ჩაედინება.

ნაბიჯი 5: მშენებლობა: სერვოის მიზანი

მშენებლობა: ემსახურება სერვო
მშენებლობა: ემსახურება სერვო

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

ნაბიჯი 6: კონსტრუქცია: დენის წყაროს, ვენტილატორის, ჟოლოს Pi და პროტო დაფის დაყენება

კონსტრუქცია: დენის წყაროების, ვენტილატორის, ჟოლოს Pi და პროტო დაფის დამონტაჟება
კონსტრუქცია: დენის წყაროების, ვენტილატორის, ჟოლოს Pi და პროტო დაფის დამონტაჟება

ორი კვების წყარო (5 ვ და 12 ვ) არის მიერთებული ერთ დენის კაბელზე, რომელიც გამოდის ყუთის გვერდიდან. Raspberry Pi და პროტო დაფა დამონტაჟებულია ყუთის მხარეს, ზედა ნაწილთან ახლოს. ყურადღება მიაქციეთ ქვედა ნაწილში გაბურღულ სადრენაჟო ხვრელებს და ზედა კიდის გასწვრივ გაბურღულ ჰაერის გამწოვ ხვრელებს. ვენტილატორი დამონტაჟებულია Raspberry Pi– ს მოპირდაპირედ. არ არის ჩართვის/გამორთვის გადამრთველი, რადგან მე არ მსურს წავახალისო Raspberry Pi– ს გამორთვა ფორმალური "sudo shutdown now" ბრძანების გარეშე (ანუ არ მინდა ძალიან მარტივად გამორთული).

ნაბიჯი 7: მშენებლობა: პროტო დაფა

მშენებლობა: პროტო დაფა
მშენებლობა: პროტო დაფა

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

ნაბიჯი 8: კონსტრუქცია: ჟოლო პი კამერა

კონსტრუქცია: Raspberry Pi კამერა
კონსტრუქცია: Raspberry Pi კამერა

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

ნაბიჯი 9: ნაწილების სია

პროექტი დასრულდა დაახლოებით $ 120. პროექტის ღირებულების უმეტესი ნაწილია Raspberry Pi, კამერა, სერვო და კვების წყარო. ნაწილების უმეტესობა ვიპოვე EBay– ზე ან Amazon– ზე და სანტექნიკის ნაწილები ადგილობრივ ტექნიკის მაღაზიაში.

  • ჟოლო Pi 3 (ამაზონი) 38 დოლარი
  • NoIR კამერა (EBay) $ 30
  • 5v ანალოგი სერვო (4 კგ-სმ ბრუნვის მომენტი) (EBay) $ 10
  • 5v/2.4A კედლის კვების წყარო (EBay) 8 $
  • 12v ½”წყლის სარქველი (EBay) $ 5
  • მილები, მილსადენები (ოში) 5 $
  • პლასტიკური საბრძოლო მასალის ყუთი (ნავსადგურის სატვირთო) $ 5
  • 12v/1.5A კედლის კვების წყარო (EBay) $ 5
  • IR Illuminator (EBay) 4 $
  • სხვადასხვა კომპონენტები (რეზისტორები, კონცენტრატორები, დიოდი) 2 $
  • CPU Fan (EBay) 2 $
  • პროტო დაფა, ჩამორჩენილები, ხრახნები (EBay) 2 $
  • (2) სიმძლავრის ტრანზისტორები (2n5296) (EBay) $ 1
  • 5v რეგულატორი (LM7805) (EBay) $ 1
  • გამჭვირვალე პლასტმასი 3/32”(შეეხეთ პლასტმასის სხვადასხვა. ყუთს) $ 1
  • დენის კაბელი (ოში) 1 $

მაღაზიები/საიტები, სადაც შევიძინე ნივთები:

  • Alice1101983 EBay საიტი:
  • 2bevoque EBay საიტი:
  • Harbor სატვირთო
  • ბაღის მიწოდების ტექნიკა
  • ამაზონი
  • შეეხეთ პლასტმასს

გირჩევთ: