Мазмұны:

Су жарғышты автоматты бақылау: 9 қадам
Су жарғышты автоматты бақылау: 9 қадам

Бейне: Су жарғышты автоматты бақылау: 9 қадам

Бейне: Су жарғышты автоматты бақылау: 9 қадам
Бейне: Щелкунчик! CKK100 2024, Қараша
Anonim
Water Blaster автоматты бақылау
Water Blaster автоматты бақылау

Раушан жегіш бұғы мені қорқынышты жануарлардан қорғану үшін мақсатты іздейтін су тасқыны құруға талпындырды. Бұл су жарғыш бейнебақылау арқылы қозғалысты анықтауды қолданады, ол сервоға бағытталған және судың қысқа жарылуын іске қосады. Ол алынған мақсат бірнеше секундқа стационарлық болғаннан кейін ғана атылады (кешіктіруді кодта реттеуге болады). Маған бұғылардың жай ғана өтіп бара жатқаны маңызды емес, бірақ егер олар тамақтануға тоқтаса, асығыңыз!

Міне, мен су жарғышты сынап жатқан бейнебаян:

Су жарғыш-бұл не істеп жатқанын бақылау үшін желідегі кез келген компьютерден қашықтан (Wi-Fi/VNC арқылы) қосылатын оқшауланған қорап. Ол іске қосылған сайын суретке түсіреді, осылайша сіз не болғанын кейін көре аласыз.

Мен күндіз -түні мақсатты бақылаушы су жарғышын жасау үшін Raspberry Pi, NoIR камерасы, инфрақызыл сəулелендіру құралы, стандартты желілік серво мен су клапанын қолдандым. Код Python -да жазылған және Adrian Rosebrock -тің суретті өңдеудің cv2 үлгілерінен үлкен қарыз алады. Сіз оның жазбасын мына жерден көре аласыз:

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

Мен салыстырмалы түрде үлкен, жердегі мақсаттарға (бұғыға) ұмтылғандықтан, менің мәселем біршама жеңілдетілді. Мен тек көлденең бағыттауды қажет етемін, сондықтан мен тек бір серво қолдана аламын. Киіктердің орнында тұруын күту маған көптеген жалған триггерлерді жоюға көмектеседі. Бұл менің rev-0 әрекеті және мен басқасын жасасам өзгертетін бірнеше нәрсені таптым. Мен бұларды келесі егжей -тегжейлі жазбада атап өттім.

1 -қадам: Кодекс

Су жарғыш өңдеу үшін Raspberry Pi 3 пайдаланады. Бейне түсіру үшін NoIR Raspberry Pi камерасы түнгі бейне үшін ИК сәулесімен бірге қолданылады. OpenCV/cv2 Python пакеті кескін туралы ақпаратты алу және өңдеу және мақсатты координаттарды есептеу үшін қолданылады. Pigpio кітапханасы gpio -ны тұрақты серво жұмысы үшін басқару үшін қолданылады. Кәдімгі RPi. GPIO пакетін пайдалану серво серпініне әкелді. ЕСКЕРТПЕ: pigpio кітапханасын пайдаланған кезде pigpio демонын іске қосу қажет. Мұны pigpio lib және Raspberry Pi камера интерфейсіне арналған Pi's /etc/rc.local іске қосу файлына қосыңыз:

Толығырақ https://pypi.python.org/pypi/pigpi қараңыз.

Бастапқы кодтың аты: water_blaster.py және төменде берілген.

Жауапкершіліктен бас тарту: Мен Python кодтауына жаңадан келдім, сондықтан оны Python кодтау стилінің кез келген керемет үлгісі ретінде қарамаңыз!

Негізгі алгоритм келесідей:

  • Бастапқы бейне сілтеме жақтауын алыңыз. Бұл қозғалысты анықтау үшін салыстыру үшін қолданылады.
  • Басқа жақтауды алыңыз.
  • Жақтауды сұр масштабқа айналдырыңыз, өлшемін өзгертіңіз, бұлдыратыңыз.
  • Анықтамалық жақтаудан айырмашылықты есептеңіз
  • Кішкене айырмашылықтарды сүзіңіз, ең үлкен айырмашылықтың координаттарын алыңыз.
  • Таймерді орнатыңыз. Егер мақсатты координат бірнеше секундқа өзгермесе, онда біз түсіретін нәрсені суретке түсіріп, су клапанын судың ағуына жіберіңіз. Серваны «мылтықпен» жару үшін бірнеше градусқа алға -артқа сүртіңіз.
  • Егер біз үш триггерді тым тез алсақ, түсіруді өшіріңіз, сәл кідіртіңіз, содан кейін біз жақында қосылған көлеңкеге немесе кіреберістің жарығына түсуіміз мүмкін болғандықтан, анықтамалық жақтауды жаңартыңыз …
  • Төмен жиіліктегі өзгерістерді (күннің батуы/батуы, бұлтты көшу және т.б.) есепке алу үшін бірнеше минут сайын анықтамалық жүйені жаңартыңыз.

Мен тек көлденең бағыттау механизмін қолданамын, бірақ EBay -де көптеген айналдыру/еңкейту серво қондырғылары бар және егер дәлірек бағыттауды қаласаңыз, вертикальды бағыттауды басқару үшін басқа серво қосу оңай болар еді.

Мен Raspberry Pi -ді VNC -сервері ретінде орнататынмын, содан кейін бағдарламаны іске қосу және бейне мен журналдарды бақылау үшін оған ноутбуктен VNC арқылы қосыламын. cd файлын water_blaster.py сақтайтын каталогқа енгізіп, оны теру арқылы іске қосыңыз:

./python water_blaster.py

Ол бейне монитор терезесін ашады, «./log_ [дата]_ [уақыт] деп аталатын журнал файлын бастайды және-j.webp

Raspberry Pi -де VNC орнату туралы бірнеше ескертулер:

Raspberry Pi -ді бірінші рет орнатқанда, мен сыртқы мониторды/пернетақтаны/тінтуірді реттеу үшін заттарды қолдандым. Онда мен VNC серверін RasPi конфигурациясында қостым (Raspberry Logo / Preferences / Raspberry Pi конфигурациясы / интерфейстер / 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 көмегімен дискотекалы транзисторлық буферлер арқылы серво, су клапаны және ИК сәулелендіру құралын басқару үшін минималды (кіші прото тақтаға салынған). Стандартты NoIR камерасы тікелей Raspberry Pi -ге қосылады.

Схеманың атауы: water_blaster_schematic.pdf және төменде берілген.

Мен Raspberry Pi үшін 5v/2.5A арнайы жеткізілімін және ИК сәулесі мен су клапанын жүргізуге арналған 12v/1A қорабын қолдандым. 12в кернеуі 5в сервоға қуат беру үшін 5в реттегішті басқарады. Бұл Raspberry Pi 5v қуат көзінен оқшауланған «шулы» моторды басқару қуатын сақтау үшін жасалды. 12в/1А кернеуі өз шегінде болды (мен желдеткішті қосқаннан кейін сәл ғана асып кетті). Ағымдағы тартылуды диапазонда ұстап тұру үшін код су клапаны релесін қосар алдында ИК сәулесін сөндіреді … Егер сіз 1,5А қоректендіргішті қолдансаңыз жақсы болар еді. Барлық қуат көздерінің жерге қосылатын терминалдарын міндетті түрде қосыңыз.

Камера модулі - бұл Raspberry Pi -ге тікелей қосылатын NoIR стандартты нұсқасы. Бұл IR сүзгісі бар Raspberry Pi камерасы, оны түнгі бейне түсіру үшін инфрақызыл сəулелендіру құралында қолдануға мүмкіндік береді.

Қолданылатын серво-бұл стандартты өлшемді 5В желілік серво 3-4 кг-см айналу моменті.

IR сəулелендіргіші EBay -де шамамен 4 доллар тұратын 48 арзан шығыршық сақина болды. Ол өте күшті емес және шамамен 15 футқа дейін жарық бере алады. Егер сізде қосымша бюджет болса, күшті жарықтандырғышты алу жақсы жақсару болар еді.

Мен gpio23-ке «отладка-қосқышты» қостым. Код коммутатордың күйін тексереді, егер ол басылса, су клапаны релесін құрғақ отқа сынау үшін ажыратады. Мен бұл коммутатормен көп нәрсені жасаймын деп ойладым, бірақ оны мүлдем пайдаланбадым. Мен оны және оны іздейтін кодты алып тастаймын …

3 -қадам: Құрылысы: камера мен инфрақызыл сəулелендіру құралы

Құрылысы: камера мен инфрақызыл сəулелендіру құралы
Құрылысы: камера мен инфрақызыл сəулелендіру құралы

Мен Harbor Freight пластикалық оқ -дәрі қорабын корпус ретінде қолдандым. Негізінен маған суға төзімді нәрсе қажет болды, өйткені судың көп мөлшерде ағып кетуі сөзсіз. Көптеген тесіктер/тесіктер бар, бірақ олар тентпен, мөлдір пластикпен жабылған немесе су төгу үшін ілгектер астында бұрғыланады. Көз алдыма мен қуатты компоненттерге ішкі бекітілген радиаторлары бар металл қорапты қолдануым керек еді. Осылайша мен желдеткішті қосудан аулақ болар едім деп ойлаймын. Пластикалық қорап тым оқшауланған және ішкі температураның тым жоғары көтерілуіне мүмкіндік берді.

Кішкене терезені камера қарауы үшін кесіп тастады, ал инфрақызыл сəулелендіру құралын мен орналастырған ескі пластикалық линзаның корпусының ішіне орнатты.

4 -қадам: Құрылыс: су құбыры

Құрылыс: су құбыры
Құрылыс: су құбыры
Құрылыс: су құбыры
Құрылыс: су құбыры

Судың кіруі 12 вольтты су клапанына салынған, ол ID”ID x 3/8” OD винил түтігіне қосылған. Бұл өз кезегінде ПВХ коннекторына арналған ¼ дюймдік тік құбырға қосылады және 1/16 дюймдік тесікпен су ағыны үшін бұрғыланған ПВХ су қақпағына жабыстырылады. Мен су клапанының релесін ауа-райынан сақтағым келді, сондықтан ол қораптың ішіне орнатылды. Мен ағып кету қаупі бар, бірақ мен қораптың түбінде ағызу тесіктерін бұрғыладым және электрониканы судың ықтимал зақымдану мүмкіндігін азайту үшін жоғары орнаттым. Эстетикалық жағымды емес, бірақ қауіпсіз жоспар - клапанды сыртқы жағына орнату және оның ішінде 12 вольтты сымдарды жүргізу. Серво үстіндегі мөлдір пластикалық диск шлангтың ұшын орнатудың ыңғайлы әдісі болды және ол судың сервоға түсуін болдырмайды. Желдеткіш кейіннен ойланды, себебі қорап тым қатты қызып кетті. Мен судың ағып кетпеуі үшін оның үстіне кішкене тент жасадым.

5 -қадам: Құрылыс: Сервоға бағытталған

Құрылысы: мақсатты серво
Құрылысы: мақсатты серво

Қораптың жоғарғы жағында тесік кесіліп, су ағып кетпеуі үшін серво орнатылады және кремниймен тығыздалады.

6-қадам: Құрылыс: Қуат көздерін, желдеткішті, Raspberry Pi мен протокартаны орнату

Құрылысы: Қуат көздерін, желдеткішті, Raspberry Pi мен протокартаны орнату
Құрылысы: Қуат көздерін, желдеткішті, Raspberry Pi мен протокартаны орнату

Екі қуат көзі (5в және 12в) қораптың бүйірінен шығатын бір қуат сымына қосылады. Raspberry Pi мен прото тақта жоғарғы жағындағы қораптың бүйіріне орнатылған. Төменгі жағында ағызылатын тесіктерге және жоғарғы шетінен ауа шығатын тесіктерге назар аударыңыз. Желдеткіш Raspberry Pi -ге қарама -қарсы орнатылған. Қосу/өшіру қосқышы жоқ, өйткені мен Raspberry Pi -ді «қазір sudo -ны өшіру» ресми командасынсыз өшіруді қаламаймын (яғни, қуаттың оңай өшуін қаламаймын).

7 -қадам: Құрылыс: Proto тақтасы

Құрылысы: Proto Board
Құрылысы: Proto Board

Прото тақтада 5 вольтты реттегіш, сүзгі қақпағы, қуат транзисторлары (серво мен су клапанын басқаратын) және отладка-қосқыш бар.

8 -қадам: Құрылыс: Raspberry Pi камерасы

Құрылысы: Raspberry Pi камерасы
Құрылысы: Raspberry Pi камерасы

Raspberry Pi камерасы Raspberry Pi -ге лента кабелі арқылы тікелей қосылады және қораптың алдыңғы жағындағы қарауды жабатын мөлдір пластикалық табаққа орнатылады.

9 -қадам: Бөлшектер тізімі

Жобаның құны шамамен 120 доллар болды. Жобаның негізгі бөлігін Raspberry Pi, камера, серво мен қуат көздері құрайды. Мен бөлшектердің көп бөлігін EBay немесе Amazon мен сантехникалық бөлшектерді жергілікті аппараттық дүкеннен таптым.

  • Raspberry Pi 3 (Amazon) $ 38
  • NoIR Camera (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 желдеткіші (EBay) 2 доллар
  • Proto Board, Standoffs, Screws (EBay) $ 2
  • (2) Қуатты транзисторлар (2n5296) (EBay) $ 1
  • 5v реттегіш (LM7805) (EBay) $ 1
  • Таза пластик 3/32 »(Түрткі пластмассалар қорабы) 1 доллар
  • Қуат сымы (Ош) 1 доллар

Мен тауарларды сатып алған дүкендер/сайттар:

  • Alice1101983 EBay сайты:
  • 2bevoque EBay сайты:
  • Харбор жүк
  • Бақшаға арналған жабдықтар
  • Амазонка
  • Пластмассаны түртіңіз

Ұсынылған: