Բովանդակություն:

Cat-a-way-Computer Vision Cat Sprinkler: 6 քայլ (նկարներով)
Cat-a-way-Computer Vision Cat Sprinkler: 6 քայլ (նկարներով)

Video: Cat-a-way-Computer Vision Cat Sprinkler: 6 քայլ (նկարներով)

Video: Cat-a-way-Computer Vision Cat Sprinkler: 6 քայլ (նկարներով)
Video: Чужой звонок_Рассказ_Слушать 2024, Հունիսի
Anonim
Cat-a-way-Computer Vision Cat Sprinkler
Cat-a-way-Computer Vision Cat Sprinkler

Խնդիր - Կատուներն օգտագործում են ձեր այգին որպես զուգարան

Լուծում - Չափից շատ ժամանակ ծախսեք կատու ցնցուղ պատրաստելու համար ՝ YouTube- ի ավտոմատ վերբեռնման հնարավորությամբ

Սա քայլ առ քայլ չէ, այլ շինարարության և որոշ ծածկագրի ակնարկ

#ՆախքանԿանչեսՊԵՏԱ - Կատուները լավ են, դա ցածր ճնշման ցնցուղ է, ինչպես անձրևը, և նրանք կարող են առաջ անցնել, մինչև այն նույնիսկ պտտվի իրենց շուրջը: Նախագիծը ոչ թե կատվին թրջելն է, այլ նրանց ցույց տալը, նախքան իմ այգին աղբ թափելը Barkers Eggs կատվի տարբերակով:

Քայլ 1: Պահանջվում են հիմնական նյութեր

Հիմնական տարրերը պարտադիր են
Հիմնական տարրերը պարտադիր են

Raspberry Pi զրո և SD քարտ

Raspberry Pi տեսախցիկ

Ռելե

555 ժամաչափ… (կամ արդուինո և մեկ այլ ռելե, եթե ձեր 555 ժմչփերը չեն հասնում)

Էլեկտրամագնիս

Սրսկիչ

Էլեկտրոնիկայի համար ինչ -որ բնակարան

6 տոննա սահնակով մուրճով փոխաբերական մեխին հարվածելու պատրաստակամություն

Այնքան փոքր լուծաչափ ունեցող տեսախցիկ, որը հազիվ է ջուրը տեսնում, բայց դեռևս տեսնում է կատուներին, ովքեր վազում են ծածկույթի համար

Քայլ 2: Համակարգը

Image
Image

1, Pi տեսախցիկը հայտնաբերում է կատվի չափսի առարկա, որը շարժվում է տեսախցիկի մի քանի շրջանակների համար (նկարագրված է հաջորդ քայլին)

2, Pi- ն սկսում է ցնցուղը

3, Կատուն վազում է ծածկույթի համար

4, Տեսանյութը ավտոմատ կերպով վերբեռնվում է youtube- ում ՝ դիտելու հաճույք ստանալու համար

Քայլ 3: Կոդավորման ժամանակը

Միասին դնելը
Միասին դնելը

Օգտագործելով openCV- ն ՝ շրջանակի հանումով, կարող եք գտնել շրջանակի այն հատվածները, որոնք փոխվում են ժամանակի ընթացքում, օգտագործելով մի հնարամիտ գործառույթ ՝ կարող եք պարզել, թե որքան մեծ են այդ փոփոխությունները և դրանք շարունակվում են ժամանակի ընթացքում, և որ ամենակարևորն է ՝ պարզել, թե արդյոք դրանք կատվի չափի են:

Շրջանակի հանումների վերաբերյալ բավականին շատ ձեռնարկներ կան, որոնք մանրամասնորեն մանրամասնվում են, եթե արագ որոնում եք կատարում Google- ում:

Ակնարկ, թե ինչպես է աշխատում կոդը

1, տեսախցիկը շարունակում է շրջանակներ վերցնել և դրանք համեմատել վերջինների հետ

2, Եթե կատվի չափի ձև է հայտնաբերվում, նշվում է

3, Եթե կատվի չափի փոփոխությունը պահպանվում է մոտ 4 շրջանակի վրա, ապա pi- ն օգտագործում է իր GPIO- ն ՝ ռելեային հոսանքը սկսելու համար arduino

4, arduino- ն ազդանշան է ուղարկում երկրորդ ռելեին 5 վայրկյան հզորացնելու համար, որն ակտիվացնում է էլեկտրամագնիսականը

5, The solenoid երբ սնուցվում թույլ է տալիս ջուր է sprinkler

6, Մինչ sprinkler- ը ակտիվ է, տեսախցիկը դադարում է հայտնաբերել և տեսագրել տեսանյութը

7, Տեսանյութը բեռնված է Youtube- ում

8, Stills- ը բեռնված է dropbox- ում ՝ նուրբ կարգաբերման համակարգի համար

Ուշադրություն.

1, Pi- ն չի կարող սկսել և դադարեցնել էլեկտրամագնիսական վիդեոն ձայնագրելիս, քանի որ python- ի գրիչները դադարում են մինչև տեսանյութի ավարտը, ուստի անհրաժեշտ է, որ arduino- ն (կամ 555 ժմչփը) թույլ տա, որ սոլենոիդը բացվի և փակվի անկախ սցենարից տեսանյութը դեռ ձայնագրվում է:

2, Առաջին էստաֆետան և arduino- ն կարող են փոխարինվել 555 ժմչփով, բայց դա ժամանակին չներկայացվեց այս նախագծի համար, 555 -ը շատ ժամանակ և գումար կխնայի:

3, Pi- ն չի կարող ուղղակիորեն հրահրել էլեկտրամագնիսական հոսանքը, քանի որ Pi GPIO- ն աշխատում է 3.3v և 51mA max- ով, իսկ էլեկտրամագնիսական էլեկտրամագնիսը ցանկանում է, որ 5V- ն ու 51mA- ից շատ ավելին գործարկեն:

4, Յուրաքանչյուր շրջանակ կարող է կտրվել ՝ անցանկալի տարածքներում շարժումների հայտնաբերումը հեռացնելու համար, օրինակ ՝ հարևանների այգում: Սա չկատարելը կհանգեցնի նրան, որ հարևանը շփոթված տեսք կտա ձեր այգուն, քանի որ սրսկիչը ցատկում է ամեն անգամ, երբ նա ցանկանում է մտնել իր տնակը:

5, ես, հավանաբար, բաց եմ թողել ինչ -որ ակնհայտ բան և ժամանակս վատնել եմ դրա ստեղծման վրա:

Ստորև բերված ծածկագիրը

ներմուծել cv2import numpy as np ներմուծել argparse #կատու ներմուծման ժամանակ ներմուծել RPi. GPIO որպես GPIO ներմուծել os ներմուծել dropbox picamera.array ներմուծել PiRGBArray picamera ներմուծումից PiCamera #------------------ ------------------------------ Վերբեռնել youtube ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger relay GPIO.output (11, True) time.sleep (.5) GPIO.output (11, False) print ("Video հաշվի") try: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Վերբեռնել youtube- ի տպագիր («Uploading to YouTube») os: համակարգ ('sudo youtube-upload --title = "Կատուն թրջվեց {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #հեռացնել վիդեո ֆայլը os.remove- ից հետո ('vid {0}.h264'.format (vidname)) print («Տեսանյութը վերբեռնվել և հեռացվել է Pi- ից»), բացառությամբ `մուտքի #---------------------- ---------------------------- Դեռևս դեպի dropbox ------------------- -------------------- def Սբ illsToDropbox (): print («Վերբեռնում դեռ Dropbox ֆունկցիայի մեջ») access_token = 'Ահ, ախ, դու չասացիր կախարդական բառը … Ահ ահ, դու չասացիր կախարդական բառը' ctime = time.strftime (" %H:%M:%S ") cdate = time.strftime ("%d-%m-%Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (filename) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (filename, image) image.close () os.remove ("ToDropbox-j.webp

#HowToTriggerRealProgrammersWithBadCode- ով

Քայլ 4: Միավորել այն

Միասին դնելը
Միասին դնելը
Միասին դնելը
Միասին դնելը
Միասին դնելը
Միասին դնելը

Էլեկտրամոնտաժը դարձրեք անջրանցիկ պատյան, պտուտակեք իրերը պատերի մեջ և օգտագործեք շատ կպչուն ժապավեն և տաք սոսինձ

Քայլ 5: Արդյունքներ

Image
Image
Արդյունքները
Արդյունքները

Երբ աշխատում է, աշխատում է

Քայլ 6: Կեղծ դրական

Կեղծ դրական
Կեղծ դրական

Երբ դա չի շաղ տալիս կատվի ստվերները, ձեր կինը և ձեր դուստրը:

Հուշում - Տեղադրեք անջատիչ դռան մոտ, որը դադարեցնում է շարժումների հայտնաբերման ծրագիրը….. այնուհետ մոռացեք օգտագործել այն և թրջվել աղբամանները դնելիս:

Հուսով եմ, որ ես ծրագրավորման, էլեկտրոնիկայի և DIY- ի մասնագետներ եմ դարձել, հավանաբար թույլ տված բոլոր սխալներով, և հատկապես հույս ունեմ, որ ձեզ դուր են եկել իմ բոլոր ուղղագրական սխալները:

Խորհուրդ ենք տալիս: