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

OUCH: 6 քայլ
OUCH: 6 քայլ

Video: OUCH: 6 քայլ

Video: OUCH: 6 քայլ
Video: 6 պարզ խորհուրդ՝ ինչպես կաշվե կահույքը մաքրել տարբեր տեսակի կեղտերից 2024, Նոյեմբեր
Anonim
ՕՈՉ
ՕՈՉ
ՕՈՉ
ՕՈՉ

Ախ, ձեր անձնական բազմակողմանի անօգուտ կատարակտի օգնականն է: Քանի որ դեմքի ճանաչումը հարվածում է Zeitgeist- ին, OUCH- ը հարվածում է ձեզ: OUCH- ը ոչ միայն չգիտի, թե ինչպիսի տեսք ունեք, այլև գիտի, թե ինչպես լինել շատ նյարդայնացնող: Ի տարբերություն մեծ եղբոր, այս մեքենան շատ տեսանելի է և կատարում է միայն մեկ նպատակ. Երբևէ մոռացե՞լ եք ձեր արևային ակնոցները տանը և զարմացել պայծառ արտացոլումից: OUCH- ը թույլ է տալիս նորից ու նորից վերապրել այս պահը: Ձեր շրջապատի ամենապայծառ լույսի աղբյուրից ուղիղ դեմք արտացոլելով ՝ այն կհամոզվի, որ դրա շուրջ մեկ վայրկյան անգամ չեք վայելելու:

Watchգուշացեք, այլապես OUCH- ը կարող է լինել վերջին բանը, որ երբևէ կտեսնեք:

Projectրագիրն իրականացվել է Հաշվարկային դիզայնի և թվային պատրաստման սեմինարի շրջանակներում `ITECH մագիստրոսական ծրագրում:

Օգոստոս Լեհրեկ | Մաքս ornորն

Պարագաներ

Էլեկտրոնային մասեր

Արդուինո

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x ֆոտոընդդիմադիրներ
    • 4x 10k դիմադրիչներ
    • 2 անգամ պոտենցիոմետր
    • 1x USB տպիչի մալուխ

Ազնվամորի Պի

  • Ազնվամորի Պի 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-ալիք 12-բիթանոց PWM Servo վարորդ
    • 5 վ DC արտաքին էներգիայի մատակարարում
    • 1x Rasberry Pi 5.1V - 3Amp սնուցման աղբյուր (կամ արտաքին համարժեք)
    • 1x ԱՐՏԱԴՐՈԹՅՈՆ HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x 470 Օմ դիմադրություն
    • 1x 320 Օմ դիմադրություն

3D տպագիր մասեր

OUCH- ը գալիս է տարբեր ձևերի և չափերի: Այս տարբերակի համար մենք օգտագործեցինք 3D տպիչ ՝ հատուկ մեխանիզմներ տպելու համար:

  • 4 x կանգուն
  • 2 x հիմք S
  • 1 x հիմք L
  • 2 x Պտտման բազա Կրկնակի
  • 1 x Պտտման բազա միայնակ
  • 1 x Axis Support S- ի հավաքածու
  • 1 x Axis Support M- ի հավաքածու
  • 1 x Axis Support L- ի հավաքածու
  • 1 x Camera Mount
  • 1 x Light Mount
  • 1 x Հայելի լեռ

Անկության դեպքում կարող եք օգտագործել տրամադրված աշտարակի դիզայնը ՝ բաղադրիչներին խեղդելու համար.

  • 1 x աշտարակ (4 x կանգառի փոխարեն)
  • 1 x Base S & 1x Base M (2 x Base S- ի փոխարեն)

Այլ մասեր

  • Mylar
  • 1 x Ռետինե ժապավեն
  • 1 x Zip փողկապ
  • 12 M5 x 160 Flathead պտուտակներ
  • 2 M5 x 80 տափակ պտուտակներ

Գործիքներ:

  • 3D տպիչ
  • H3.0 Պտուտակահան
  • Տաք սոսինձ ատրճանակ

Քայլ 1: Քայլ 1: Մասերի տպագրություն

Եթե մուտք ունեք 3D տպիչ, կարող եք տպել հատուկ մեխանիզմներ Servos- ի տեղադրման և երեք հիմնական բաղադրիչների տեղադրման համար:

Դեմքի բաղադրիչի համար մեզ անհրաժեշտ է.

  • 2 x կրպակներ
  • 1 x հիմք L
  • 1 x Պտտվող բազա Կրկնակի
  • 1 x Axis Support M- ի հավաքածու
  • 1 x Տեսախցիկի և հեռավորության սենսորների ամրացում

Light բաղադրիչը պահանջում է.

  • 1 x կանգուն
  • 1 x հիմք S
  • 1 x Պտտվող բազա Կրկնակի
  • 1 x Axis Support S- ի հավաքածու
  • 1 x Light Mount

Հայելիի բաղադրիչները բաղկացած են հետևյալից.

  • 1 x կանգուն
  • 1 x հիմք S
  • 1 x Պտտվող բազա միայնակ
  • 1 x Axis Support L- ի հավաքածու
  • Հայելի լեռ

Վերջապես, կարող եք նաև տպել տրամադրված աշտարակը:

Եթե ցանկանում եք օգտագործել այն որպես հիմք բոլոր երեք բաղադրիչների համար, ապա ստիպված կլինեք համապատասխանաբար հարմարեցնել ծածկագրի վեկտորային մաթեմատիկան: Ավելին, աշտարակին միացրեք Face բաղադրիչը B բազայի L- ի փոխարեն:

Քայլ 2. Քայլ 2. Հայելի պատրաստելը

Քայլ 2: Հայելի պատրաստելը
Քայլ 2: Հայելի պատրաստելը
Քայլ 2: Հայելի պատրաստելը
Քայլ 2: Հայելի պատրաստելը

Ձեր սեփական Հայելի բաղադրիչը պատրաստելու համար կտրեք Mylar- ի շրջանաձև կտորը և տեղադրեք այն 3D տպված հայելու մասի վերևում: Այնուհետև առաջին հերթին ռետինե ժապավենով ամրացրեք այն տեղում: Ռետինե ժապավենը պետք է տեղավորվի բաղադրիչի շուրջը գտնվող ակոսի ներսում: Այնուհետև օգտագործեք կայծակաճարմանդ ՝ կապը նրբորեն ամրացնելու համար, այն դեռ շատ չսեղմեք: Այժմ դուք կարող եք սկսել ձգել Mylar- ը, մինչև ստանաք փայլուն, հայելային մակերես: Վերջապես, ամրացրեք կայծակաճարմանդը և վայելեք ձեր գեղեցիկ դեմքի արտացոլանքը:

Քայլ 3. Քայլ 3. Բաղադրիչների հավաքում

Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում
Քայլ 3: Բաղադրիչների հավաքում

Դեմքի բաղադրիչ

  1. Պտտվող հիմքի համապատասխան կտրվածքով տաք սոսնձեցրեք բռունցքը Servo- ին
  2. Կպչեք Servo միակցիչը ակոսի մեջ, որը գտնվում է բազային մասի ներքևում
  3. Տեղադրեք երկու հիմնական մասերը միասին, որպեսզի Servo- ն միանա միակցիչով
  4. Servo- ի պտուտակով ամրացրեք միակցիչը Servo- ին
  5. Երկրորդ միակցիչի կտորը տաք սոսնձեցրեք համապատասխան ակոսի մեջ, որը գտնվում է առանցքի աջակցության վերևում
  6. Օգտագործեք 4 M5 պտուտակներ `պտտվող հիմքին առանցքի հենարանը պտուտակելու համար
  7. Տաք սոսինձ երկրորդ Servo- ին լեռան վրա
  8. Սահեցրեք տեսախցիկը կապում
  9. Կցեք լեռան վրա ուլտրաձայնային հեռավորության սենսորը `պտուտակով կամ տաք սոսնձմամբ
  10. Տեսախցիկի / սենսորի լեռը միացրեք առանցքի աջակցությանը, Servo- ն կրկին պետք է սահի միակցիչի կտորի մեջ
  11. Servo- ի պտուտակով ամրացրեք միակցիչը Servo- ին
  12. Պտուտակացրեք Raspberry Pi- ն և servo վարորդը նրբատախտակի կտորի վրա (համոզվեք, որ տարածությունը համընկնում է B բազայի անցքերի հետ)
  13. Պտուտակեք Face բաղադրիչը տրիբունաներին ՝ օգտագործելով M5 պտուտակներ

Հայելիի բաղադրիչ

  1. Հետևեք 1 -ից 7 -րդ քայլերին
  2. Միացրեք Հայելին առանցքի հենակին
  3. Նրբատախտակին կպցրեք հայելիի տակդիրը, այնպես որ Հայելիի և դեմքի բաղադրիչը հավասարեցվի
  4. Պտուտակեք Հայելիի բաղադրիչը կանգուն, օգտագործելով M5 պտուտակներ

Լույսի բաղադրիչ

  1. Հետևեք վերը նշված 1 -ից 7 -րդ քայլերին
  2. Լույսի տվիչներն անցեք ստվերային խաչի ներքևի մասում տեղադրվող անցքերի միջով
  3. Միացրեք ստվերային խաչը առանցքի աջակցությանը, Servo- ն կրկին պետք է սահի միակցիչի կտորի մեջ
  4. Servo- ի պտուտակով ամրացրեք միակցիչը Servo- ին
  5. Նրբատախտակին կպցրեք կանգառը, որպեսզի Լույսը, Հայելին և Դեմքը բաղադրիչը հավասարեցվեն, իսկ Հայելին ՝ Դեմքի և Լույսի բաղադրիչների միջև
  6. Պտուտակեք Face բաղադրիչը տրիբունաներին ՝ օգտագործելով M5 պտուտակներ

*Բոլոր բաղադրիչները կարող են կցվել աշտարակին: Այնուամենայնիվ, խնդրում ենք հաշվի առնել կոդավորման և էլեկտրագծերի բարդության և տպման ժամանակի ավելացումը: Եթե ցանկանում եք օգտագործել աշտարակը, օգտագործեք Base M- ի մասը `B- ի L- ի համար Face- ի բաղադրիչի համար և պտուտակացրեք Base- ի մասերը աշտարակին` օգտագործելով ակնոցներն ու M5 պտուտակները:

Քայլ 4: Քայլ 4. Կարգավորեք տախտակները

Քայլ 4: Կարգավորեք տախտակները
Քայլ 4: Կարգավորեք տախտակները
Քայլ 4: Կարգավորեք տախտակները
Քայլ 4: Կարգավորեք տախտակները
Քայլ 4: Կարգավորեք տախտակները
Քայլ 4: Կարգավորեք տախտակները

Ահա երեք բաղադրիչների միացման սխեման: Արևի որոնիչը գործում է Arduino- ի սեփական հանգույցով և իր սերվո դիրքերը Rasberry Pi- ին ուղարկում սերիական USB պորտի միջոցով: Հեռավորության ընտրովի սենսորը կարող է կցվել թավայի/թեքման piCamera- ի առջևի ՝ թիրախի ավելի ամուր եռանկյունավորում ստեղծելու համար: Այստեղ մենք դրանք շարելու ենք ուղիղ գծով և պարզապես միջինացնելու ենք վեկտորները, որպեսզի դա չպահանջվի:

Չորս սերվո միացված են PCA9685 սերվո վարորդին, որը սնուցվում է արտաքին 5 վ էլեկտրամատակարարմամբ: Սերվոներից երկուսը վերահսկում են թավան և թեքում դեմքը հետևող տեսախցիկի համար, իսկ մնացած երկուսը ՝ տապակը և թեքում հայելու համար:

Քայլ 5: Կոդ

Կոդ
Կոդ

Այս նախագծի ծածկագիրը կարելի է բաժանել երկու մասի ՝ Arduino լուսահսկման ծածկագիրը և պիթոնի դեմքի հետևման/հայելային դիրքի կոդը:

Arduino կոդ:

Այս ծածկագիրը geobruce- ից արևին հետևելու նախագծի մի փոքր փոփոխված տարբերակն է: Այն հիանալի տեղեկատու է արևի հետևման բաղադրիչի մասին ավելին իմանալու համար, և ավելի շատ մանրամասներ կարելի է գտնել այս հրահանգվող էջում: Լույսի ինտենսիվության արժեքները վերցվում են 4 ֆոտո-դիմադրիչներից և միջինացված են ՝ գտնելու ամենապայծառ տարածքը և համապատասխանաբար սպասարկիչները կարգավորելու համար: Այնուհետև մենք գրում ենք servo անկյան արժեքները սերիական նավահանգստում:

Python կոդ:

Այս ծածկագիրը ներառում է բաց CV ՝ դեմքի հետևման տապակի թեքման մեխանիզմ ստեղծելու համար, ինչպես նաև քշում է սպասարկուները հայելու համար: Ձեր Raspberry pi- ում բաց CV- ն ներբեռնելու համար դուք պետք է որոշ քայլեր կատարեք: Դրա համար շատ ռեսուրսներ կան, բայց ինձ շատ է դուր գալիս pyimagesearch- ը: Այս գործընթացի ամբողջական ընթացքը կարելի է գտնել այստեղ: Նշում. Մենք ներբեռնել ենք բաց CV գրադարանները վիրտուալ միջավայր, որի վրա մենք գործարկում ենք ամբողջ ծածկագիրը, եթե որոշեք դա անել, համոզվեք, որ ներբեռնում եք բոլոր կախվածությունները վիրտուալ միջավայրում, որի վրա ծրագիրը գործարկում եք և ոչ բուն Pi- ն:

Երբ ներբեռնեք բաց CV- ն, այս ծածկագիրը նույնպես կպահանջի որոշ այլ կախվածություններ (տեղադրված ձեր գործարկած կոնկրետ միջավայրի վրա) գործարկելու համար.

  • Adafruit ServoKit. Ազնվամորի Pi- ի վրա ներբեռնման գործընթացի ամբողջական էջը կարելի է գտնել այստեղ:
  • իմուտիլներ
  • թմրած
  • gpiozero (եթե օգտագործում եք հեռավորության տվիչ)

Դեմքի հետևման համար սցենարը պահանջում է փաստարկ (-դեմքեր), որը.xml ֆայլ է, որը openCv- ն օգտագործում է դեմքեր գտնելու համար: Դուք ստիպված կլինեք այս ֆայլը տեղադրել նույն գրացուցակում, ինչպես Python սցենարը: Ես այն տրամադրել եմ ներլցումների մեջ և այն կարելի է գտնել նաև այստեղ:

Քայլ 6: Գործարկեք ծածկագիրը

Գործարկելով ծածկագիրը
Գործարկելով ծածկագիրը
Գործարկելով ծածկագիրը
Գործարկելով ծածկագիրը

Երբ միևնույն գրացուցակում ներբեռնեք ամբողջ ծածկագիրը և ստեղծեք ձեր վիրտուալ միջավայրը բաց CV- ով, պատրաստ եք այն գործարկել:

  1. Բացեք հրամանի տողը ձեր pi- ում
  2. Մուտքագրեք աշխատանքային ռեզյումե (կամ ձեր վիրտուալ միջավայրի համար ընտրված ցանկացած անուն)
  3. Փոխեք գրացուցակը այնտեղ, որտեղ պահված են ձեր ֆայլերը (cd (ֆայլերի ուղի))
  4. Վերջին տողը գործարկում է ծրագիրը և բնութագրում է haar cascade ֆայլը: (python Face3.py -դեմքեր haarcascade_frontalface_default.xml)

Գործարկելիս դուք պետք է տեսեք, որ էկրանին հայտնվում է պիկամայի վիդեո հոսքը, և հրամանի տողը կսկսի տպել սերվոյի արժեքները բոլոր վեց սերվերից:

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

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