Mundarija:

Suvni portlatishni avtomatik kuzatish: 9 qadam
Suvni portlatishni avtomatik kuzatish: 9 qadam

Video: Suvni portlatishni avtomatik kuzatish: 9 qadam

Video: Suvni portlatishni avtomatik kuzatish: 9 qadam
Video: MINECRAFT/ AYLANADIGAN NARSA YASASH /UZBEKCHA LET'S PLAY 2024, Iyul
Anonim
Water Blaster-ni avtomatik kuzatish
Water Blaster-ni avtomatik kuzatish

Atirgul kiyadigan kiyiklar meni dahshatli jonivorlarning oldini olishga yordam beradigan nishonni kuzatuvchi suv tozalash moslamasini qurishga undadi … Bu suv portlatuvchi videokuzatuv yordamida harakatni aniqlash yordamida servo nishonga oladi va nishonga qisqa suv oqishini qo'zg'atadi. Olingan nishon bir necha soniya harakatsiz turgandan keyingina o'qqa tutiladi (kechikishni kodda sozlash mumkin). Kiyiklar o'tib ketayotgani menga ahamiyat bermaydi, lekin agar ular atıştırmalık qilish uchun to'xtab qolsalar, shoshiling!

Mana, suv puflagichini sinovdan o'tkazgan videom:

Suv blasteri-bu mustaqil ravishda ishlaydigan quti, u tarmoqdagi istalgan kompyuterdan masofadan turib (Wi-Fi/VNC orqali) ulanib, nima qilayotganini kuzatishi mumkin. Bu har safar ishga tushirilganda suratga tushadi, shunda nima sodir bo'lganini keyinroq bilib olasiz.

Men bu Raspberry Pi, NoIR kamerasi, IQ yoritgichi, standart chiziqli servo va suv klapanidan foydalanganman. Kod Python -da yozilgan va Adrian Rosebrock -ning tasvirni qayta ishlash kodlari namunalaridan ko'p qarz oladi. Siz uning yozuvini quyidagi manzilda ko'rishingiz mumkin:

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

Men nisbatan katta, erga asoslangan nishonlarni (kiyiklarni) ta'qib qilayotganim uchun, mening muammom biroz soddalashtirilgan. Menga faqat gorizontal nishon kerak, shuning uchun men faqat bitta servo bilan qochaman. Kiyiklarning turishini kutish menga ko'plab yolg'on qo'zg'atuvchilarni yo'q qilishga yordam beradi. Bu mening rev-0 urinishim va men boshqasini qurganimda o'zgartiradigan ba'zi narsalarni topdim. Men bu narsalarni keyingi batafsil yozishmalarda qayd etganman.

1 -qadam: Kod

Suv blasteri qayta ishlash uchun Raspberry Pi 3 dan foydalanadi. Videotasvir olish uchun NoIR Raspberry Pi kamerasi tungi video uchun IQ yoritgichi bilan birga ishlatiladi. OpenCV/cv2 Python to'plami tasvir ma'lumotlarini olish va qayta ishlash hamda maqsadli koordinatalarni hisoblash uchun ishlatiladi. Pigpio kutubxonasi gpioni barqaror servo ishlashi uchun boshqarish uchun ishlatiladi. Oddiy RPi. GPIO paketidan foydalanish servoning silkinishiga olib keldi. QAYD: Pigpio kutubxonasidan foydalanganda pigpio demonini ishga tushirish kerak. Buni pig -lib va Raspberry Pi kamera interfeysi uchun Pi -ning /etc/rc.local boshlang'ich fayliga qo'shing:

/etc/rc.local# Raspberry Pi-ga ulanish uchun/dev/video0-ni sozlang interfacemodprobe bcm2835-v4l2

Batafsil ma'lumot uchun https://pypi.python.org/pypi/pigpi ga qarang.

Manba kodining nomi: water_blaster.py va quyida biriktirilgan.

Ogohlantirishlar: Men Python kodlashida yangiman, shuning uchun uni Python kodlash uslubining ajoyib modeli deb hisoblamang!

Asosiy algoritm quyidagicha:

  • Dastlabki video mos yozuvlar ramkasini oling. Bu harakatni aniqlash uchun solishtirish uchun ishlatiladi.
  • Boshqa ramka oling.
  • Ramkani kulrang shkalaga aylantiring, o'lchamini o'zgartiring, xiralashtiring.
  • Malumot ramkasidan farqni hisoblang
  • Kichik farqlarni filtrlang, eng katta farq koordinatalarini oling.
  • Taymerni o'rnating. Agar nishon koordinatasi bir necha soniya davomida o'zgarmasa, biz otmoqchi bo'lgan narsani tasvirga oling va suv portlashi uchun suv valfini ishga tushiring. Servo "miltiq" portlashi uchun bir necha daraja oldinga va orqaga supurib tashlang.
  • Agar biz uchta tetikni juda tez olsak, tortishishni o'chirib qo'ying, biroz pauza qiling, so'ngra mos yozuvlar ramkasini yangilang, chunki biz hozirgina yonib turgan soyaga yoki ayvon nuriga qarata olamiz …
  • Har bir necha daqiqada mos yozuvlar ramkasini past chastotali o'zgarishlarni (quyosh chiqishi/botishi, bulutli ko'chish va hk) hisobga olish uchun yangilang.

Men faqat gorizontal nishonga olish mexanizmidan foydalanayapman, lekin EBay -da ko'p burilishli servo moslamalar mavjud va agar siz aniqroq nishonga olishni xohlasangiz, vertikal nishonni boshqarish uchun boshqa servo qo'shish oson bo'ladi.

Men Raspberry Pi -ni VNC -server sifatida ishga joylashtirdim, keyin dasturni ishga tushirish va video va jurnallarni kuzatish uchun unga noutbukdan VNC orqali ulang. cd ni water_blaster.py saqlanadigan katalogga kiriting va yozing:

./python water_blaster.py

Bu video monitor oynasini ochadi, "./log_ [sana]_ [vaqt] nomli jurnal faylini ishga tushiradi va-j.webp

Raspberry Pi -da VNC -ni sozlash bo'yicha ba'zi eslatmalar:

Men Raspberry Pi -ni birinchi marta o'rnatganimda, narsalarni sozlash uchun tashqi monitor/klaviatura/sichqonchani ishlatardim. U erda men RasPi konfiguratsiyasida VNC serverini yoqdim (Raspberry Logo / Preferences / Raspberry Pi konfiguratsiyasi / Interfeyslar / VNC variantini tekshirish). Keyinchalik, u ishga tushganda, u sizga: 0 displeyiga VNC mijozi orqali ulanishga imkon beradi (standart foydalanuvchi "pi" bilan bir xil ma'lumotga ega).

Boshsiz rejimda u juda kichik o'lchamli displeyga ega (chunki u hech qanday displeyni aniqlamaydi), uni kattaroq piksellar soniga majburlash uchun uni /boot/config.txt ga qo'shib qayta ishga tushiring:

# Agar sizda displey mavjud bo'lsa foydalaning# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39

Bu erda qo'shimcha ma'lumotlar:

2 -qadam: Elektronika

Suvli blaster elektronikasiga qo'yiladigan talablar Raspberry Pi 3 gpio yordamida servo, suv valfi va IQ yoritgichini diskret tranzistorli tamponlar (kichik proto -taxtaga o'rnatilgan) yordamida boshqariladi. Standart NoIR kamerasi to'g'ridan -to'g'ri Raspberry Pi -ga ulanadi.

Sxemaning nomi: water_blaster_schematic.pdf va quyida biriktirilgan.

Men Raspberry Pi uchun 5v/2,5A ajratilgan quvvat manbai va IQ yoritgichi va suv klapanini haydash uchun 12v/1A quvvat manbasidan foydalandim. 12v quvvat manbai 5v servo quvvat bilan ta'minlash uchun 5v regulyatorni ham boshqaradi. Bu "shovqinli" motorni boshqarish kuchini Raspberry Pi 5v ta'minotidan ajratib turish uchun qilingan. 12v/1A manbai o'z chegarasida edi (men fanni qo'shganimdan keyin biroz oshib ketdi). Oqim chizig'ini diapazonda ushlab turish uchun suv klapanining rölesini yoqishdan oldin, IR yoritgichi o'chiriladi … Agar siz 1,5A quvvat manbaidan foydalansangiz yaxshi bo'lardi. Barcha quvvat manbalarining topraklama terminallarini bir -biriga ulaganingizga ishonch hosil qiling.

Kamera moduli - bu Raspberry Pi -ga to'g'ridan -to'g'ri ulanadigan NoIR standart versiyasi. Bu Raspberry Pi kamerasi, IR filtri allaqachon olib tashlangan, uni tungi videoga olish uchun IQ yoritgich bilan ishlatishga imkon beradi.

Qo'llaniladigan servo standart o'lchamdagi 5v chiziqli servo bo'lib, 3-4 kg-sm momentga ega.

IR yoritgichi men EBay -da taxminan 4 dollarga topilgan 48 ta arzon halqali halqa edi. U juda kuchli emas va faqat 15 futgacha yoritishi mumkin. Agar sizda qo'shimcha byudjet bo'lsa, kuchliroq yoritgichni olish yaxshi yaxshilanish bo'ladi.

Men gpio23-ga "disk raskadrovka-almashtirish" ni qo'shdim. Kod kalitning holatini tekshiradi va agar bosilsa, quruq valfni tekshirish uchun suv valfi rölesini o'chirib qo'yadi. Men bu kalit bilan ko'proq narsani qilaman deb o'yladim, lekin oxirigacha uni umuman ishlatmadim. Men uni va uni qidirayotgan kodni olib tashlardim …

3 -qadam: Qurilish: kamera va IQ yoritgichi

Qurilish: kamera va IQ yoritgichi
Qurilish: kamera va IQ yoritgichi

Men "Harbor Freight" plastik o'q -dorilar qutisini korpus sifatida ishlatardim. Menga suvga chidamli narsa kerak edi, chunki ko'p miqdorda suv purkash/oqish muqarrar. Teshiklar/kesmalar juda ko'p, lekin ular tentlar, shaffof plastmassa bilan qoplangan yoki suv to'kish uchun osilgan joylar ostida burg'ulashadi. Ko'rinib turibdiki, men yuqori quvvatli komponentlarga ichki o'rnatilgan radiatorli metall qutidan foydalanishim kerak edi. Bu bilan men fanatni qo'shishdan qochgan bo'lardim deb o'ylayman. Plastik quti juda izolyatsiya qilingan va ichki haroratning haddan tashqari ko'tarilishiga imkon bergan.

Kamerani ko'rish uchun oxirigacha kichkina oyna kesib tashlangan va men yoritgan eski plastik linzali korpusga IQ yoritgichi o'rnatilgan.

4 -qadam: Qurilish: suv quvurlari

Qurilish: suv quvurlari
Qurilish: suv quvurlari
Qurilish: suv quvurlari
Qurilish: suv quvurlari

Suv kirish joyi 12V suv klapaniga ulanadi, u "ID x 3/8" OD vinil naychasiga ulanadi. Bu, o'z navbatida, yarim dyuymli quvurli PVX konnektoriga ulangan va 1/16 dyuymli, suv oqimi uchun burg'ulash qilingan, bir dyuymli PVX suv qopqog'iga yopishtirilgan. Men suv o'tkazgich rölesini ob-havodan saqlamoqchi edim, shuning uchun u qutiga o'rnatilgan. Oqish xavfi bor, lekin men qutining pastki qismida drenaj teshiklarini burg'iladim va agar shunday bo'lsa, elektronikaga suvning shikastlanish ehtimolini kamaytiradigan elektronni o'rnatdim. Kamroq estetik, lekin xavfsizroq, vana tashqi tomonga o'rnatiladi va ichidagi 12V o'rni simlari o'tkaziladi. Servo ustidagi shaffof plastmassa disk shlangning uchini o'rnatishning qulay usuli edi va u suvning servoga tushishini oldini oladi. Ventilyator o'ylanib qoldi, chunki quti haddan tashqari qizib ketdi. Men suv tomchilab qolmasligi uchun uning ustidan kichkina chodir qurdim.

5 -qadam: Qurilish: maqsadli servo

Qurilish: maqsadli servo
Qurilish: maqsadli servo

Qutining yuqori qismida teshik kesilgan va nishon servo o'rnatilgan va suv o'tkazmasligi uchun kremniy bilan yopilgan.

6-qadam: Qurilish: Quvvat manbalari, fanat, Raspberry Pi va protokartni o'rnatish

Qurilish: Quvvat manbalari, fanat, Raspberry Pi va protokartni o'rnatish
Qurilish: Quvvat manbalari, fanat, Raspberry Pi va protokartni o'rnatish

Ikkita quvvat manbai (5v va 12v) qutining yonidan chiqadigan bitta quvvat simiga ulangan. Raspberry Pi va proto taxtasi qutining yon tomoniga tepaga yaqin o'rnatilgan. Pastki qismida drenaj teshiklari va yuqori chetida shamollatish teshiklari borligiga e'tibor bering. Fan Raspberry Pi qarshisida o'rnatilgan. Raspberry Pi -ni rasmiy "hozir sudo o'chirish" buyrug'isiz o'chirishni rag'batlantirmoqchi emasman, chunki yoqish/o'chirish tugmasi yo'q (ya'ni, quvvatni juda oson o'chirilishini xohlamang).

7 -qadam: Qurilish: Proto taxtasi

Qurilish: Proto taxtasi
Qurilish: Proto taxtasi

Boshqaruv panelida 5V regulyator, filtr qopqog'i, quvvat tranzistorlari (servo va suv klapanini boshqaruvchi) va disk raskadrovka tugmasi mavjud.

8 -qadam: Qurilish: Raspberry Pi kamerasi

Qurilish: Raspberry Pi kamerasi
Qurilish: Raspberry Pi kamerasi

Raspberry Pi kamerasi to'g'ridan -to'g'ri Raspberry Pi -ga tasma kabeli orqali ulanadi va qutining old qismidagi ko'rish qismini yopadigan shaffof plastik plastinkaga o'rnatiladi.

9 -qadam: qismlar ro'yxati

Loyihaning qiymati taxminan 120 dollarni tashkil etdi. Loyihaning asosiy qismini Raspberry Pi, kamera, servo va quvvat manbalari tashkil qiladi. Men EBay yoki Amazon -dagi ko'p qismlarni va sanitariya -tesisat qismlarini mahalliy apparat do'konida topdim.

  • Raspberry Pi 3 (Amazon) $ 38
  • NoIR Camera (EBay) 30 dollar
  • 5v Analog Servo (4 kg sm tork) (EBay) 10 dollar
  • 5v/2.4A devor quvvat manbai (EBay) 8 dollar
  • 12v ½”suv valfi (EBay) 5 dollar
  • Quvurlar, truboprovodlar (Osh) 5 dollar
  • Plastik o'q qutisi (Harbor yuk) 5 dollar
  • 12v/1.5A devor quvvat manbai (EBay) 5 dollar
  • IR yoritgichi (EBay) 4 dollar
  • Boshqa Komponentlar (rezistorlar, kalitlar, diodlar) $ 2
  • CPU muxlisi (EBay) - 2 dollar
  • Proto Board, Standoff, Vintlar (EBay) $ 2
  • (2) Quvvatli tranzistorlar (2n5296) (EBay) $ 1
  • 5v regulyator (LM7805) (EBay) $ 1
  • Shaffof plastmassa 3/32”(Tap Plastics Har xil qutiga) 1 dollar
  • Quvvat kabeli (O'sh) 1 dollar

Men sotib olgan do'konlar/saytlar:

  • Alice1101983 eBay sayti:
  • 2bevoque EBay sayti:
  • Port yuk tashish
  • Bog'lar uchun uskunalar etkazib berish
  • Amazon
  • Plastmassalarga teging

Tavsiya: