Բովանդակություն:
- Քայլ 1: Կոդ
- Քայլ 2: Էլեկտրոնիկա
- Քայլ 3. Կառուցում. Տեսախցիկ և IR լուսավորիչ
- Քայլ 4. Կառուցում. Waterրատար խողովակներ
- Քայլ 5. Շինարարություն
- Քայլ 6. Շինարարություն. Տեղադրեք էներգիայի աղբյուրներ, օդափոխիչ, ազնվամորի Pi և նախատախտակ
- Քայլ 7. Կառուցում. Նախատախտակ
- Քայլ 8: Շինություն. Ազնվամորի Pi տեսախցիկ
- Քայլ 9: Մասերի ցուցակ
Video: Water Blaster- ի ավտոմատ հետևում. 9 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Վարդեր ուտող եղջերուն ինձ դրդեց կառուցել թիրախին հետևող ջրի պայթուցիչ, որը կօգնի զսպել անհագ ժայթքողներին… Այս ջրափայլը օգտագործում է տեսաֆիլմերի վրա հիմնված շարժման հայտնաբերում `սերվո նպատակ ունենալու և թիրախին ջրի կարճ պոռթկումներ առաջացնելու համար: Այն կրակում է միայն ձեռք բերված թիրախը մի քանի վայրկյան անշարժ մնալուց հետո (ուշացումը կարող է ճշգրտվել ծածկագրում): Ինձ չի հետաքրքրում, եթե եղջերուները պարզապես կողքով են անցնում, բայց եթե նրանք կանգ են առնում խորտիկ անելու համար, սպլուշ:
Ահա մի տեսանյութ, որտեղ ես փորձում եմ ջրի պայթուցիչը.
Blaրի պայթուցիչը ինքնուրույն տուփ է, որը կարող է հեռակա կարգով միացվել (wi-fi/VNC- ի միջոցով) ձեր ցանցի ցանկացած համակարգչից `վերահսկելու, թե ինչ է դա անում: Այն ամեն անգամ նկարում է, երբ այն ակտիվանում է, որպեսզի հետագայում տեսնեք, թե ինչ է պայթեցվում:
Ես օգտագործել եմ Raspberry Pi, NoIR տեսախցիկ, IR լուսավորիչ, ստանդարտ գծային սերվո և ջրի փական `այս գիշեր/գիշեր նպատակակետին հետևող ջրի մաքրիչ ստեղծելու համար: Կոդը գրված է Python- ում և մեծապես վերցված է Ադրիան Ռոզեբրոքի cv2 պատկերի մշակման կոդի նմուշներից: Նրա գրածը կարող եք տեսնել ՝
www.pyimagesearch.com/2015/06/01/home-surv…
Քանի որ ես գնում եմ համեմատաբար մեծ, ցամաքային թիրախների (եղջերուների) հետևից, իմ խնդիրը որոշ չափով պարզեցված է: Ես պահանջում եմ միայն հորիզոնական ուղղվածություն, որպեսզի կարողանամ ազատվել միայն մեկ սերվո օգտագործելուց: Եղնիկի կանգուն սպասելը ինձ օգնում է վերացնել բազմաթիվ կեղծ հրահրիչներ: Սա իմ rev-0 փորձն է, և ես գտել եմ մի քանի բան, որոնք կփոխեի, եթե կառուցեի ևս մեկը: Ես այս բաները նշել եմ ստորև բերված մանրամասն գրության մեջ:
Քայլ 1: Կոդ
Blaրային պայթուցիչը վերամշակման համար օգտագործում է Raspberry Pi 3 -ը: Տեսանյութը նկարահանելու համար NoIR Raspberry Pi տեսախցիկը օգտագործվում է գիշերային տեսանյութերի համար IR լուսավորիչով: OpenCV/cv2 Python փաթեթն օգտագործվում է պատկերի տեղեկատվությունը գրավելու և մշակելու և թիրախային կոորդինատները հաշվարկելու համար: Pigpio գրադարանը օգտագործվում է gpio- ն կայուն սերվո աշխատանքի համար վերահսկելու համար: RPi. GPIO- ի սովորական փաթեթի օգտագործումը հանգեցրեց դողացող սերվոյի: ՈEՇԱԴՐՈԹՅՈՆ. Խոզուկի գրադարանից օգտվելիս պետք է գործարկել խոզուկի դևը: Ավելացրեք սա ձեր Pi- ի /etc/rc.local գործարկման ֆայլում ՝ pigpio lib- ի և Raspberry Pi տեսախցիկի միջերեսի համար.
/etc/rc.local# Կարգավորեք/dev/video0 ՝ Raspberry Pi- ին ներկառուցված ինտերֆեյսին միացնելու համար interfacemodprobe bcm2835-v4l2# Սկսեք pigpio daemon- ը Raspberry Pi IO հսկողության գրադարանի համար
Լրացուցիչ մանրամասների համար տե՛ս
Աղբյուրի կոդը ՝ water_blaster.py և կցված է ստորև:
Հրաժարում.
Հիմնական ալգորիթմը հետևյալն է.
- Ձեռք բերեք տեսանյութի սկզբնական հղման շրջանակ: Սա կօգտագործվի շարժումը հայտնաբերելու դեմ համեմատելու համար:
- Բռնել մեկ այլ շրջանակ:
- Փոխակերպեք շրջանակը մոխրագույն մասշտաբի, չափեք այն, պղտորեք այն:
- Հաշվիր տարբերությունը տեղեկատուի շրջանակից
- Terտեք փոքր տարբերությունները, ստացեք ամենամեծ տարբերության կոորդինատները:
- Սահմանեք ժամանակաչափ: Եթե թիրախի կոորդինատը չի փոխվում մի քանի վայրկյան, ապա նկարեք այն, ինչ պատրաստվում ենք նկարահանել և ջրի փականը միացրեք ջրի պայթյունի համար: Սերվոն մի քանի աստիճան ետ ու առաջ քաշեք ՝ «որսորդական հրացան» պայթյունի համար:
- Եթե մենք երեք հրահրիչ ստանանք շատ արագ, անջատենք նկարահանումը, մի փոքր դադար տանք, ապա թարմացնենք հղման շրջանակը, քանի որ մենք կարող ենք նկարահանել ստվերային կամ շքամուտքի լույսի ներքո, որը պարզապես միացված էր…
- Մի քանի րոպեն մեկ թարմացրեք տեղեկատուի շրջանակը `ցածր հաճախականությունների փոփոխությունների համար (արևը բարձրանում/մայր մտնում, ամպամած տեղաշարժվել և այլն)
Ես օգտագործում եմ միայն հորիզոնական նպատակակետման մեխանիզմ, բայց EBay- ում հասանելի են բազմաթիվ թեքման/թեքման servo հենակներ, և հեշտ կլինի ուղղահայաց նպատակակետը վերահսկելու համար մեկ այլ սերվո ավելացնել, եթե ցանկանաք ավելի ճշգրիտ թիրախավորում:
Ես ստեղծեցի Raspberry Pi- ն ՝ որպես VNC սերվեր աշխատելու համար, այնուհետև այն միացրեք VNC- ի միջոցով իմ նոութբուքից ՝ ծրագիրը սկսելու և տեսանյութը և տեղեկամատյանները վերահսկելու համար: cd գրացուցակում, որտեղ դուք պահում եք water_blaster.py- ն և գործարկեք այն ՝ մուտքագրելով.
./ պիթոն water_blaster.py
Այն կբացի վիդեո մոնիտորի պատուհան, կսկսի «./log_ [date]_timetime» անունով ֆայլ և կստեղծի «trig_pictures» անունով ենթաօրենսդրական ծրագիր, որտեղ պահվում են-j.webp
Ահա որոշ նշումներ ձեր Raspberry Pi- ում VNC- ի ստեղծման վերաբերյալ.
Առաջին անգամ, երբ ես տեղադրեցի Raspberry Pi- ն, ամեն ինչ կարգավորելու համար օգտագործեցի արտաքին մոնիտոր/ստեղնաշար/մկնիկ: Այնտեղ ես միացրեցի VNC սերվերը RasPi կազմաձևով (Raspberry Logo / Preferences / Raspberry Pi Configuration / Interfaces / Check 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: Էլեկտրոնիկա
Blaրի պայթեցման էլեկտրոնիկայի պահանջները նվազագույն են Raspberry Pi 3 gpio- ի միջոցով `սերվո, ջրի փական և IR լուսավորիչ քշելու համար` դիսկրետ տրանզիստորային բուֆերների միջոցով (կառուցված փոքր նախատախտակի վրա): Ստանդարտ NoIR տեսախցիկը միանում է անմիջապես Raspberry Pi- ին:
Սխեմատիկայի անունն է ՝ water_blaster_schematic.pdf և կցված է ստորև:
Ես օգտագործեցի 5v/2.5A հատուկ մատակարարում Raspberry Pi- ի համար և 12v/1A մատակարարում `IR լուսավորիչն ու ջրի փականը վարելու համար: 12 վ լարման միջոցով աշխատում է նաև 5 վ կարգավորիչ ՝ 5 վ սերվոյին էներգիա մատակարարելու համար: Դա արվել է, որպեսզի «աղմկոտ» շարժիչի կառավարման հզորությունը մեկուսացված մնա Raspberry Pi 5v մատակարարումից: Պարզվեց, որ 12v/1A մատակարարումը ճիշտ էր իր սահմանին (իրականում մի փոքր ավելացրեց օդափոխիչը ավելացնելուց հետո): Theրի փականի ռելեին միացնելուց առաջ ծածկագիրը անջատում է IR լուսավորիչը ՝ ընթացիկ շեղումը տիրույթում պահելու համար … Ավելի լավ կլիներ, եթե օգտագործեիք 1.5 Ա հոսանք: Համոզվեք, որ միացրեք բոլոր հոսանքի աղբյուրների ստորգետնյա տերմինալները միասին:
Ֆոտոխցիկի մոդուլը ստանդարտ NoIR տարբերակ է, որն անմիջապես միանում է Raspberry Pi- ին: Դա Raspberry Pi տեսախցիկ է, որի IR զտիչն արդեն հեռացված է, ինչը հնարավորություն է տալիս այն օգտագործել IR լուսավորիչով գիշերային տեսանյութեր նկարելու համար:
Օգտագործված սերվոն ստանդարտ չափի 5 վ գծային սերվո է ՝ 3-4 կգ-սմ պտտող մոմենտով:
IR լուսավորիչը ցածր գնով 48 լեդ մատանի էր, որը ես գտա EBay- ում մոտ 4 դոլարով: Այն չափազանց ուժեղ չէ և կարող է լուսավորել միայն մինչև 15 ոտնաչափ: Եթե ունեք լրացուցիչ բյուջե, ավելի լավ լուսավորիչ ձեռք բերելը լավ բարելավում կլինի:
Ես gpio23- ին ավելացրեցի «վրիպազերծման անջատիչ»: Կոդը ստուգում է անջատիչի վիճակը և սեղմված լինելու դեպքում անջատելու է ջրի փականի ռելեը չոր հրդեհի փորձարկման համար: Ես մտածում էի, որ ավելի շատ բան կանեմ այդ անջատիչի հետ, բայց իրականում ընդհանրապես չօգտագործեցի այն: Ես կհեռացնեի այն և այն փնտրող ծածկագիրը…
Քայլ 3. Կառուցում. Տեսախցիկ և IR լուսավորիչ
Ես որպես պարիսպ օգտագործեցի Harbor Freight պլաստիկ զինամթերքի տուփը: Հիմնականում ինձ ջրի դիմացկուն մի բան էր պետք, քանի որ շատ ջրի ցողում/արտահոսք անխուսափելի է: Կան բազմաթիվ անցքեր/կտրվածքներ, բայց դրանք ծածկված են հովանոցներով, թափանցիկ պլաստմասսայով կամ փորված են գերբնակվածության տակ `ջուր թափելու համար: Հետևյալ տեսանկյունից, ես պետք է օգտագործեի մետաղյա տուփ, որի ներսում ներքին հզորությամբ ամրացված էին բարձր հզորության բաղադրիչները: Դրանով ես կարծում եմ, որ կարող էի խուսափել երկրպագու ավելացնելուց: Պլաստիկ տուփը չափազանց մեկուսիչ էր և թույլ տվեց ներքին ջերմաստիճանը չափազանց բարձրացնել:
Վերջում մի փոքրիկ պատուհան կտրվեց, որպեսզի տեսախցիկը տեսնի, և IR լուսավորիչը տեղադրվեց հին պլաստիկ ոսպնյակի պատյանում, որը ես դրել էի շուրջս:
Քայլ 4. Կառուցում. Waterրատար խողովակներ
Inրի մուտքը խողովակավորվում է 12 վ ջրի փականի մեջ, որը միացված է ¼”ID x 3/8” OD վինիլային խողովակին: Դա իր հերթին միացված է ¼”փշալարերով” `PVC միակցիչին սայթաքելու համար և սոսնձված է ¾” PVC ջրի գլխարկին `ջրի հոսքի համար փորված 1/16” անցքով: Ես ուզում էի ջրի փականի ռելեին պահել եղանակից դուրս, որպեսզի այն տեղադրվի տուփի ներսում: Վտանգ կա, որ կարող եմ արտահոսք ստանալ, բայց տուփի ներքևում անցքեր եմ բացել և էլեկտրոնիկան բարձր եմ տեղադրել, որպեսզի դա նվազեցնի էլեկտրոնիկայի ջրի հնարավոր վնասի հավանականությունը, եթե դա տեղի ունենա: Ավելի քիչ էսթետիկ, բայց ավելի ապահով ծրագիր կլինի արտաքինի վրա փականը տեղադրելը և 12 վ ռելեի լարերը ներսից անցկացնելը: Սերվոյի վրայով թափանցիկ պլաստիկ սկավառակը գուլպաների ծայրը տեղադրելու հարմար միջոց էր և այն թույլ չի տալիս ջուրը կաթել դեպի սերվո: Երկրպագուն հետագայում մտածեց, քանի որ տուփը շատ էր տաքանում: Ես դրա վրա մի փոքրիկ հովանոց եմ կառուցել, որպեսզի ջուրը չթափվի:
Քայլ 5. Շինարարություն
Տուփի վերևում կտրված է մի փոս, իսկ նպատակային սերվոն տեղադրվում և կնքվում է սիլիկոնով `ջրի արտահոսքը պահպանելու համար:
Քայլ 6. Շինարարություն. Տեղադրեք էներգիայի աղբյուրներ, օդափոխիչ, ազնվամորի Pi և նախատախտակ
Երկու սնուցման աղբյուրները (5v և 12v) միացված են մեկ հոսանքի լարին, որը դուրս է գալիս տուփի կողքից: Raspberry Pi- ն և նախատախտակը տեղադրված են տուփի կողքին ՝ գագաթին մոտ: Ուշադրություն դարձրեք ներքևում փորված ջրահեռացման անցքերին և վերին եզրին երկայնքով փորված օդափոխման անցքերին: Օդափոխիչը տեղադրված է Raspberry Pi- ի դիմաց: Չկա միացման/անջատման անջատիչ, քանի որ ես չեմ ցանկանում խրախուսել Raspberry Pi- ի անջատումը առանց պաշտոնական «sudo shutdown now» հրամանի (այսինքն ՝ չեմ ուզում, որ հոսանքը շատ հեշտ անջատվի):
Քայլ 7. Կառուցում. Նախատախտակ
Պրոտո տախտակը պարունակում է 5 վ կարգավորիչ, ֆիլտրի կափարիչ, էներգիայի տրանզիստորներ (որոնք մղում են սերվոյի և ջրի փականը) և կարգաբերման անջատիչ:
Քայլ 8: Շինություն. Ազնվամորի Pi տեսախցիկ
Raspberry Pi տեսախցիկը միանում է անմիջապես Raspberry Pi- ին ժապավենի մալուխի միջոցով և տեղադրված է թափանցիկ պլաստիկ ափսեի վրա, որը ծածկում է տուփի առջևի դիտման հատվածը:
Քայլ 9: Մասերի ցուցակ
Theրագիրն ավարտվեց մոտ 120 դոլար արժողությամբ: Նախագծի արժեքի հիմնական մասը Raspberry Pi- ն է, տեսախցիկը, servo- ն և սնուցման աղբյուրները: Ես գտա մասերը EBay- ում կամ Amazon- ում, իսկ սանտեխնիկայի մասերը `տեղական շինանյութի խանութում:
- Raspberry Pi 3 (Amazon) 38 դոլար
- NoIR տեսախցիկ (EBay) 30 դոլար
- 5v անալոգային սերվո (4 կգ-սմ ոլորող մոմենտ) (EBay) 10 դոլար
- 5v/2.4A պատի էլեկտրամատակարարում (EBay) 8 դոլար
- 12v Water”Valրի փական (EBay) 5 դոլար
- Խողովակներ, խողովակներ-կցորդիչներ (Օշ) $ 5
- Պլաստիկ զինամթերքի արկղ (նավահանգիստ) 5 դոլար
- 12 վ/1.5 Ա պատի էլեկտրամատակարարում (EBay) 5 դոլար
- IR Illuminator (EBay) 4 դոլար
- Տարբեր Բաղադրիչներ (ռեզիստորներ, անջատիչներ, դիոդ) 2 դոլար
- CPU Fan (EBay) 2 դոլար
- Proto Board, Standoffs, Screws (EBay) 2 դոլար
- (2) ուժային տրանզիստորներ (2n5296) (EBay) 1 դոլար
- 5 վ կարգավորիչ (LM7805) (EBay) 1 դոլար
- Մաքրել պլաստմասսա 3/32 »(Հպեք պլաստմասսայի տարբեր. Աղբարկղ) $ 1
- Հոսանքի լար (Օշ) 1 $
Խանութներ/կայքեր, որտեղ ես գնել եմ ապրանքներ.
- Alice1101983 EBay կայք ՝
- 2bevoque EBay կայք ՝
- Նավահանգիստ բեռնափոխադրումներ
- Այգու մատակարարման սարքավորում
- Amazon
- Կտտացրեք Պլաստմասսա
Խորհուրդ ենք տալիս:
Nest Thermostat, զբաղվածության հետևում. 12 քայլ
Nest Thermostat, Occupancy Tracking. Իմ տան հովացման ավտոմատացումը ՝ օգտագործելով իմ Nest Thermostat- ը, մինչև վերջերս գործարկվում էր IFTTT- ի կողմից ՝ օգտագործելով Life360- ի " առաջինը տուն հասնելու " և « վերջին դուրս գալ տնից " հրահրողներ: Սա հիանալի էր, քանի որ ես կարող էի ընտանիքի անդամներին ավելացնել իմ Li
Երգի հետևում Led-flashing Hack-O-Lantern !: 6 քայլ
Երգի հետևում Led-flashing Hack-O-Lantern
Շարժման հետևում MPU-6000- ի և մասնիկի ֆոտոնի միջոցով `4 քայլ
Շարժման հետևում MPU-6000- ի և մասնիկի ֆոտոնի միջոցով. MPU-6000- ը 6 առանցքի շարժման հետևման ցուցիչ է, որն ունի 3 առանցքի արագացուցիչ և 3 առանցքի գիրոսկոպ: Այս սենսորն ունակ է արդյունավետ կերպով հետևել օբյեկտի ճշգրիտ դիրքին և գտնվելու վայրը եռաչափ հարթությունում: Այն կարող է օգտագործվել
Մարդու աչքի շարժման հետևում. 6 քայլ
Մարդու աչքի շարժման հետևում. Այս նախագիծը նպատակ ունի գրավել մարդու աչքի շարժումը և ցուցադրում է նրա շարժումը մի շարք LED լույսերի վրա, որոնք տեղադրված են աչքի տեսքով: Այս տիպի նախագիծը կարող է պոտենցիալ շատ կիրառություններ ունենալ ռոբոտաշինության և հատկապես հումայի ոլորտում
Ավտոմատ լույսի աղբյուրի հետևում `5 քայլ
Լույսի աղբյուրի ավտոմատ հետևում. Այս դասում մենք կօգտագործենք սերվո շարժիչ, ֆոտոռեզիստոր և ձգվող դիմադրություն `ավտոմատ հետևող լույսի աղբյուրի համակարգ հավաքելու համար: