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

Կոլիբրի հայտնաբերող/նկարահանող ՝ 12 քայլ (նկարներով)
Կոլիբրի հայտնաբերող/նկարահանող ՝ 12 քայլ (նկարներով)

Video: Կոլիբրի հայտնաբերող/նկարահանող ՝ 12 քայլ (նկարներով)

Video: Կոլիբրի հայտնաբերող/նկարահանող ՝ 12 քայլ (նկարներով)
Video: MiyaGi - Колибри (Music Clip) 2024, Նոյեմբեր
Anonim
Կոլիբրի հայտնաբերող/նկարահանող
Կոլիբրի հայտնաբերող/նկարահանող

Մեր հետևի տախտակամածին մենք ունենք կոլիբրի կերակրող, և վերջին մի քանի տարում ես նրանց լուսանկարում եմ: Կոլիբրները զարմանալի փոքրիկ արարածներ են, շատ տարածքային և նրանց մենամարտերը կարող են լինել ինչպես զվարթ, այնպես էլ զարմանալի: Բայց ես արդեն հոգնել էի արձանի պես կանգնել իմ տան հետնամասից `նրանց լուսանկարելու համար: Ինձ պետք էր նկարներ նկարելու միջոց ՝ առանց տան երկար սպասելու: Ես գիտեմ, որ կարող էի օգտագործել հեռակառավարվող փեղկը, բայց ես ուզում էի, որ լուսանկարներն ինքնաբերաբար արվեին ՝ առանց ինձ այնտեղ գտնվելու: Այսպիսով, ես որոշեցի սարքավորել սարսուռը, որը կբացահայտի կոլիբրին և ինքնաբերաբար լուսանկարում:

Ես միշտ մտադիր էի օգտագործել միկրոկոնտրոլեր դա անելու համար: Միկրոկառավարիչը կկարողանա քշել խցիկի փեղկը ծրագրաշարի հսկողության ներքո: Բայց փոքրիկ կոլիբրին հայտնաբերելու սենսորը այլ բան էր: Ես կարող էի օգտագործել շարժման սենսոր, բայց ուզում էի ինչ -որ յուրահատուկ բան փորձել: Ես որոշեցի ձայնը օգտագործել որպես ձգան:

Քայլ 1: Միկրոհսկիչի ընտրություն

Միկրոհսկիչ ընտրելը
Միկրոհսկիչ ընտրելը

Իմ ընտրած միկրոկոնտրոլերը PJRC Teensy- ն էր: Teensy- ն օգտագործում է ARM միկրոկառավարիչ, մասնավորապես ՝ ARM Cortex M4: Cortex M4- ը պարունակում է FFT (Fast Fourier Transform) կատարելու սարքավորում, որը թույլ կտա հայտնաբերել: PJRC- ն նաև վաճառում է աուդիո տախտակ, որը թույլ է տալիս Teensy- ին օգտագործել երաժշտություն նվագարկելու, ինչպես նաև արտաքին մուտքագրմամբ ձայնագրություն ձայնագրելու համար, կամ փոքրիկ խոսափող, որը կարող եք ավելացնել տախտակին: Իմ ծրագիրը այն էր, որ Teensy- ն խոսափողից ձայնի վրա FFT կատարեր:

Քայլ 2: FFT?

FFT?
FFT?

FFT- ը մաթեմատիկական բանաձև/ալգորիթմ է, որը ազդանշանը ժամանակի տիրույթից վերածում է հաճախականության տիրույթի: Սա նշանակում է, որ խոսափողից վերցնում է ժամանակի նմուշառված ձայնը և այն վերածում այն հաճախականությունների մեծությունների, որոնք առկա են սկզբնական ալիքում: Տեսեք, ցանկացած կամայական, շարունակական ալիք կարող է կառուցվել մի շարք սինուսային կամ կոսինուսային ալիքներից, որոնք որոշ բազային հաճախականության ամբողջ բազմապատիկ են: FFT- ն հակառակն է անում. Վերցնում է կամայական ալիք և այն վերածում ալիքների մեծությունների, որոնք, եթե դրանք միասին ամփոփվեն, կստեղծեն սկզբնական կամայական ալիքը: Սա ասելու նույնիսկ ավելի պարզ միջոց է, ես ծրագրում էի օգտագործել Teensy- ի ծրագրակազմը և FFT սարքավորումները `որոշելու, թե արդյոք նա« լսում է »կոլիբրիի թևը ծեծելու հաճախականությամբ, երբ թևերը ծածանվում են: Եթե այն «լսում» է կոլիբրի, ես հրաման կտամ տեսախցիկին լուսանկարել:

Դա աշխատեց! Այսպիսով, ինչպե՞ս արեցի դա, ինչպե՞ս կարող էիր դա անել և ինչպե՞ս կարող էիր դա ավելի լավը դարձնել:

Քայլ 3. Ինչպիսի՞ն է սավառնող Կոլիբրի ձայնը:

Ի՞նչ է հնչում սավառնող Կոլիբրի ձայնը
Ի՞նչ է հնչում սավառնող Կոլիբրի ձայնը

Նախևառաջ, ես պետք է պարզեի, թե ինչ հաճախականությամբ եմ լսում կոլիբրի թևերի ծալքերը: Սա որոշելու համար ես օգտագործեցի իմ iPhone- ը: Ես iPhone- ը ամրացրեցի եռոտանի վրա և այն դանդաղ շարժման տեսագրություն կատարեց անմիջապես մեր տախտակամածի վրա դրված կոլիբրի սնուցողի առջև: Որոշ ժամանակ անց ես հանեցի տեսախցիկը և ներբեռնեցի տեսանյութը: Այնուհետև ես դիտեցի տեսանյութը, որը կերակրողի դիմաց կոլիբրի էր փնտրում: Երբ ես գտա մի լավ հաջորդականություն, ես հաշվեցի այն առանձին շրջանակների քանակը, որոնք անհրաժեշտ էին կոլիբրիին `իր թևերը մեկ դիրքից ծեծելու համար, մինչև նույն դիրքը: IPhone- ի դանդաղ շարժումը կազմում է վայրկյանում մոտ 240 կադր: Ես դիտեցի մի սմբակ, որը սավառնում էր սնուցողի առջև, և ես հաշվեցի 5 շրջանակ, որպեսզի նա իր թևերը շարժի առաջի դիրքից դեպի հետևի դիրքը և այնուհետև վերադառնա առաջային դիրքի: Սա 240 շրջանակից 5 կադր է: Հիշեք, որ մենք կոլիբրիի թևերի փեղկերի յուրաքանչյուր հարվածի վրա մի ձայն ենք լսում (մեկը ՝ առաջ և մյուսը ՝ հետ): Framesիկլերի կամ ժամանակաշրջանների համար 5 շրջանակների համար մենք կարող ենք հաշվարկել հաճախականությունը `բաժանված 1 / (5/240) կամ 48 Հց ժամանակաշրջանի: Սա նշանակում է, որ երբ այս կոլիբրին սավառնում է, մեր լսած ձայնը պետք է լինի երկու անգամ ավելի կամ մոտ 96 Հց: Հաճախականությունը, հավանաբար, ավելի մեծ է, երբ նրանք թռչում են և չեն սավառնում: Այն կարող է նաև ազդել դրանց զանգվածի վրա, բայց ես կարծում եմ, որ մենք կարող ենք ենթադրել, որ նույն տեսակի թռչունների մեծ մասն ունեն մոտավորապես նույն զանգվածը:

Քայլ 4: Ֆուրիեի շարքը և դեռահասը

Ֆուրիեի շարքը և դեռահասը
Ֆուրիեի շարքը և դեռահասը

The Teensy (Ես օգտագործել եմ Teensy 3.2) պատրաստված է PJRC- ի կողմից (www.pjrc.com): FFT- ն հաշվարկվելու է ձայնի նմուշի վրա: Ձայնը ձեռք բերելու համար PJRC- ն վաճառում է աուդիո ադապտերային տախտակ Teensy- ի համար (TEENSY3_AUDIO - $ 14.25): Նրանք նաև վաճառում են մի փոքր խոսափող, որը կարելի է զոդել աուդիո ադապտերատախտակին (ՄԻԿՐՈՖՈՆ - $ 1.25): Աուդիո ադապտերների տախտակն օգտագործում է չիպ (SGTL5000), որի հետ դեռահասը կարող է խոսել սերիական ավտոբուսի (I2S) միջոցով: Teensy- ն SGTL5000- ով օգտագործում է խոսափողից ձայնը նմուշառելու և այն թվայնացնելու համար, այսինքն ՝ ստեղծում է մի շարք թվեր, որոնք ներկայացնում են խոսափողի լսած ձայնը:

FFT- ն ընդամենը այն արագ տարբերակն է, ինչ կոչվում է Դիսկրետ Ֆուրիեի փոխակերպում (DFT): DFT- ն կարող է կատարվել կամայական թվով նմուշների վրա, այնուամենայնիվ, FFT- ին անհրաժեշտ է, որ նմուշները պահվեն երկուական բազմապատիկ բազմություններում: Teensy ապարատը կարող է կատարել FFT 1024 նմուշների հավաքածուի վրա (1024 = 2^10), այնպես որ դա այն է, ինչ մենք կօգտագործենք:

FFT- ն, որպես ելք, սովորաբար արտադրում է մեծությունները ԵՎ փուլային հարաբերությունները ներկայացված տարբեր ալիքների միջև: Այս հավելվածի համար մեզ չեն մտահոգում փուլային հարաբերությունները, այլ մեզ հետաքրքրում են մեծությունները և դրանց հաճախականությունը:

Teensy աուդիո տախտակը ձայնագրում է ձայնը 44, 100 Հց հաճախականությամբ: Այսպիսով, այս հաճախականությամբ 1024 նմուշը ներկայացնում է 1024/44100 կամ մոտ 23,2 միլիվայրկյան ժամանակային ընդմիջում: Այս դեպքում FFT- ն որպես ելք կարտադրի մեծություններ, որոնք 43 Հց ընտրանքի ժամանակաշրջանի ամբողջ բազմապատիկ են (կրկին 1/0.0232 -ը հավասար է մոտ 43 Հց): Մենք կցանկանայինք փնտրել այս հաճախականությունից մոտ երկու անգամ մեծություններ `86 Հց: Դա ոչ թե մեր հաշվարկված կոլիբրի թևերի փեղկերի հաճախականությունն է, այլ այն բավական մոտ է, ինչպես կտեսնենք:

Քայլ 5: Օգտագործելով Ֆուրիեի տվյալները

Ֆուրիեի տվյալների օգտագործումը
Ֆուրիեի տվյալների օգտագործումը

Գրադարանները, որոնք PJRC- ն տրամադրում է դեռահասներին, կվերամշակեն նմուշները և կվերադարձնեն մեծության արժեքների զանգված: Վերադարձված զանգվածի յուրաքանչյուր մեծությանը մենք կանդրադառնանք որպես աղբարկղ: Առաջին աղբարկղը (զրոյական օֆսեթում տվյալների զանգվածը, որը մենք ստանում ենք) ալիքի DC օֆսեթն է: Մենք կարող ենք ապահով կերպով անտեսել այս արժեքը: Երկրորդ աղբարկղը (օֆսեթ 1 -ում) կներկայացնի 43 Հց բաղադրիչի մեծությունը: Սա մեր բազային շրջանն է: Հաջորդ աղբարկղը (օֆսեթ 2 -ում) կներկայացնի 86 Հց բաղադրիչի մեծությունը և այլն: Յուրաքանչյուր հաջորդ աղբարկղ բազային ժամանակաշրջանի ամբողջ բազմապատիկ է (43 Հց):

Այժմ սա մի փոքր տարօրինակ է դառնում: Եթե մենք FFT- ով օգտագործեինք կատարյալ 43 Հց ձայնը վերլուծելու համար, ապա FFT- ն առաջին աղբարկղը կվերադարձներ մեծ մեծությամբ, և մնացած բոլոր աղբարկղերը հավասար կլինեին զրոյի (կրկին, կատարյալ աշխարհում): Եթե մեր կողմից գրավված և վերլուծված ձայնը 86 Հց էր, ապա մեկում օֆսեթում գտնվող աղբարկղը զրո կլիներ, իսկ 2 -ում `օֆսեթում (երկրորդ ներդաշնակ) աղբարկղը որոշ մեծ մեծություն կլիներ, իսկ մնացած աղբարկղերը` զրո և այլն: Բայց եթե մենք գրավեինք կոլիբրի ձայնը և դա 96 Հց էր (ինչպես չափեցի իմ մեկ թռչնի վրա), ապա 2 բեն @ 86 Հց օֆսեթը կունենար մի փոքր ավելի փոքր արժեք (քան 86 Հց կատարյալ ալիքը կլիներ) և դրա շուրջը գտնվող աղբամանները (մեկը ցածր և մի քանի ավելի բարձր) կունենան յուրաքանչյուրը նվազող ոչ զրո արժեք:

Եթե մեր FFT- ի նմուշի չափը 1024 -ից մեծ էր, կամ եթե մեր ձայնային նմուշառման հաճախականությունը ցածր էր, մենք կարող էինք մեր աղբարկղերի լուծումն ավելի լավ դարձնել (այսինքն `ավելի փոքր): Բայց նույնիսկ եթե մենք փոխենք այս իրերը ՝ մեր FFT աղբարկղերը դարձնելով բազային ժամանակաշրջանի 1 Հց բազմապատիկ, մենք դեռ ստիպված կլինենք զբաղվել այս աղբարկղի «թափմամբ»: Դա տեղի է ունենում այն պատճառով, որ մենք երբեք չէինք ստանա թևերի հաճախականություն, որը միշտ և ճշգրիտ վայրէջք էր կատարում մեկ աղբարկղի վրա: Սա նշանակում է, որ մենք չենք կարող պարզապես բազրիքի հայտնաբերումը հիմնավորել օֆսեթ 2 աղբարկղի արժեքի վրա և անտեսել մնացածը: Մեզ անհրաժեշտ է մի քանի աղբարկղում տվյալները վերլուծելու միջոց, որպեսզի փորձենք և իմաստավորել դրանք: Այս մասին ավելի ուշ:

Քայլ 6: Սկսեք շինարարությունը

Սկսել շինարարությունը
Սկսել շինարարությունը
Սկսել շինարարությունը
Սկսել շինարարությունը

Կոլիբրի թռչունների դետեկտորի իմ նախատիպի համար ես օգտագործել եմ դեռահաս-տղամարդու լրացուցիչ երկար կապտուկներ, որոնք կպցվել են դեռահասների շրջանում: Ես դա արեցի, որպեսզի կարողանամ Teensy- ին միացնել մի փոքր սալիկ, որը չի կարող զոդել: Ես դա արեցի, որովհետև ենթադրեցի, որ շատ փոփոխություններ կանեմ նախատիպի մեջ և տախտակի միջոցով կարող եմ փոխել այս և պարզապես ցատկող լարերը, որտեղ էլ որ ինձ անհրաժեշտ լինի: Ես միացրեցի կանացի շերտերը աուդիո տախտակի ներքևի մասում, ինչը թույլ է տալիս այն միացնել դեռահասի գագաթին: Խոսափողը կպցված է աուդիո տախտակի վերին կողմին (տես նկարները): Հավաքման մասին ավելի մանրամասն կարելի է գտնել PJRC կայքում:

(https://www.pjrc.com/store/teensy3_audio.html):

Քայլ 7: Նկար նկարելու սարքավորում

Սարք ՝ նկարը նկարելու համար
Սարք ՝ նկարը նկարելու համար
Սարք ՝ նկարը ֆիքսելու համար
Սարք ՝ նկարը ֆիքսելու համար

Ես ունեմ (դե, կինս ունի) Canon Rebel թվային ֆոտոխցիկ: Տեսախցիկի վրա տեղադրված է մի խցիկ, որը թույլ է տալիս միացնել մեխանիկական հեռակառավարման վահանակը: Ձեռքով հեռակառավարիչ եմ գնել B&H Photo- ից: Մալուխն ունի ճիշտ խցիկ ՝ տեսախցիկը մի ծայրում տեղադրելու և մոտ 6 ոտնաչափ երկարությամբ: Ես կտրեցի մալուխը վերջում կոճակի կառավարման վանդակի մոտ, և ես պոկեցի լարերը և դրանք զոդեցի երեք վերնագրերի կապում, որոնք կարող էի միացնել հացատախտակին: Կա մերկ մետաղալար, որը հիմնավորված է և երկու այլ ազդանշան. Ծայրը ձգան է (վարդագույն), իսկ օղակը (սպիտակ) կենտրոնացած է (տես նկարները): Theայրը և/կամ մատանին գետնին կարճացնելը գործարկում է փակիչը և ֆոկուսը կենտրոնանում է խցիկի վրա:

Օգտագործելով jumper մետաղալար, ես ընդհանուր լեզու գտա Teensy- ից դեպի մի տարածք, որտեղ ես կարող էի օգտագործել այն հացահատիկի վրա: Ես նաև միացրեցի LED- ի անոդը Teensy- ի 2-րդ կապին, իսկ LED- ի կաթոդը `ռեզիստորին (100-220 ohms) գետնին: Ես նաև Teensy- ի 2 -րդ կապը միացրեցի 10K ռեզիստորին, իսկ դիմադրության մյուս կողմը միացրեցի NPN տրանզիստորի հիմքին (ամենուր հայտնաբերված 2N3904): Ես տրանզիստորի էմիտը միացրեցի գետնին, իսկ կոլեկտորը միացրեցի սպիտակ և վարդագույն լարերին այն մալուխից, որն անցնում է տեսախցիկին: Մերկ մետաղալարը կրկին միացված էր գետնին: Ամեն անգամ, երբ LED- ը միացված է Teensy- ի կողմից, NPN տրանզիստորը նույնպես կմիանա, և այն կմիացնի տեսախցիկը (և ֆոկուսը): Տեսեք սխեմատիկ:

Քայլ 8: Համակարգի ձևավորում

Համակարգի նախագծում
Համակարգի նախագծում

Քանի որ Կոլիբրիի թևերի հարվածների հաճախականությունները, ամենայն հավանականությամբ, չեն գերազանցում մի քանի հարյուր Հց -ից բարձր, ապա մեզ իսկապես պետք չէ ձայնային հաճախականությունները գրանցել, ասենք, մի քանի հարյուր Հցից բարձր: Մեզ պետք է միայն մեր ուզած հաճախականությունները զտելու միջոց: Գոտու կամ նույնիսկ ցածր անցման ֆիլտրը հիանալի կլիներ: Ավանդաբար մենք ֆիլտր ենք ներդնում ապարատում ՝ օգտագործելով OpAmps կամ անջատիչ-կոնդենսատորային զտիչներ: Բայց թվային ազդանշանի մշակման և Teensy's ծրագրային գրադարանների շնորհիվ մենք կարող ենք օգտագործել թվային զտիչ (զոդման կարիք չկա … պարզապես ծրագրակազմ):

PJRC- ն ունի հիանալի GUI, որը թույլ է տալիս քաշել և թողնել ձեր աուդիո համակարգը Teensy- ի և աուդիո տախտակի համար: Այն կարող եք գտնել այստեղ ՝

www.pjrc.com/teensy/gui/

Ես որոշեցի օգտագործել PJRC- ի տրամադրած երկկողմանի կասկադային զտիչներից մեկը `խոսափողից (ֆիլտրից) ձայնի հաճախականությունները սահմանափակելու համար: Ես երեք նման զտիչներ կասկադ արեցի և դրեցի դրանք 100 Հց արագության վրա: Այս զտիչը թույլ կտա մուտք գործել համակարգի հաճախականություններ մեզ համար մի փոքր բարձր և մի փոքր ներքև:

Բլոկ -դիագրամում (տես նկարը) i2s1- ը աուդիո տախտակի աուդիո մուտքագրումն է: Երկու աուդիո ալիքները միացրեցի խառնիչին, այնուհետև `ֆիլտրերին (խոսափողը միայն մեկ ալիք է, բայց ես երկուսն էլ խառնել եմ, որպեսզի ստիպված չլինեմ պարզել, թե որ ալիքն է դա … ինձ անվանել ծույլ): Ես ֆիլտրի ելքը գործարկում եմ աուդիո ելքի վրա (այնպես որ, եթե ցանկանամ, կարող եմ լսել ձայնը): Ես նաև ֆիլտրերից ստացված աուդիոն միացրեցի FFT բլոկին: Բլոկ -դիագրամում sgtl5000_1 պիտակավորված բլոկը աուդիո վերահսկիչի չիպն է: Այն դիագրամում որևէ կապի կարիք չունի:

Այս ամբողջ բլոկի շինարարությունը կատարելուց հետո կտտացրեք Արտահանել: Սա բերում է երկխոսության տուփ, որտեղ կարող եք պատճենել բլոկ -դիագրամից ստացված ծածկագիրը և տեղադրել այն Teensy հավելվածում: Եթե նայեք ծածկագրին, ապա կտեսնեք, որ դա յուրաքանչյուր հսկողության ակնթարթ է ՝ բաղադրիչների միջև «կապերի» հետ միասին:

Քայլ 9: Կոդ

Կոդ
Կոդ

Այս Instructable- ում չափազանց մեծ տարածք կպահանջվեր `ծրագրակազմին մանրամասն ծանոթանալու համար: Այն, ինչ ես կփորձեմ անել, ընդգծել է կոդի որոշ առանցքային հատվածներ: Բայց սա, այնուամենայնիվ, այնքան էլ մեծ ծրագիր չէ: PJRC- ն ունի հիանալի տեսաուղեցույց Teensy- ի և աուդիո գրադարանների/գործիքների օգտագործման վերաբերյալ (https://www.youtube.com/embed/wqt55OAabVs):

Ես սկսեցի PJRC- ի որոշ FFT օրինակ կոդով: Կոդի վերևում տեղադրեցի այն, ինչ ստացել եմ աուդիո համակարգի նախագծման գործիքից: Եթե դրանից հետո նայեք ծածկագրին, կտեսնեք որոշ նախաստորագրում, իսկ հետո համակարգը սկսում է խոսափողից ձայնի թվայնացում: Theրագրակազմը մտնում է «ընդմիշտ» օղակը () և սպասում է, որ FFT տվյալները հասանելի լինեն ՝ օգտագործելով fft1024_1.available () գործառույթը: Երբ FFT տվյալները հասանելի են, ես վերցնում եմ տվյալների պատճենը և մշակում դրանք: Նկատի ունեցեք, որ ես վերցնում եմ միայն տվյալները, եթե աղբարկղի ամենամեծ մեծությունը սահմանված արժեքից բարձր է: Այս արժեքը այն է, թե ինչպես եմ ես սահմանում համակարգի զգայունությունը: Եթե աղբարկղերը սահմանված արժեքից բարձր են, ապա ես նորմալացնում եմ ալիքը և այն փոխանցում ժամանակավոր զանգվածի մշակման, հակառակ դեպքում ես անտեսում եմ այն և շարունակում սպասել մեկ այլ FFT- ի: Պետք է նշեմ, որ ես նաև օգտագործում եմ խոսափողի շահույթի կառավարման գործառույթը `միացման զգայունությունը կարգավորելու համար (sgtl5000_1.micGain (50)):

Ալիքի նորմալացումը նշանակում է, որ ես կարգավորում եմ բոլոր աղբարկղերը, որպեսզի ամենամեծ արժեք ունեցող աղբարկղը հավասար լինի մեկին: Մնացած բոլոր աղբամանները նույն չափաբաժնով են չափված: Սա հեշտացնում է տվյալների վերլուծությունը:

Տվյալները վերլուծելու համար ես օգտագործեցի մի քանի ալգորիթմ, բայց, ես որոշեցի օգտագործել միայն երկուսը: Մեկ ալգորիթմը հաշվարկում է աղբարկղերի կողմից կազմված կորի տակ գտնվող տարածքը: Սա պարզ հաշվարկ է, որը պարզապես ավելացնում է աղբարկղերի արժեքները հետաքրքրության տարածաշրջանում: Ես համեմատում եմ այս տարածքը `որոշելու, թե արդյոք այն գերազանցում է շեմը:

Մյուս ալգորիթմը օգտագործում է արժեքների մշտական զանգված, որոնք ներկայացնում են նորմալացված FFT: Այս տվյալները կոլիբրիի իրական (օպտիմալ) ստորագրության արդյունք են: Ես սա անվանում եմ ցանկապատ: Ես համեմատում եմ հեջի տվյալները նորմալացված FFT տվյալների հետ ՝ տեսնելու համար, արդյոք համապատասխան աղբարկղերը գտնվում են միմյանցից 20% -ի սահմաններում: Ես ընտրեցի 20% -ը, բայց այս արժեքը հեշտությամբ կարելի է ճշգրտել:

Նաև հաշվում եմ, թե քանի անգամ են առանձին ալգորիթմները կարծում, որ ունեն լուցկի, այսինքն ՝ կարծում են, որ լսում են կոլիբրի: Ես օգտագործում եմ այս հաշվարկը որպես կոլիբրի որոշման մաս, քանի որ կարող է տեղի ունենալ կեղծ հրահրում: Օրինակ, երբ որևէ ձայն բարձր է կամ պարունակում է թռչունների թևերի հաճախականությունը, ինչպես ձեռքերը ծափահարելը, կարող եք ձգան ստանալ: Բայց եթե հաշվարկը որոշակի թվից բարձր է (ես ընտրում եմ), ես ասում եմ, որ դա կոլիբրի է: Երբ դա տեղի ունենա, ես միացնում եմ LED- ը ՝ նշելու, որ մենք ունենք հարված, և այս նույն սխեման խթանում է տեսախցիկը NPN տրանզիստորի միջոցով: Theրագրային ապահովման մեջ ես տեսախցիկի ձգանման ժամանակը սահմանեցի 2 վայրկյան (LED- ի և տրանզիստորի միացման ժամանակը):

Քայլ 10: Մոնտաժում

Մոնտաժում
Մոնտաժում

Նկարում կարող եք տեսնել, թե ինչպես եմ ես (աննկատ) միացրել էլեկտրոնիկան: Ես Teensy- ին միացրեցի մի տախտակի մեջ, որը խրված էր կրիչի տախտակին և մեկ այլ (չօգտագործված) Arduino- ի հետ համատեղ (կարծում եմ, որ Arduino Zero- ն է): Ես ամբողջը մետաղալարով կապեցի իմ տախտակամածի մետաղյա հովանի ձողի վրա (ես նաև լարվածության թեթևացում ավելացրեցի տեսախցիկին անցնող մալուխին): Սյունը հենց կոլիբրի կերակրողի կողքին էր: Ես էլեկտրոնիկան սնուցեցի մի փոքր LiPo էլեկտրական աղյուսով, որը դուք կարող եք օգտագործել մեռած բջջային հեռախոսը լիցքավորելու համար: Էլեկտրական աղյուսը ուներ USB միակցիչ, որի վրա ես էներգիա էի փոխանցում դեռահասին: Ես հեռակառավարման ձգանի մալուխը մոտեցրի Տեսախցիկին և միացրեցի այն: Ես պատրաստ էի թռչնի գործողությունների:

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

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

Ես տեսախցիկը տեղադրեցի սնուցողի մոտ գտնվող եռոտանի վրա: Ես տեսախցիկը կենտրոնացրել էի սնուցողի առջևի եզրին և այն դրել էի Սպորտային ռեժիմի վրա, որը մի քանի արագ նկարում է, երբ փակիչը սեղմվում է: Փակման 2 վայրկյան տևողությամբ ես մեկական հրահրող իրադարձության համար նկարեցի մոտ 5 լուսանկար:

Ես մի քանի ժամ անցկացրեցի ծրագրաշարի հետ առաջին անգամ, երբ փորձեցի դա: Ես ստիպված էի հարմարեցնել զգայունությունը և հաջորդական ալգորիթմի հարվածների քանակը: Ի վերջո, ես այն շտկեցի և պատրաստ էի:

Առաջին լուսանկարը մի թռչուն էր, որը թռչում էր շրջանակի մեջ, ասես արագընթաց ափ էր պտտվում ռեակտիվ կործանիչի պես (տես վերևում): Չեմ կարող ասել, թե որքան հուզված էի: Որոշ ժամանակ հանգիստ նստեցի տախտակամածի մյուս կողմում և թողեցի, որ համակարգը աշխատի: Ինձ հաջողվեց բազմաթիվ նկարահանել, բայց բավականին շատերը դեն նետեցի: Պարզվում է, երբեմն պարզապես թռչնի գլուխ կամ պոչ եք ստանում: Բացի այդ, ես ստացա կեղծ ազդակներ, որոնք կարող են առաջանալ: Ընդհանուր առմամբ, ես կարծում եմ, որ 39 նկար եմ պահել: Թռչուններին մի քանի ուղևորություն կատարվեց դեպի սնուցող սարքը `տեսախցիկից խցիկի ձայնին ընտելանալու համար, սակայն, ի վերջո, նրանք անտեսեցին այն:

Քայլ 12: Վերջնական մտքեր

Վերջնական մտքեր
Վերջնական մտքեր

Սա զվարճալի նախագիծ էր և աշխատում է: Բայց, ինչպես շատ բաներ, բարելավման շատ տեղ կա: Theտիչը, անշուշտ, կարող է տարբեր լինել (ինչպես ցածր անցման ֆիլտրը կամ դասավորության և/կամ պարամետրերի փոփոխությունները), և գուցե դա կարող է ավելի լավ աշխատել: Նաև վստահ եմ, որ կան ավելի լավ ալգորիթմներ, որոնք պետք է փորձել: Ես որոշ բաներ կփորձեմ ամռանը:

Ինձ ասացին, որ այնտեղ կա բաց կոդով մեքենայական ուսուցման ծածկագիր … գուցե համակարգը կարող էր «վարժվել» `կոլիբրիներին բացահայտելու համար: Վստահ չեմ, որ կփորձեմ սա, բայց, գուցե:

Ի՞նչ այլ բաներ կարող են ավելացվել այս նախագծին: Եթե տեսախցիկն ուներ ամսաթիվ/ժամ դրոշմիչ, կարող եք այդ տեղեկատվությունը ավելացնել նկարներին: Մեկ այլ բան, որ կարող եք անել, ձայնագրությունը ձայնագրելն ու այն պահելը uSD քարտի վրա է (PJRC- ի աուդիո տախտակն ունի մեկ անցք): Պահված ձայնը կարող է օգտագործվել ուսուցման ալգորիթմի ուսուցման համար:

Միգուցե ինչ -որ տեղ թռչնաբանության դպրոցը կարո՞ղ էր նման սարք օգտագործել: Նրանք գուցե կարողանան հավաքել այնպիսի տեղեկություններ, ինչպիսիք են կերակրման ժամանակը, կերակրման հաճախականությունը և, նկարների հետ միասին, գուցե կարողանաք նույնականացնել որոշակի թռչուններ, որոնք վերադառնում են կերակրման:

Իմ հույսն այն է, որ ինչ -որ մեկը երկարացնի այս նախագիծը և կիսվի իր ստեղծածով ուրիշների հետ: Ոմանք ինձ ասել են, որ իմ կատարած աշխատանքը պետք է վերածվի արտադրանքի: Ես այնքան էլ վստահ չեմ, բայց, ես ավելի շուտ կնայեի, որ այն օգտագործվի որպես ուսուցման հարթակ և գիտության համար:

Շնորհակալություն կարդալու համար:

Իմ տեղադրած կոդը օգտագործելու համար ձեզ հարկավոր է Arduino IDE (https://www.arduino.cc/hy/Main/Software): Ձեզ նույնպես պետք կգա Teensyduino կոդը PJRC- ից (https://www.pjrc.com/teensy/td_download.html):

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