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

Լազերային և տեսախցիկի միջոցով հեռահար որոնիչ սարքելը `6 քայլ
Լազերային և տեսախցիկի միջոցով հեռահար որոնիչ սարքելը `6 քայլ

Video: Լազերային և տեսախցիկի միջոցով հեռահար որոնիչ սարքելը `6 քայլ

Video: Լազերային և տեսախցիկի միջոցով հեռահար որոնիչ սարքելը `6 քայլ
Video: Finally : Turkey Revealed Its New next-Generation Helicopter 2024, Հունիսի
Anonim
Լազերային և տեսախցիկի միջոցով հեռահար որոնիչի պատրաստում
Լազերային և տեսախցիկի միջոցով հեռահար որոնիչի պատրաստում

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

Նախագիծը հիմնված է այս հոդվածի վրա ՝

Միակ տարբերությունն այն է, որ ես հեռակառավարիչ սարքը կկառուցեմ ՝ օգտագործելով Raspberry Pi Zero W, LCD և Raspberry Pi Camera մոդուլներ: Ես նաև կօգտագործեմ OpenCV ՝ լազերին հետևելու համար:

Ենթադրեմ, որ դուք տեխնիկապես գիտեք, և որ ձեզ հարմար է օգտագործել Python- ը և հրամանի տողը: Այս նախագծում ես օգտագործում եմ Pi- ն անգլուխ ռեժիմով:

Եկ սկսենք!

Քայլ 1: Նյութերի ցանկ

Այս նախագծի համար ձեզ հարկավոր է.

  • էժան 6 մմ 5 մՎտ լազեր
  • 220 Ω դիմադրություն
  • 2N2222A տրանզիստոր կամ համարժեք այլ բան
  • a Raspberry Pi Zero W
  • a Raspberry Pi Camera v2
  • Nokia 5110 LCD էկրան կամ համարժեք
  • որոշ ցատկող լարեր և մի փոքրիկ տախտակ

Ես իմ 3d տպիչով տպեցի մի ջիգ, որը ինձ օգնեց փորձերի ժամանակ: Ես նաև պլանավորում եմ օգտագործել 3D տպիչը ՝ միջակայքի որոնիչի համար ամբողջական պարիսպ կառուցելու համար: Դուք կարող եք լիովին առանց դրա:

Քայլ 2. Կառուցեք լազերային և տեսախցիկի ջիգ

Կառուցելով լազերային և տեսախցիկային ջիգ
Կառուցելով լազերային և տեսախցիկային ջիգ
Կառուցելով լազերային և տեսախցիկային ջիգ
Կառուցելով լազերային և տեսախցիկային ջիգ
Կառուցելով լազերային և տեսախցիկային ջիգ
Կառուցելով լազերային և տեսախցիկային ջիգ

Համակարգը ենթադրում է ֆիքսված հեռավորություն տեսախցիկի ոսպնյակի և լազերային ելքի միջև: Թեստերը հեշտացնելու համար ես տպեցի մի ջիգ, որի մեջ կարող եմ տեղադրել տեսախցիկը, լազերը և լազերային մի փոքր շարժիչ միացում:

Ես օգտագործել եմ տեսախցիկի մոդուլի չափերը `տեսախցիկի համար լեռ կառուցելու համար: Չափումները կատարելու համար ես հիմնականում օգտագործել եմ թվային տրամաչափ և ճշգրիտ քանոն: Լազերի համար ես ստեղծեցի 6 մմ անցք `մի փոքր ամրացմամբ` համոզվելու համար, որ լազերը չի շարժվի: Ես փորձեցի բավականաչափ տեղ պահել, որպեսզի ջիգի հետևի մասում ամրացնեմ մի փոքրիկ տախտակ:

Կառուցելու համար ես օգտագործել եմ Tinkercad- ը, մոդելը կարող եք գտնել այստեղ ՝

Լազերային ոսպնյակի կենտրոնի և տեսախցիկի ոսպնյակի կենտրոնի միջև կա 3.75 սմ հեռավորություն:

Քայլ 3. Լազերային և LCD էկրան վարելը

Լազերային և LCD- ի վարում
Լազերային և LCD- ի վարում
Լազերային և LCD- ի վարում
Լազերային և LCD- ի վարում

Ես հետևեցի այս ձեռնարկին ՝ https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi ՝ LCD էկրանը Raspberry Pi Zero- ով քշելու համար: /Boot/config.txt ֆայլը խմբագրելու փոխարեն կարող եք միացնել SPI ինտերֆեյսը ՝ օգտագործելով sudo raspi-config հրամանի տողի միջոցով:

Ես օգտագործում եմ Raspberry Pi Zero- ն անգլուխ ռեժիմում `օգտագործելով վերջին ՝ ամսաթվին, Raspbian Stretch- ը: Ես չեմ լուսաբանի այս Instructable- ի տեղադրումը, բայց կարող եք հետևել այս ուղեցույցին ՝ https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- հրամանի տող-կամ-օգտագործելով-ցանցը -97f065af722e

Պայծառ լազերային կետ ունենալու համար ես օգտագործում եմ Pi- ի 5V ռելսը: Դրա համար ես տրանզիստոր (2N2222a կամ համարժեք) օգտագործելու եմ GPIO- ի միջոցով լազերը վարելու համար: Տրանզիստորի հիմքում գտնվող 220 Ω դիմադրությունը թույլ է տալիս բավարար հոսանք լազերային միջով: Ես օգտագործում եմ RPi. GPIO- ն ՝ Pi GPIO- ն շահարկելու համար: Տրանզիստորի հիմքը միացրեցի GPIO22 կապին (15 -րդ փին), թողարկողը գետնին, իսկ կոլեկտորը ՝ լազերային դիոդին:

Մի մոռացեք միացնել տեսախցիկի ինտերֆեյսը `օգտագործելով sudo raspi-config հրամանի տողի միջոցով:

Դուք կարող եք օգտագործել այս ծածկագիրը ՝ ձեր կարգավորումը ստուգելու համար ՝

Եթե ամեն ինչ լավ է ընթանում, ապա պետք է ունենաք dot-j.webp

Կոդում մենք կարգավորում ենք տեսախցիկը և GPIO- ն, այնուհետև միացնում ենք լազերը, գրավում ենք պատկերը և անջատում ենք լազերը: Քանի որ ես գործարկում եմ Pi- ն անգլուխ ռեժիմով, ես պետք է պատճենեմ իմ պատկերները իմ համակարգչից մինչև դրանք ցուցադրելը:

Այս պահին ձեր սարքավորումները պետք է կազմաձևվեն:

Քայլ 4. Լազերի հայտնաբերում OpenCV- ի միջոցով

Նախ, մենք պետք է տեղադրենք OpenCV- ն Pi- ի վրա: Դուք հիմնականում ունեք դա անելու երեք եղանակ: Դուք կարող եք կամ տեղադրել հին փաթեթավորված տարբերակը բն. Դուք կարող եք կազմել ձեր ուզած տարբերակը, սակայն այս դեպքում տեղադրման ժամանակը կարող է հասնել մինչև 15 ժամ, իսկ դրա մեծ մասը `իրական կազմման համար: Կամ, իմ նախընտրած մոտեցումը, կարող եք օգտագործել Pi Zero- ի համար նախապես կազմված տարբերակ, որը տրամադրվում է երրորդ կողմի կողմից:

Քանի որ այն ավելի պարզ և արագ է, ես օգտագործեցի երրորդ կողմի փաթեթ: Տեղադրման քայլերը կարող եք գտնել այս հոդվածում ՝ https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ Ես փորձեցի շատ այլ աղբյուրներ, բայց դրանց փաթեթները արդիական չէին:

Լազերային ցուցիչին հետևելու համար ես թարմացրեցի կոդը ՝ https://github.com/bradmontgomery/python-laser-tracker- ից ՝ USB սարքի փոխարեն Pi տեսախցիկի մոդուլից օգտվելու համար: Դուք կարող եք ուղղակիորեն օգտագործել ծածկագիրը, եթե չունեք Pi ֆոտոխցիկի մոդուլ և ցանկանում եք օգտագործել USB տեսախցիկ:

Ամբողջական կոդը կարող եք գտնել այստեղ ՝

Այս կոդը գործարկելու համար ձեզ հարկավոր է տեղադրել Python փաթեթները ՝ բարձ և picamera (sudo pip3 տեղադրել բարձ picamera):

Քայլ 5. Range Finder- ի ճշգրտում

Range Finder- ի ճշգրտում
Range Finder- ի ճշգրտում
Range Finder- ի ճշգրտում
Range Finder- ի ճշգրտում
Range Finder- ի ճշգրտում
Range Finder- ի ճշգրտում

Սկզբնական հոդվածում հեղինակը ձևավորել է չափագրման ընթացակարգ `y կոորդինատները իրական հեռավորության փոխակերպելու համար անհրաժեշտ պարամետրերը: Ես օգտագործեցի իմ հյուրասենյակի սեղանը ՝ չափագրումների և հին արհեստի համար: Ամեն 10 սմ -ի սահմաններում ես նշում էի x և y կոորդինատները աղյուսակի մեջ. լազերը ճիշտ է հետևել: Եթե դուք օգտագործում եք կանաչ լազեր կամ եթե ձեր լազերը ճիշտ չի հետևվում, ապա ձեզ հարկավոր է համապատասխանաբար կարգավորել ծրագրի երանգը, հագեցվածությունը և արժեքի շեմը:

Չափման փուլն ավարտվելուց հետո ժամանակն է փաստացի հաշվարկել պարամետրերը: Հեղինակի պես ես օգտագործեցի գծային հետընթաց; իրականում Google Spreadsheet- ը դա արեց ինձ համար: Այնուհետև ես նորից օգտագործեցի այդ պարամետրերը `մոտավոր հեռավորությունը հաշվարկելու և այն փաստացի հեռավորության համեմատ ստուգելու համար:

Այժմ ժամանակն է պարամետրերը ներարկել հեռաչափի ծրագրում `հեռավորությունները չափելու համար:

Քայլ 6: Հեռավորությունների չափում

Հեռավորությունների չափում
Հեռավորությունների չափում

Https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c ծածկագրում ես թարմացրել եմ HEIGHT, GAIN և OFFSET փոփոխականները ՝ ըստ չափագրման չափումների: Ես օգտագործել եմ հեռավորության բանաձևը սկզբնական հոդվածում `հեռավորությունը գնահատելու համար և տպել եմ հեռավորությունը` օգտագործելով LCD էկրանը:

Կոդը նախ կկարգավորի տեսախցիկը և GPIO- ն, այնուհետև մենք ցանկանում ենք լուսավորել LCD լուսավորությունը `չափումները ավելի լավ տեսնելու համար: LCD մուտքը միացված է GPIO14- ին: Ամեն 5 վայրկյանը մեկ կամ ավելի, մենք.

  1. միացնել լազերային դիոդը
  2. ֆիքսել պատկերը հիշողության մեջ
  3. անջատել լազերային դիոդը
  4. հետևեք լազերին ՝ օգտագործելով HSV տիրույթի զտիչները
  5. գրեք ստացված պատկերը սկավառակի վրա ՝ կարգաբերման նպատակով
  6. Հաշվիր հեռավորությունը ՝ հիմնվելով y կոորդինատի վրա
  7. գրեք հեռավորությունը LCD էկրանին:

Ինչևէ, միջոցառումները չափազանց ճշգրիտ և բավականաչափ ճշգրիտ են իմ օգտագործման դեպքում, բարելավումների համար շատ տեղ կա: Օրինակ, լազերային կետը շատ վատ որակի է, և լազերային գիծը իրականում կենտրոնացված չէ: Ավելի լավ որակի լազերային օգնությամբ տրամաչափման քայլերն ավելի ճշգրիտ կլինեն: Նույնիսկ տեսախցիկն իրականում այնքան էլ լավ տեղադրված չէ իմ ջիգում, այն թեքվում է դեպի ներքև:

Ես կարող եմ նաև բարձրացնել հեռաչափի լուծաչափը ՝ տեսախցիկը պտտելով 90º -ով ՝ օգտագործելով լրիվ և բարձրացնել լուծաչափը մինչև տեսախցիկի կողմից ապահովված առավելագույնը: Ներկայիս իրականացմամբ մենք սահմանափակվում ենք 0 -ից 384 պիքսել տիրույթով, մենք կարող ենք վերին սահմանը հասցնել 1640 -ի, 4 անգամ ներկայիս լուծաչափից: Հեռավորությունը կլինի նույնիսկ ավելի ճշգրիտ:

Որպես հետագա գործողություններ, ես պետք է աշխատեմ վերը նշածս ճշգրիտ բարելավումների վրա և պարիսպ կառուցեմ հեռաչափաչափի համար: Պարիսպը պետք է ճշգրիտ խորություն ունենա `պատից պատ չափումները հեշտացնելու համար:

Ընդհանուր առմամբ, ընթացիկ համակարգը բավական է ինձ համար և կփրկի ինձ մի քանի դոլար ՝ կազմելով իմ տան ծրագիրը:

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