Բովանդակություն:
- Պարագաներ
- Քայլ 1. Ուլտրաձայնային VS ինֆրակարմիր ցուցիչ
- Քայլ 2: Սխեմատիկ
- Քայլ 3. Սենսորային բնութագրական
- Քայլ 4: Սերիական հաղորդակցություն
- Քայլ 5: Qt դիմում
- Քայլ 6: Arduino կոդ
Video: Ինֆրակարմիր ռադիոլոկացիոն սարք Arduino- ով `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Այս փոքրիկ նախագծում ես կցանկանայի ցույց տալ ձեզ, թե ինչպես կարող եք ստեղծել պարզ Radar տանը Arduino- ի միջոցով: Ինտերնետում կան բազմաթիվ նմանատիպ նախագծեր, բայց դրանք բոլորը օգտագործում են ուլտրաձայնային տվիչ ՝ հեռավորությունը չափելու համար: Այս նախագծում ես օգտագործում եմ ինֆրակարմիր տվիչ ՝ հեռավորության չափման համար:
Իմ նպատակն է դրանով ստեղծել շատ պարզ և էժան LIDAR համակարգ և ներդնել քարտեզագրման սարք:
Պարագաներ
- Arduino (ես օգտագործել եմ Maple Mini)
- Կտրուկ հեռավորության սենսոր (ես օգտագործել եմ Sharp GP2Y0A02YK0F)
- Միկրո սերվո (9 գ)
- Հացաթուղթ, լարեր
- Լրացուցիչ ՝ 4.7k Resistor, 100nF կոնդենսատոր
Քայլ 1. Ուլտրաձայնային VS ինֆրակարմիր ցուցիչ
Ուլտրաձայնային և ինֆրակարմիր հեռավորության տվիչների միջև հիմնական տարբերությունն այն է, որ ուլտրաձայնային տվիչը չափում է հեռավորությունը ավելի լայն տիրույթում: Հետևաբար, այն ի վիճակի չէ ճշգրիտ տեղորոշել խոչընդոտի դիրքը: Դա նշանակում է, որ այն չափում է ամենամոտ օբյեկտի հեռավորությունը, որը գտնվում է ~ +-30 ° անկյունային տիրույթի ներսում:
Իհարկե, դա չի նշանակում, որ Sharp սենսորն ավելի լավն է: Երբեմն այս հատկությունը կարող է շատ օգտակար լինել (օրինակ ՝ անօդաչու թռչող սարքերը օգտագործում են գետնից բարձրությունը չափելու համար): Իշտ ընտրությունը լիովին կախված է ձեր նախագծի պահանջներից:
Քայլ 2: Սխեմատիկ
Շատ պարզ է մասերի միջև կապ հաստատելը: Ընտրեք PWM ելք և անալոգային մուտք ձեր Arduino տախտակի վրա և միացրեք Servo և Sharp հեռավորության տվիչները այդ կապումներին: Այս նպատակով ես օգտագործել եմ հետևյալ քորոցները.
- PA0: Անալոգային մուտքագրում Սուր հեռավորության տվիչի համար
- PA9: PWM ելք Servo- ի համար
Երբեմն Sharp IR սենսորը կարող է ունենալ աղմկոտ ելք, հետևաբար, դրա վրա պետք է տեղադրեք պարզ Low Pass զտիչ: Անալոգային քորոցի վրա աղմուկը նվազեցնելու համար ես օգտագործել եմ 4.7k դիմադրություն և 100nF կոնդենսատոր: Բացի այդ, ես նաև զտեցի ծածկագրում չափված արժեքը ՝ այն մի քանի անգամ կարդալով և հաշվարկելով միջինը:
Քայլ 3. Սենսորային բնութագրական
Unfortunatelyավոք, օգտագործված ինֆրակարմիր հեռավորության տվիչը ունի ոչ գծային բնութագիր: Դա նշանակում է, որ հեռավորությունը ստանալու համար բավական չէ չափված ADC արժեքը բազմապատկել հաստատուն արժեքով և դրան ավելացնել մեկ այլ հաստատուն արժեք:
Չնայած սենսորի տվյալների թերթիկն ապահովում է բնութագիրը, ես նախընտրում եմ այն ինքս չափել կոնկրետ նախագծում (դա կարող է կախված լինել օգտագործվող լարումից): Դրա համար ես չափված ADC արժեքից և հեռավորությունից զույգեր պատրաստեցի յուրաքանչյուր 10 սմ -ի համար: (Իմ տվիչը կարողացավ չափել ճիշտ հեռավորությունը 12 սմ -ից):
Ես օգտագործել եմ այս զույգերը ծածկագրում ՝ գծային միջերեսման միջոցով ճիշտ հեռավորություն ստանալու համար:
Փաստաթղթի վերջում դուք կգտնեք պարզ Arduino կոդ ՝ բնութագրիչ չափման ընթացքում ADC արժեքը չափելու համար:
Քայլ 4: Սերիական հաղորդակցություն
Ես օգտագործեցի սերիական հաղորդակցություն ՝ չափված անկյուն-հեռավորության արժեքները համակարգչին ուղարկելու համար: Քանի որ ես պետք է ուղարկեմ բազմաթիվ բայթեր և տարբեր տեսակի հաղորդագրություններ, ես մշակեցի պարզ հաղորդակցության արձանագրություն:
Այս պրոկոտոլը հնարավորություն է տալիս ընդհանուր ձևով սահմանել հաղորդագրությունների տարբեր տեսակներ: Այս նախագծում ես օգտագործեցի հաղորդագրությունների 2 տեսակ.
- Պարամետրեր. Օգտագործվում է Arduino- ում սահմանված պարամետրեր համակարգչային հավելվածին ուղարկելու համար, ինչպիսիք են առավելագույն հեռավորությունը և փուլում խոչընդոտների քանակը:
- Խոչընդոտ. Օգտագործվում է հայտնաբերված խոչընդոտ ուղարկելու համար: Այն որոշվում է սերվոյի անկյունով և չափված հեռավորությամբ: X-y դիրքը կհաշվարկվի համակարգչի կիրառմամբ:
Քայլ 5: Qt դիմում
Arduino- ի հետ շփվելու և ռադարի նման չափված կետերը գծելու համար ես Qt (C ++) համակարգչային ծրագիր եմ պատրաստել: Այն ստանում է որոշ պարամետրեր (սահմանված է Arduino- ով) և չափված հեռավորության կետերը:
Կարող եք ներբեռնել նաև ծրագիրը և դրա սկզբնաղբյուրը:
Քայլ 6: Arduino կոդ
Կոդի վերևում կարող եք որոշ պարամետրեր հարմարեցնել մակրոներով:
Նկատի ունեցեք, որ եթե փոխեք Sharp հեռավորության տվիչի բնութագիրը, դուք պետք է փոփոխեք distAdcMap զանգվածի արժեքները:
- InfraRadar.c: Ռադիոլոկացիոն կոդ: Պատճենեք և տեղադրեք ձեր Arduino նախագծում:
- InfraRadarMeasurement.c: Բնութագրական չափման կոդ: Պատճենեք և տեղադրեք ձեր Arduino նախագծում: Օգտագործեք Serial Console ՝ ADC արժեքները ստուգելու համար:
Խորհուրդ ենք տալիս:
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ով. 8 քայլ (նկարներով)
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ի հետ. . IR ազդանշանը
ASS սարք (Հակասոցիալական սոցիալական սարք) ՝ 7 քայլ
ASS սարք (Հակասոցիալական սոցիալական սարք). Ասեք, որ դուք այն մարդն եք, ով սիրում է մարդկանց կողքին լինել, բայց չի սիրում, որ նրանք շատ մոտենան: Դուք նաև հաճույք եք պատճառում մարդկանց և դժվարանում եք ոչ -ին ասել մարդկանց: Այսպիսով, դուք չգիտեք, թե ինչպես ասել նրանց հետ կանգնել: Դե, մուտքագրեք - ASS սարքը: Y
Ինֆրակարմիր տեսախցիկով ինքնավար անօդաչու սարք ՝ առաջին արձագանքողներին օգնելու համար. 7 քայլ
Ինֆրակարմիր տեսախցիկով ինքնաթիռ ՝ առաջին արձագանքողներին օգնելու համար Բնական աղետները ներառում են երկրաշարժեր, ցունամի, հրաբխային ժայթքումներ, սողանքներ, փոթորիկներ
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ - IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. 4 քայլ
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ | IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. Բարև ձեզ, այս հրահանգների մեջ մենք կդարձնենք ոչ կոնտակտային ջերմաչափ arduino- ով: Քանի որ երբեմն հեղուկի/պինդի ջերմաստիճանը չափազանց բարձր է կամ ցածր, ապա դժվար է դրա հետ կապ հաստատել և կարդալ այդ դեպքում ջերմաստիճանը
PiAware ռադիոլոկացիոն կրպակ. 19 քայլ (նկարներով)
PiAware ռադիոլոկացիոն կրպակ. Այս տարվա սկզբին ես տեղեկացա մի շատ հետաքրքիր ընկերության մասին, որը կոչվում է FlightAware, որն առաջարկում է ինչպես մասնավոր, այնպես էլ առևտրային ինքնաթիռների թռիչքների հետևում ամբողջ աշխարհում: Որպես իր ծառայության մաս, Flight Aware- ը մեծապես ապավինում է իր կոլուդսորսինգին