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

Դարձրեք ձեր անօդաչու սարքի ժեստը վերահսկվող $ 10: 4 քայլով
Դարձրեք ձեր անօդաչու սարքի ժեստը վերահսկվող $ 10: 4 քայլով

Video: Դարձրեք ձեր անօդաչու սարքի ժեստը վերահսկվող $ 10: 4 քայլով

Video: Դարձրեք ձեր անօդաչու սարքի ժեստը վերահսկվող $ 10: 4 քայլով
Video: Ծնողները, իրենք էլ չգիտակցելով, վնասում են իրենց երեխաներին 2024, Նոյեմբեր
Anonim
Image
Image
10 դոլարով վերահսկեք ձեր անօդաչու սարքի ժեստը
10 դոլարով վերահսկեք ձեր անօդաչու սարքի ժեստը
10 դոլարով վերահսկեք ձեր անօդաչու սարքի ժեստը
10 դոլարով վերահսկեք ձեր անօդաչու սարքի ժեստը

Այս հրահանգը ուղեցույց է ձեր R/C անօդաչու սարքը ժեստերով վերահսկվող անօդաչու թռչող սարքի վերածելու համար ՝ 10 դոլարից ցածր գնով:

Ես մարդ եմ, ով շատ ոգեշնչված է գիտաֆանտաստիկ ֆիլմերից և փորձում է ֆիլմում ցուցադրվող տեխնոլոգիաները դարձնել իրական կյանքում: Այս նախագիծը ոգեշնչում է երկու նման ֆիլմերից ՝ «STAR WARS: The Empire Strikes Back» և «Project Almanac»: Երկու ֆիլմերում դուք տեսնում եք թռչող օբյեկտ (X-wing Starship և R/C Drone), որոնք կառավարվում էին ձեռքի շարժումներով: Սա ինձ ոգեշնչեց նման բան պատրաստել…

Ակնհայտ է, որ ես X- թևի տերը չեմ, ուստի, ցավոք, ես պետք է աշխատեմ իմ Mini R/C Quadcopter- ի հետ:

Այսպիսով, ծրագիրը հետևյալն է. Իմ նոութբուքում կգործի պատկերի մշակման սցենար, որն անընդհատ փնտրելու է իմ ձեռքը և հետևելու է նրա դիրքին տեսանյութի շրջանակում: Ձեռքի կոորդինատները ստանալուց հետո այն համապատասխան ազդանշան կուղարկի անօդաչու թռչող սարքին, և դա կարվի նոութբուքի հետ միացած Arduino- ի միջոցով, ինչպես նաև NRF24L01 2.4GHz Transceiver մոդուլով, որը կարող է անմիջականորեն հաղորդակցվել ցանկացած R/C անօդաչու թռչող սարքի ստացողի հետ:.

Պարագաներ

  • Նոթբուք/աշխատասեղան, որտեղ տեղադրված են վեբ -տեսախցիկ և Python: (Ես օգտագործում եմ իմ W indows նոութբուքը `ներկառուցված վեբ-տեսախցիկով և աշխատում եմ Python 2.7.14-ով)
  • Rանկացած R/C անօդաչու սարք, որն աշխատում է 2.4 ԳՀց հաճախականությամբ: (JJRC H36 իմ դեպքում)
  • Arduino UNO- ն իր ծրագրավորման մալուխի հետ միասին: (Ես օգտագործում եմ դրա կլոնը, քանի որ այն ավելի էժան է)
  • NRF24L01 2.4 ԳՀց ալեհավաք անլար հաղորդիչ մոդուլ: (Ես սա գնել եմ այստեղից ընդամենը 99 ֆունտ ստեռլինգով (1.38 դոլար))
  • 3.3V ադապտերային տախտակ 24L01 անլար մոդուլի համար: (Ես սա գնել եմ այստեղից ընդամենը 49 ֆունտ ստեռլինգով (0.68 դոլար))
  • Արականից իգական ցատկող լարեր x7

Քայլ 1: Հավաքեք պարագաները:

Հավաքեք պարագաները
Հավաքեք պարագաները

Քայլ 2. NRF մոդուլի միացում Arduino- ի հետ

NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ
NRF մոդուլի միացում Arduino- ի հետ

Այժմ, քանի որ ունեք բոլոր մասերը, եկեք սկսենք Arduino- ով NRF մոդուլը միացնելով:

  1. Նախ, NRF մոդուլը տեղադրեք ադապտորի վրա տրված անցքի մեջ: Դրա համար կարող եք անդրադառնալ վերը նշված նկարին:
  2. Դրանից հետո, վերցրեք Արուն իգական լարերի վրա և միացրեք NRF ադապտերը Arduino- ին հետևյալ կերպ.

    • NRF Adapter Pin - Arduino Pin
    • VCC - 5 վ
    • GND - GND
    • CE - Թվային կապում 5
    • CSN - անալոգային կապ 1
    • SCK - թվային կապ 4
    • MO - թվային կապ 3
    • MI - անալոգային կապ 0
    • IRQ - Չի օգտագործվում
  3. Միացումն ավարտվելուց հետո Arduino- ն միացրեք ձեր համակարգչին `օգտագործելով Arduino ծրագրավորման USB մալուխը և գրեթե ավարտված եք:

Քայլ 3: Եկեք անցնենք կոդավորման:

Եկեք անցնենք կոդավորման
Եկեք անցնենք կոդավորման
Եկեք անցնենք կոդավորման
Եկեք անցնենք կոդավորման

Այժմ այստեղից սկսվում է դժվար մասը … !!!

Ամբողջ ծածկագիրը ես ինքս չեմ կազմել: Փոխարենը, ես վերցրել եմ տարբեր ծրագրավորողների կոդի մասեր և կտորներ և միացրել դրանք բոլորը մեկում ՝ մի փոքր շտկելով: Հետևաբար, բոլոր սկզբնական հեղինակներին տրվում են համապատասխան վարկեր:

Կարող եք ներբեռնել այստեղ տեղադրված բոլոր ծածկագրերը և այն գործի դնել: Հակառակ դեպքում կարող եք գնալ իմ Github պահոց, որտեղ ես անընդհատ կթարմացնեմ վերջին կոդը `ավելի լավ հետևելու համար:

Ձեռքի հետևում

Այս նախագծում ձեռքով հետևելու համար օգտագործվում է Haar Cascade դասակարգիչը: Հաար կասկադը վարժեցվում է ՝ դրական պատկերը գերակայելով բացասական պատկերների վրա: Եվ այս վերապատրաստված տվյալները սովորաբար պահվում են «.xml» ֆայլերում: Ինտերնետում կարող եք ձեռք բերել գրեթե ամեն ինչի դասակարգիչ ֆայլեր կամ նույնիսկ կարող եք ստեղծել ձեր սեփականը այսպիսին: Այս նախագծի համար, քանի որ մենք պետք է այն դարձնեինք ձեռքի ժեստերով կառավարվող, ես ձեռքի հայտնաբերման համար օգտագործեցի բռունցքի դասակարգիչ, որը կոչվում էր «փակ_ֆրոնտալ_պալմ. Xml» ՝ պատրաստված Արավինդ Նամբիսսանի կողմից: Դուք կարող եք ստուգել այս կոդը ՝ գործարկելով «hand_live.py» ծածկագիրը իմ ռեպոյում:

Ընտրելով NRF24 ծածկագիրը ՝ համապատասխանելու ձեր դրոնին

Այսպիսով, ըստ ձեր անօդաչու թռչող սարքի արտադրողի և մոդելի, կարող եք անդրադառնալ Github պահոցին `« nrf24_cx10_pc » - ին, որը պատրաստվել է Պերի saաոյի կողմից, ընտրելու համար աշխատելու համապատասխան Arduino կոդը, որը կհամապատասխանի դրա հաճախականությանը: Նա պատրաստել է գեղեցիկ ձեռնարկ ՝ իր CX10 Drone- ը համակարգչի վրա վերահսկելու համար:

Երբ ես օգտագործում էի JJRC H36 անօդաչու թռչող սարքը, ես վկայակոչեցի մեկ այլ Github պահեստ ՝ «nrf24_JJRC_H36_pc», որը Լյուիս Կորնիկի պատրաստած Պերի saաոյի ռեպոյի պատառաքաղն էր ՝ իր JJRC H36- ը համակարգչով վերահսկելու համար:

Arduino- ի պատրաստում

Ես Լյուիսի ռեպոն փոխանցեցի իմ Github- ին, որը կարող եք կլոնավորել, եթե աշխատում եք նույն անօդաչու թռչող սարքի վրա: Դուք պետք է մեկ անգամ վերբեռնեք «nRF24_multipro.ino» ծածկագիրը ձեր Arduino Uno- ում, որպեսզի այն զուգակցվի ձեր դրոնի հետ ամեն անգամ, երբ մենք գործարկում ենք մեր Python սցենարը:

Սերիական հաղորդակցության փորձարկում

Նույն ռեպոյում կարող եք գտնել նաև «serial_test.py» ծածկագիրը, որը կարող է օգտագործվել Arduino- ի հետ Python սցենարի սերիական հաղորդակցությունը փորձարկելու համար, և եթե ձեր անօդաչուն զուգակցվում է, թե ոչ: Մի մոռացեք փոխել COM պորտը ծածկագրում ՝ ըստ ձեր Arduino տախտակի COM պորտի:

Ամեն ինչ ինտեգրվել մեկ կոդում

Այսպիսով, ես ինտեգրեցի այս բոլոր ծածկագրերը տարբեր մշակողների կողմից և ստեղծեցի իմ սեփական կոդը "handserial.py": Եթե դուք անում եք նույն բանը, ինչ ես անում եմ նույն անօդաչու թռչող սարքով, ապա կարող եք ուղղակիորեն գործարկել այս ծածկագիրը, այնուհետև կարող եք կառավարել ձեր անօդաչուն ՝ պարզապես բռունցքը օդում շարժելով: Կոդն առաջին հերթին բռունցք է կատարում տեսանյութի շրջանակում: Կախված բռունցքի Y- կոորդինատից, ծածկագիրը շնչափողի արժեքը ուղարկում է անօդաչու թռչող սարքին ՝ այն բարձրանալով կամ իջեցնելով, և նմանապես, կախված բռունցքի X- կոորդինատից, կոդը aileron- ի արժեքը ուղարկում է անօդաչու թռչող սարքին ՝ այն ձախ կամ աջ գնալու համար:.

Քայլ 4: Հեղինակային նշում

Կան 4 կետեր, որոնք ես հատուկ կցանկանայի նշել այս նախագծի վերաբերյալ.

  1. Ինչպես նշվեց ավելի վաղ, այս ծածկագիրը ամբողջությամբ իմ կողմից չէ, բայց ես անընդհատ աշխատում եմ դրա վրա և կթարմացնեի ծածկագիրը ՝ իմ Github պահեստում ավելի լավ հետևելու համար: Այսպիսով, ցանկացած հարցման կամ թարմացման համար կարող եք այցելել շտեմարան կամ ինձ պինգ անել Instagram- ում:
  2. Ներկայումս մենք օգտագործում ենք նոութբուքի վեբ -տեսախցիկը, որը թույլ չի տալիս ունենալ անօդաչու թռչող սարքի տեսանկյունը, սակայն անհրաժեշտության դեպքում անօդաչու թռչող սարքի վրա տեղադրված տեսախցիկները կարող են օգտագործվել նաև հետևելու նպատակով: Սա կօգնի ունենալ ավելի լավ տեսք և, ի վերջո, ավելի լավ վերահսկողություն:
  3. Այս նախագծի համար ես օգտագործում եմ JJRC H36 անօդաչու թռչող սարք, որը շուկայում առկա ամենաէժան անօդաչու թռչող սարքերից է, ուստի այն չունի գիրոսկոպիկ կայունություն: Դա է պատճառը, որ դուք կարող եք զգալ, որ տեսահոլովակի շարժումը տատանվում է, բայց եթե դուք օգտագործում եք արժանապատիվ որակի անօդաչու սարք ՝ լավ կայունությամբ, ապա այս խնդրի առջև չեք կանգնի:
  4. Ես ուզում էի անդրադառնալ Computer Vision- ի և անօդաչու թռչող սարքերի կառավարման վրա, ուստի սկսեցի այս նախագծով: Բայց համակարգչային տեսողության վրա աշխատելուց հետո ես զգում եմ, որ դա անօդաչու սարքը կառավարելը օպտիմալ լուծում չէ: Այսպիսով, ես պլանավորում եմ ձեռքի տիպի սարք պատրաստել Gyro սենսորով ՝ ապագայում անօդաչու սարքը կառավարելու համար: Այսպիսով, հետևեք թարմացումներին…

Եթե ձեզ դուր եկավ այս ձեռնարկը, խնդրում ենք հավանել և տարածել և նաև քվեարկել դրա համար:

Առայժմ այսքանը: Կհանդիպենք հաջորդ անգամ…

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