Агуулгын хүснэгт:

Усны тэсэлгээг автоматаар хянах: 9 алхам
Усны тэсэлгээг автоматаар хянах: 9 алхам

Видео: Усны тэсэлгээг автоматаар хянах: 9 алхам

Видео: Усны тэсэлгээг автоматаар хянах: 9 алхам
Видео: Замена отопления в новостройке. Подключение. Опрессовка. #17 2024, Долдугаар сарын
Anonim
Усны тэсэлгээг автоматаар хянах
Усны тэсэлгээг автоматаар хянах

Сарнай иддэг буга намайг аймшигтай амьтдыг зогсоохын тулд зорилтот түвшний ус үлээгч бүтээхэд түлхэц өгсөн юм. Энэхүү ус үлээгч нь дүрс бичлэг дээр суурилсан хөдөлгөөн илрүүлэлтийг ашиглан servo-ийг чиглүүлж, богино хугацааны усны тэсрэлтийг өдөөж байна. Энэ нь олж авсан зорилгоо хэдэн секундын турш хөдөлгөөнгүй байлгасны дараа л бууддаг (хоцролтыг кодоор тохируулж болно). Гөрөөс зүгээр л хажуугаар нь өнгөрч байгаа нь надад хамаагүй, гэхдээ хэрэв тэд зууш идэхээр зогсвол түрүүлээрэй!

Усны тэсэлгээг туршиж буй миний видео энд байна:

Усны тэсэлгээ нь бие даасан хайрцаг бөгөөд сүлжээнд байгаа ямар ч компьютерээс алсаас (wi-fi/VNC-ээр) холбогдож юу хийж байгааг нь хянах боломжтой юм. Энэ нь асах тоолонд зураг авах тул та юу тэсэлгээ хийснийг дараа нь харах боломжтой болно.

Би Raspberry Pi, NoIR камер, IR гэрэлтүүлэгч, стандарт шугаман servo, усны хавхлага ашиглан өнөө шөнө зорилтот усны тэсэлгээ хийдэг. Код нь Python хэл дээр бичигдсэн бөгөөд Adrian Rosebrock -ийн cv2 зураг боловсруулах кодын дээжээс ихээхэн зээл авсан болно. Та түүний бичсэн бичлэгийг эндээс харж болно.

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

Би харьцангуй том, газар дээр суурилсан зорилтуудыг (буга) дагаж байгаа тул миний асуудлыг арай хялбаршуулсан. Надад зөвхөн хэвтээ чиглүүлэлт хэрэгтэй тул ганцхан servo ашиглахаас зайлсхийх боломжтой. Бугыг зогсохыг хүлээх нь маш олон хуурамч өдөөгчийг арилгахад тусалдаг. Энэ бол миний rev-0 оролдлого бөгөөд хэрэв би өөр зүйл хийвэл өөрчлөх хэдэн зүйлийг олж мэдсэн. Дараахь дэлгэрэнгүй бичлэгт би эдгээр зүйлийг тэмдэглэсэн болно.

Алхам 1: Код

Усны тэсэлгээ нь боловсруулахад Raspberry Pi 3 -ийг ашигладаг. Видео авахын тулд NoIR Raspberry Pi камерыг шөнийн видеонд IR гэрэлтүүлэгчтэй хамт ашигладаг. OpenCV/cv2 Python багц нь зургийн мэдээллийг авах, боловсруулах, зорилтот координатыг тооцоолоход ашиглагддаг. Pigpio номын сан нь servo -ийн тогтвортой ажиллагааг хангахын тулд gpio -ийг хянахад ашиглагддаг. Ердийн RPi. GPIO багцыг ашиглавал серво чичирхийлэв. ТАЙЛБАР: pigpio номын санг ашиглахдаа pigpio демоныг ажиллуулах шаардлагатай. Үүнийг pigpio lib болон Raspberry Pi камерын интерфейсийн Pi -ийн /etc/rc.local эхлүүлэх файлд нэмнэ үү.

/etc/rc.local# Камеранд суулгасан Raspberry Pi-тэй холбохын тулд/dev/video0-ийг тохируулна уу bcm2835-v4l2# Raspberry Pi IO хяналтын номын сангийн pigpio демоныг ажиллуулна уу

Илүү дэлгэрэнгүйг https://pypi.python.org/pypi/pigpi дээрээс үзнэ үү.

Эх кодыг: water_blaster.py гэж нэрлэсэн бөгөөд доор хавсаргасан болно.

Анхааруулга: Би Python кодчилолд шинээр орсон тул үүнийг Python кодлох загварын гайхалтай загвар гэж бүү бодоорой!

Үндсэн алгоритм дараах байдалтай байна.

  • Анхны видео лавлах хүрээг татаж аваарай. Үүнийг хөдөлгөөнийг илрүүлэхийн тулд харьцуулах зорилгоор ашиглах болно.
  • Өөр хүрээ ав.
  • Хүрээг саарал масштаб руу хөрвүүлж, хэмжээг нь бүдгэрүүлээрэй.
  • Лавлагааны хүрээнээс ялгааг тооцоол
  • Жижиг ялгааг шүүх, хамгийн том зөрүүний координат авах.
  • Цаг хэмжигчийг тохируулна уу. Хэрэв зорилтот координат хэдхэн секундын турш өөрчлөгддөггүй бол бидний буудах гэж буй зүйлийн зургийг аваад усны хавхлагыг өдөөх болно. Сервог хэдхэн градус нааш цааш нь шүүрдээд “буудсан буу” дэлбэлнэ.
  • Хэрэв бид гурван триггерийг маш хурдан олж авбал буудлагыг идэвхгүй болгож, түр зогсоод дараа нь асаасан сүүдэр эсвэл үүдний гэрлийг буудаж байгаа тул лавлах хүрээг шинэчилнэ үү.
  • Бага давтамжийн өөрчлөлтийг (нар мандах/шингэх, бүрхэг орох гэх мэт) тооцоолохын тулд лавлах хүрээг хэдэн минут тутамд шинэчилж байгаарай.

Би зөвхөн хөндлөн чиглүүлэх механизм ашиглаж байгаа боловч EBay дээр олон пан/хазайлтын servo бэхэлгээ байдаг бөгөөд хэрэв та илүү нарийвчлалтай онилохыг хүсч байвал босоо чиглүүлэлтийг хянахын тулд өөр servo нэмж өгөхөд хялбар байх болно.

Би Raspberry Pi -ийг VNC сервер болгон ажиллуулахаар тохируулсан бөгөөд үүний дараа зөөврийн компьютерээсээ VNC -ээр холбогдож програмыг эхлүүлж, видео болон бүртгэлийг хянаж үзээрэй. cd -ийг water_blaster.py хадгалдаг директор руу оруулаад үүнийг бичээд ажиллуулна уу.

./python water_blaster.py

Энэ нь видео мониторын цонхыг нээж, "./log_ [огноо]_ [цаг] нэртэй бүртгэлийн файлыг эхлүүлж,-j.webp

Raspberry Pi дээрээ VNC тохируулах талаар зарим тэмдэглэлийг энд оруулав.

Би Raspberry Pi -ийг анх тохируулахдаа гадны дэлгэц/гар/хулгана ашиглан аливаа зүйлийг тохируулсан. Тэнд би RasPi тохиргоонд VNC серверийг идэвхжүүлсэн (Raspberry Logo / Preferences / Raspberry Pi Configuration / Interfaces / VNC сонголтыг шалгах). Дараа нь ачаалах үед энэ нь танд VNC клиентээр дамжуулан 0 дэлгэцтэй холбогдох боломжийг олгодог (үндсэн хэрэглэгчийн "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 бөгөөд доор хавсаргасан болно.

Би Raspberry Pi -д зориулсан 5v/2.5A зориулалттай хангамж, IR гэрэлтүүлэгч, усны хавхлагыг жолоодоход зориулагдсан 12v/1A тэжээлийг ашигласан. 12V тэжээл нь 5V -ийн servo -ийг тэжээхийн тулд 5V зохицуулагчийг ажиллуулдаг. Энэ нь Raspberry Pi 5v тэжээлээс тусгаарлагдсан "чимээ шуугиантай" моторын хяналтыг хадгалахын тулд хийгдсэн юм. 12v/1A нийлүүлэлт нь хамгийн дээд хэмжээндээ хүрсэн байна (үнэндээ намайг сэнс нэмсэний дараа бага зэрэг дууссан). Усны хавхлагын релеийг асаахаас өмнө код нь IR гэрэлтүүлэгчийг унтрааж, одоогийн зурвасыг хязгаарт байлгахын тулд … Хэрэв та 1.5А тэжээл хэрэглэвэл илүү дээр байх болно. Бүх цахилгаан тэжээлийн газардуулгын терминалуудыг хооронд нь холбохоо мартуузай.

Камерын модуль нь Raspberry Pi -д шууд залгах стандарт NoIR хувилбар юм. Энэ бол IR шүүлтүүр бүхий Raspberry Pi камер бөгөөд үүнийг шөнийн видео авахад IR гэрэлтүүлэгчтэй ашиглах боломжийг олгодог.

Ашигласан servo нь 3-4 кг-см эргүүлэх хүч чадалтай стандарт хэмжээтэй 5в шугаман servo юм.

IR гэрэлтүүлэгч нь EBay дээрээс ойролцоогоор 4 доллараар олсон хямд үнэтэй 48 лед бөгж байв. Энэ нь тийм ч хүчтэй биш бөгөөд 15 фут хүртэл гэрэлтэх боломжтой. Хэрэв танд нэмэлт төсөв байгаа бол илүү хүчирхэг гэрэлтүүлэгч авах нь сайн сайжруулалт болно.

Би gpio23 дээр "debug-switch" нэмсэн. Код нь унтраалгын төлөв байдлыг шалгадаг бөгөөд хэрэв дарвал хуурай галын туршилтын усны хавхлагын реле идэвхгүй болно. Би энэ унтраалгаар илүү их зүйл хийх болно гэж бодсон боловч үүнийг огт ашиглаж чадаагүй. Би үүнийг хайж байгаа кодыг устгах болно …

Алхам 3: Барилга: Камер ба IR гэрэлтүүлэгч

Барилга: Камер ба IR гэрэлтүүлэгч
Барилга: Камер ба IR гэрэлтүүлэгч

Би Harbor Freight хуванцар сумны хайрцгийг хашлага болгон ашигласан. Гол нь надад ус үл нэвтрэх зүйл хэрэгтэй байсан тул маш их ус цацах/урсац гаргах нь зайлшгүй юм. Маш олон нүх/хайчилбар байдаг боловч тэдгээрийг саравч, тунгалаг хуванцараар хучсан эсвэл ус асгахын тулд дүүжлүүр дор өрөмддөг. Хараад байхад би өндөр хүчин чадалтай эд ангиудыг дотроо бэхэлсэн радиатор бүхий төмөр хайрцгийг ашиглах ёстой байсан. Үүнийг хийснээр би фен нэмэхээс зайлсхийж чадна гэж бодож байна. Хуванцар хайрцаг нь хэт дулаалгатай байсан тул дотоод температурыг хэт их өсгөх боломжийг олгосон.

Камерыг харахын тулд эцэст нь жижиг цонх хайчилж, IR гэрэлтүүлэгчийг миний байрлуулсан хуучин хуванцар линзний хайрцагт суулгасан байв.

Алхам 4: Барилга: Ус дамжуулах хоолой

Барилга: Ус дамжуулах хоолой
Барилга: Ус дамжуулах хоолой
Барилга: Ус дамжуулах хоолой
Барилга: Ус дамжуулах хоолой

Усны оролтыг v”ID x 3/8” OD винил хоолойд холбосон 12 вольтын усны хавхлагад холбосон. Энэ нь эргээд ¼”өргөстэй хоолойтой, PVC холбогчтой холбогдож, усны урсгалыг өрөмдсөн 1/16 инчийн нүх бүхий ¾” PVC усны тагтай наасан байна. Усны хавхлагын релеийг цаг агаарын байдлаас хол байлгахыг хүссэн тул хайрцгийн дотор байрлуулсан. Нэвчилт гарах эрсдэлтэй ч би хайрцгийн ёроолд ус зайлуулах цооног өрөмдөж, электроникийг өндөрт суурилуулсан бөгөөд хэрэв ийм зүйл тохиолдвол электроникийн усыг гэмтээх магадлалыг бууруулна. Гоо сайхны хувьд тийм ч таатай биш боловч илүү найдвартай төлөвлөгөө бол хавхлагыг гадна талд нь суурилуулж, дотор нь 12 вольтын реле утсыг ажиллуулах явдал юм. Серво дээрх тунгалаг хуванцар диск нь хоолойны төгсгөлийг бэхлэх тохиромжтой арга байсан бөгөөд энэ нь servo дээр дуслахаас хамгаалдаг. Хайрцаг хэт их дулаарч байгаа тул фен нь сүүлд нь байсан юм. Ус дуслахгүйн тулд би жижиг саравч барьсан.

Алхам 5: Барилга: Серво чиглүүлэх

Барилга: Серво чиглүүлэх
Барилга: Серво чиглүүлэх

Хайрцагны дээд хэсэгт нүх хайчилж, ус нэвтрүүлэхгүйн тулд чиглүүлэгч servo -ийг суурилуулж, цахиураар битүүмжилнэ.

Алхам 6: Барилга: Цахилгаан хангамж, сэнс, бөөрөлзгөнө Pi, прото самбарыг суурилуулах

Барилга: Цахилгаан хангамж, сэнс, бөөрөлзгөнө Pi, прото самбарыг суурилуулах
Барилга: Цахилгаан хангамж, сэнс, бөөрөлзгөнө Pi, прото самбарыг суурилуулах

Хоёр тэжээлийн хангамж (5v ба 12v) нь хайрцгийн хажуу талаас гарах ганц цахилгаан залгуурт холбогдсон байна. Raspberry Pi болон прото самбарыг дээд талын ойролцоох хайрцгийн хажуу талд суулгасан болно. Доод талд нь ус зайлуулах цооног өрөмдөж, дээд ирмэг дээр агааржуулалтын нүх өрөмдөж байгааг анхаарч үзээрэй. Сэнс нь Raspberry Pi -ийн эсрэг талд байрладаг. Raspberry Pi -г албан ёсны "sudo shutdown now" тушаалгүйгээр унтраахыг хүсэхгүй байгаа тул асаах/унтраах унтраалга байхгүй байна (өөрөөр хэлбэл цахилгаан маш амархан унтрахыг хүсэхгүй байна).

Алхам 7: Барилга: Прото самбар

Барилга: Прото самбар
Барилга: Прото самбар

Прото самбар нь 5V зохицуулагч, шүүлтүүр таг, цахилгаан транзистор (servo ба усны хавхлагыг жолооддог), дибаг хийх унтраалгатай.

Алхам 8: Барилга: Raspberry Pi камер

Барилга: Raspberry Pi камер
Барилга: Raspberry Pi камер

Raspberry Pi камер нь Raspberry Pi -тай тууз кабелиар шууд холбогддог бөгөөд хайрцгийн урд талын үзэгдэх хэсгийг хамарсан тунгалаг хуванцар хавтан дээр суурилуулсан болно.

Алхам 9: эд ангиудын жагсаалт

Төсөл 120 орчим долларын өртөгтэй болсон. Төслийн өртгийн ихэнх хувийг Raspberry Pi, камер, серво, цахилгаан хангамж эзэлдэг. Би ихэнх эд ангиудыг EBay эсвэл Amazon дээрээс, сантехникийн эд ангиудыг орон нутгийн барилгын дэлгүүрээс олсон.

  • Raspberry Pi 3 (Amazon) 38 доллар
  • NoIR камер (EBay) 30 доллар
  • 5v аналог Servo (4кг см-ийн эргэлт) (EBay) 10 доллар
  • 5v/2.4A ханын цахилгаан хангамж (EBay) $ 8
  • 12v ½”усны хавхлага (EBay) 5 доллар
  • Хоолой, хоолой холбох хэрэгсэл (Ош) 5 доллар
  • Хуванцар сумны хайрцаг (Боомтын ачаа) 5 доллар
  • 12v/1.5A хананы цахилгаан хангамж (EBay) 5 доллар
  • IR гэрэлтүүлэгч (EBay) 4 доллар
  • Бусад. Бүрэлдэхүүн хэсгүүд (эсэргүүцэл, унтраалга, диод) $ 2
  • CPU -ийн сэнс (EBay) 2 доллар
  • Proto Board, Standoffs, Screws (EBay) 2 доллар
  • (2) Цахилгаан транзистор (2n5296) (EBay) $ 1
  • 5v зохицуулагч (LM7805) (EBay) $ 1
  • Цэвэр хуванцар 3/32”(Tap Plastics Misc. Bin) 1 доллар
  • Цахилгаан утас (Ош) 1 доллар

Миний бараа худалдаж авсан дэлгүүрүүд/сайтууд:

  • Alice1101983 EBay сайт:
  • 2bevoque EBay сайт:
  • Боомтын ачаа
  • Цэцэрлэгийн хангамжийн тоног төхөөрөмж
  • Амазон
  • Хуванцарыг дарна уу

Зөвлөмж болгож буй: