Բովանդակություն:
- Քայլ 1: Նյութերի ցանկ
- Քայլ 2. Կառուցեք լազերային և տեսախցիկի ջիգ
- Քայլ 3. Լազերային և LCD էկրան վարելը
- Քայլ 4. Լազերի հայտնաբերում OpenCV- ի միջոցով
- Քայլ 5. Range Finder- ի ճշգրտում
- Քայլ 6: Հեռավորությունների չափում
Video: Լազերային և տեսախցիկի միջոցով հեռահար որոնիչ սարքելը `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Ես ներկայումս պլանավորում եմ ներքին աշխատանքներ հաջորդ գարնանը, բայց քանի որ նոր տուն եմ ձեռք բերել, ես ոչ մի տան ծրագիր չունեմ: Ես սկսեցի չափել պատից մինչև պատի հեռավորությունները ՝ օգտագործելով քանոն, բայց դա դանդաղ է և հակված է սխալների: Ես մտածեցի հեռակառավարման ցուցիչ գնելու մասին ՝ գործընթացը հեշտացնելու համար, բայց հետո գտա մի հին հոդված ՝ լազերի և տեսախցիկի միջոցով սեփական հեռաչափի ստեղծման մասին: Ինչպես պարզվում է, ես իմ արտադրամասում ունեմ այդ բաղադրիչները:
Նախագիծը հիմնված է այս հոդվածի վրա ՝
Միակ տարբերությունն այն է, որ ես հեռակառավարիչ սարքը կկառուցեմ ՝ օգտագործելով 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 էկրան վարելը
Ես հետևեցի այս ձեռնարկին ՝ 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- ի ճշգրտում
Սկզբնական հոդվածում հեղինակը ձևավորել է չափագրման ընթացակարգ `y կոորդինատները իրական հեռավորության փոխակերպելու համար անհրաժեշտ պարամետրերը: Ես օգտագործեցի իմ հյուրասենյակի սեղանը ՝ չափագրումների և հին արհեստի համար: Ամեն 10 սմ -ի սահմաններում ես նշում էի x և y կոորդինատները աղյուսակի մեջ. լազերը ճիշտ է հետևել: Եթե դուք օգտագործում եք կանաչ լազեր կամ եթե ձեր լազերը ճիշտ չի հետևվում, ապա ձեզ հարկավոր է համապատասխանաբար կարգավորել ծրագրի երանգը, հագեցվածությունը և արժեքի շեմը:
Չափման փուլն ավարտվելուց հետո ժամանակն է փաստացի հաշվարկել պարամետրերը: Հեղինակի պես ես օգտագործեցի գծային հետընթաց; իրականում Google Spreadsheet- ը դա արեց ինձ համար: Այնուհետև ես նորից օգտագործեցի այդ պարամետրերը `մոտավոր հեռավորությունը հաշվարկելու և այն փաստացի հեռավորության համեմատ ստուգելու համար:
Այժմ ժամանակն է պարամետրերը ներարկել հեռաչափի ծրագրում `հեռավորությունները չափելու համար:
Քայլ 6: Հեռավորությունների չափում
Https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c ծածկագրում ես թարմացրել եմ HEIGHT, GAIN և OFFSET փոփոխականները ՝ ըստ չափագրման չափումների: Ես օգտագործել եմ հեռավորության բանաձևը սկզբնական հոդվածում `հեռավորությունը գնահատելու համար և տպել եմ հեռավորությունը` օգտագործելով LCD էկրանը:
Կոդը նախ կկարգավորի տեսախցիկը և GPIO- ն, այնուհետև մենք ցանկանում ենք լուսավորել LCD լուսավորությունը `չափումները ավելի լավ տեսնելու համար: LCD մուտքը միացված է GPIO14- ին: Ամեն 5 վայրկյանը մեկ կամ ավելի, մենք.
- միացնել լազերային դիոդը
- ֆիքսել պատկերը հիշողության մեջ
- անջատել լազերային դիոդը
- հետևեք լազերին ՝ օգտագործելով HSV տիրույթի զտիչները
- գրեք ստացված պատկերը սկավառակի վրա ՝ կարգաբերման նպատակով
- Հաշվիր հեռավորությունը ՝ հիմնվելով y կոորդինատի վրա
- գրեք հեռավորությունը LCD էկրանին:
Ինչևէ, միջոցառումները չափազանց ճշգրիտ և բավականաչափ ճշգրիտ են իմ օգտագործման դեպքում, բարելավումների համար շատ տեղ կա: Օրինակ, լազերային կետը շատ վատ որակի է, և լազերային գիծը իրականում կենտրոնացված չէ: Ավելի լավ որակի լազերային օգնությամբ տրամաչափման քայլերն ավելի ճշգրիտ կլինեն: Նույնիսկ տեսախցիկն իրականում այնքան էլ լավ տեղադրված չէ իմ ջիգում, այն թեքվում է դեպի ներքև:
Ես կարող եմ նաև բարձրացնել հեռաչափի լուծաչափը ՝ տեսախցիկը պտտելով 90º -ով ՝ օգտագործելով լրիվ և բարձրացնել լուծաչափը մինչև տեսախցիկի կողմից ապահովված առավելագույնը: Ներկայիս իրականացմամբ մենք սահմանափակվում ենք 0 -ից 384 պիքսել տիրույթով, մենք կարող ենք վերին սահմանը հասցնել 1640 -ի, 4 անգամ ներկայիս լուծաչափից: Հեռավորությունը կլինի նույնիսկ ավելի ճշգրիտ:
Որպես հետագա գործողություններ, ես պետք է աշխատեմ վերը նշածս ճշգրիտ բարելավումների վրա և պարիսպ կառուցեմ հեռաչափաչափի համար: Պարիսպը պետք է ճշգրիտ խորություն ունենա `պատից պատ չափումները հեշտացնելու համար:
Ընդհանուր առմամբ, ընթացիկ համակարգը բավական է ինձ համար և կփրկի ինձ մի քանի դոլար ՝ կազմելով իմ տան ծրագիրը:
Խորհուրդ ենք տալիս:
Սկսելով երկար հեռահար անլար ջերմաստիճանի և թրթռման տվիչների միջոցով `7 քայլ
Սկսելով երկար հեռահար անլար ջերմաստիճանի և թրթռման սենսորների օգտագործմամբ. Երբեմն թրթռումը լուրջ խնդիրների պատճառ է դառնում բազմաթիվ ծրագրերում: Մեքենայի լիսեռներից և առանցքակալներից մինչև կոշտ սկավառակի աշխատանքը, թրթռումը առաջացնում է մեքենայի վնասում, վաղ փոխարինում, ցածր կատարողականություն և մեծ հարված հասցնում ճշգրտությանը: Մոնիտորինգ
C կոդի միջոցով հաշվիչ սարքելը `14 քայլ
Հաշվիչ պատրաստելը C կոդի միջոցով. Բարի գալուստ, որը, հավանաբար, կլինի ձեր առաջին ծածկագիրը, դուք կգրեք հեշտ ծրագիր, որը ստեղծում է պարզ հաշվիչ `օգտագործելով ծրագրավորման լեզուն` «C»: Նշում. Եթե պատկերները հեռու են կամ փակվում են, խնդրում ենք սեղմել դրանց վրա `ամբողջական պատկերը դիտելու համար
Ուլտրաձայնային հեռահար որոնիչ ձեռնարկ ՝ Arduino- ով և LCD- ով ՝ 5 քայլ
Ուլտրաձայնային հեռահար որոնիչ ձեռնարկ ՝ Arduino- ի և LCD- ի հետ. Այնուամենայնիվ, ես միշտ գտել եմ, որ այս մյուս հրահանգները հաճախ բաց են թողնում այն քայլերը, որոնք անհասկանալի են սկսել
Ուլտրաձայնային հեռահար որոնիչ դռներով. 7 քայլ (նկարներով)
Ուլտրաձայնային հեռահար որոնիչ ՝ դռներով Այս ուսանելիի ուշադրության կենտրոնում կլինի այն, թե ինչպես կարող են դռներն ու ուլտրաձայնային միջակայքի որոնիչները միասին աշխատել, մասնավորապես, թե ինչպես դրանք կարող են օգտագործվել հայտնաբերելու համար, երբ
Trekking Pole Monopod փոքր տեսախցիկի/տեսախցիկի համար `4 քայլ
Rekբոսանքների բևեռի միապաղաղ փոքր տեսախցիկի/տեսախցիկի համար. Ես սիրում եմ շատ լուսանկարներ անել արշավելիս, բայց իմ եռոտանը փոքր-ինչ ծանր է ցանկացած լուրջ արշավների համար, և իմ գորիլա-պատանի ոճի եռոտանին շատ ժամանակ է պահանջվում `ճիշտ տեղում հայտնվելու համար: և շատ կայուն չէ (ես պետք է ավելի լավը գնեի): Այս պարզ գ