Բովանդակություն:
- Քայլ 1: Գործիքներ և մասեր
- Քայլ 2. Հացահատիկի խորհուրդը կոտրելը
- Քայլ 3: 80ոդում 0805 LED- ը
- Քայլ 4. N-Channel MOSFET- ի զոդում
- Քայլ 5. Սենսորների զանգվածի միացում
- Քայլ 6: Սենսորային զանգվածի լրացում
- Քայլ 7: Տվյալների ստացում
- Քայլ 8: Լազերային հետքեր (ցուցադրում)
- Քայլ 9: Հայացք Poopeyes- ին (onstուցադրություն)
Video: Ստացիոնար ռադիոտեղորոշիչ (LIDAR) զանգված Arduino- ի հետ. 10 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Երբ ես կառուցում եմ երկոտանի ռոբոտ, ես միշտ մտածում էի ունենալ ինչ -որ հիանալի սարք, որը կարող է հետևել իմ հակառակորդին և դրանով գրոհային շարժումներ կատարել: Այստեղ արդեն գոյություն ունեն ռադարային/լիդար նախագծերի փաթեթներ: Այնուամենայնիվ, իմ նպատակի համար կան որոշ սահմանափակումներ.
- Ուլտրաձայնային ալիքների տվիչների մոդուլները բավականին մեծ են: Յուրաքանչյուր ռոբոտ նման կլինի WALL-E- ի:
- Ներկայիս ռադիոտեղորոշիչ նախագծերը բոլորը ներառում են սենսոր (կամ ուլտրաձայնային ալիքներ, IR, լազերային…) և մեջտեղում սերվո շարժիչ: Շրջակա միջավայրի սկանավորումը պահանջում է, որ սերվոն տեղափոխվի կողք կողքի: Իրերը հետ ու առաջ տեղափոխելը ստեղծում է թափի փոփոխություններ, ինչը վատ է երկկողմանի հավասարակշռության և քայլելու համար:
- Սկանավորման հաճախականությունը սահմանափակվում է սերվոյի արագությամբ: Հավանաբար, կարող են հասնել միայն մի քանի հերց: Նույնիսկ եթե սկանավորման հաճախականությունը կարող է բարձրացվել ինչ-որ գերծառայողի կողմից, դա կհանգեցնի ծանր թրթռանքի:
- [Կենտրոնական servo motor - ցուցիչ] դասավորությունը նույնպես սահմանափակում է տեղադրման և դիզայնի դիրքը: Դժվար է նման բան տեղադրել, քան գլուխը: Ինչն իմ երկոտանի տեսքը դարձնում է ամեն անգամ թափահարող գլուխ WALL-E- ի տեսք: Լավ չէ!
- [Servo-sensor] դասավորությունը կարող է նաև կառուցվել որպես [շարժիչ-տվիչ] ոճ: Սենսորը (կամ տվիչները) անընդհատ պտտվում է շարժիչի առանցքի երկայնքով: Սա կարող է վերացնել թափի շարժումները և ցածր սկան հաճախականության խնդիրները, բայց ոչ իրանի նախագծման սահմանափակումը: Լարերի հետ կապված դժվարությունները նույնպես զգալիորեն կաճեն:
Որոնելուց հետո ST- ի այս փոքրիկ սենսորը VL53L0X- ը ցայտեց աչքերիս մեջ: Պահանջելով «Աշխարհի ամենափոքր» թռիչքի ժամանակի չափման սենսոր ՝ չափսերն ընդամենը 4.4 x 2.4 x 1.0 մմ են: Հատկանշվում է
- Չիպային IR լազերային թողարկողի և դետեկտորի վրա
- Մինչև 2 մ հեռավորություն (1.2 մ արագ ռեժիմում)
- Programրագրավորվող I2C հասցե
- GPIO ընդհատման ելքային քորոց
- Աչքի համար անվտանգ
Այս բոլոր հատուկ հատկանիշները միասին թույլ տվեցին ինձ հաղթահարել վերը նշված խնդիրները, եթե VL53L0X սենսորների զանգվածը կարողանա աշխատել: Ի սկզբանե, ես կարծում էի, որ այս ռադարը կոչվելու է պինդ վիճակի ռադար, բայց պարզեցի, որ այս տերմինը օգտագործվում էր այլ բանի համար: Հետևաբար վերնագրում «ստացիոնար» բառը նշանակում է, որ այս ռադիոտեղորոշիչում շարժական մասեր չկան: Բացի այդ, մինչդեռ LIDAR- ը (լույսի հայտնաբերում և ընդգրկում) այս չիպի տեխնիկապես ճիշտ տերմինն է, RADAR- ը այստեղ նշվում է որպես ավելի ընդհանուր տերմին:
Պատճառը, թե ինչու են ծրագրավորվող I2C հասցեն և GPIO ելքային կապը կարևոր այս նախագծի համար, ավելի ուշ բացատրվում է:
Քայլ 1: Գործիքներ և մասեր
Գործիքներ
Այս նախագծում պահանջվում են հետևյալ գործիքները.
- Sոդման երկաթ
- Helpingոդում օգնող ձեռքերը
- Dupont սեղմիչ գործիք
- 1,5 մմ վեցանկյուն վարորդ
- Մետաղական ծածկույթի հեռացման գործիք
- Մետաղալար կտրիչ
- Տաք սոսինձ ատրճանակ
- Պինցետ
- Խոշորացույց (ձեր հեռախոսի ֆիզիկական կամ հավելվածներ)
- Հարթ քթի տափակաբերան աքցան
Մասեր
Այս նախագծում օգտագործվում են հետևյալ մասերը.
- 10x VL53L0X GY-530 ճեղքման տախտակներ
- Arduino (Uno, Nano, Mega, Zero, Mini,… և այլն)
- Հացաթուղթ և հացաթխման մետաղալարեր
- AWG #26 լարեր ՝ տարբեր գույներով
- AWG #30 մեկ միջուկային մետաղալար
- 5x Dupont արական միակցիչներ
- 5x Մեկ կապում Dupont- ի պատյաններ
- 10x 3D տպագրությամբ փեղկավոր տախտակի պատյաններ
- 1x 3D տպագիր շրջանաձև շրջանակ
- 10x M2x10 հարթ գլխով պտուտակներ
- 10x 0804 LED (Կապույտը վերափոխված է)
- 10x SOT-23 AO3400 N-Channel MOSFET
- Փոքր կոնդենսատոր (10 ~ 100uF)
Breakout տախտակ
VL53L0X ջարդման տախտակը, որը ես օգտագործել եմ, GY-530 է: Կան նաև Adafruit և Pololu տարբերակները: Եթե դա իրագործելի է, ես խորհուրդ եմ տալիս օգտագործել Adafruit- ը կամ Pololu- ի արտադրանքը, քանի որ դրանք հիանալի արտադրանք են ստեղծում, հիանալի ձեռնարկներ և հիանալի ծրագրային գրադարաններ: Ես փորձարկեցի Adafruit- ի VL53L0X գրադարանում և օգտագործեցի Pololu- ի VL53L0X գրադարանի փոփոխված տարբերակը:
Dupont միակցիչներ
The dupont միակցիչները օգտագործվում են breadboard- ի համար: Դուք կարող եք օգտագործել ցանկացած այլ տեսակի կապ, որը դուք ունեք:
Պտուտակներ և 3D տպագիր մասեր
M2 պտուտակները, ամրակները և շրջանաձև շրջանակը օգտագործվում են տվիչները շրջանաձև դասավորության մեջ տեղադրելու համար: Դուք կարող եք օգտագործել որևէ այլ մեթոդ, օրինակ ՝ տախտակներ, օրինակելի անտառներ, կավ կամ նույնիսկ տաք սոսինձ դրանք բանկայի վրա:
Քայլ 2. Հացահատիկի խորհուրդը կոտրելը
Հայտնաբերման կոն
Ես օգտագործել եմ մեկ մոդուլ `հայտնաբերման կոնը գծելու համար: Որպես թիրախ օգտագործելով հիմնականում 3D տպագիր ռոբոտ: Հեռավորությունը ցուցադրվում է լուսադիոդային էկրանին և չափվում է կոպիտ: Չափված տվյալները գրանցվում են Microsoft Excel ֆայլում և օգտագործվում են կորի հարմարեցման գործառույթում: Ամենալավ տեղավորումը բնական լոգարիթմի կորն է ՝ 3 սմ -ից մինչև 100 սմ արդյունավետ հեռավորությամբ:
60 սմ -ով, մեկ սենսորի հայտնաբերման կորը մոտ 22 սմ է: 20 սմ լայնությամբ թիրախով ռադարային զանգվածի համար 10 ~ 15 աստիճանի շրջանաձև տարանջատումը պետք է տա սկանավորման ընդունելի լուծում:
I2C հասցե
Մինչ VL53L0X I2C սարքի հասցեն ծրագրավորվող է, սակայն XSHUT քորոցի ամբողջական վերահսկումը պահանջվում է միկրոհսկիչի կողմից: Դա անելու հաջորդականությունը հետևյալն է.
- Էլեկտրաէներգիան կիրառվում է AVDD- ի վրա:
- Բոլոր VL53L0X չիպերը բերվում են Hw Standby (վերակայման) վիճակի ՝ իրենց բոլոր XSHUT կապումներն իջեցնելով OWԱՐ:
- Յուրաքանչյուր չիպը մեկ -մեկ հանվում է վերականգնման վիճակից: Բեռնաթափումից հետո լռելյայն I2C հասցեն 0x52 է:
- Չիպի հասցեն փոխվում է նոր հասցեի I2C հրամանի միջոցով: Օրինակ, 0x52- ը փոխվեց 0x53- ի:
- Կրկնեք 3 և 4 քայլերը բոլոր չիպերի համար:
Տեսականորեն, նույն ավտոբուսում 7 բիթ հասցեների տիրույթի համար կարելի է վարել առավելագույնը 126 միավոր: Այնուամենայնիվ, գործնականում ավտոբուսի հզորությունը և միկրոկառավարիչի խորտակման ընթացիկ սահմանափակումը կարող են/պետք է սահմանափակեն սարքի առավելագույն թիվը:
Նոր I2C հասցեն չի պահվում VL53L0X չիպում `անջատման կամ վերակայման դեպքում: Այսպիսով, այս գործընթացը պետք է իրականացվի մեկ անգամ ամեն մի ուժի մեջ մտնելուց հետո: Սա նշանակում է, որ ռադարային զանգվածի յուրաքանչյուր միավորի համար պահանջվում է մեկ թանկարժեք քորոց: Սա չափազանց անբարյացակամ է էլեկտրագծերի և կապի սպառման համար ՝ 10+ կամ 20+ միավոր ունեցող ռադիոտեղորոշիչ գոտու համար:
Ինչպես նշվեց STEP1- ում, բախտավոր է, որ VL53L0X չիպի վրա կա GPIO1 կապ, որն ի սկզբանե օգտագործվում էր ընդհատման համար, կարող է կատարել այդ աշխատանքը:
GPIO-XSHUTN երիցուկի շղթա
GPIO- ի ելքը բեռնման ժամանակ բարձր դիմադրողականության վիճակում է, իսկ ակտիվ արտահոսքը բաց է մինչև ցածր: GPIO և XSHUT կապանքները բարձր են քաշվում դեպի AVDD GY-530 ճեղքման տախտակի վրա, ինչպես առաջարկվում է տվյալների թերթում: Բոլոր VL53L0X չիպերը հուսալիորեն Hw Standby վիճակի մեջ դնելու համար (ցածր XSHUT վարում) մեզ պետք է տրամաբանական NOT gate (inverter) յուրաքանչյուր XSHUT քորոցի համար: Այնուհետեւ մենք միացնում ենք մեկ չիպի GPIO ելքը (Nth չիպը), հոսանքն ի վար չիպի XSHUTN (XSHUT-NOT) (N+1 չիպ):
Միացնելուց հետո GPIO- ի բոլոր կապանքները (անգործուն) քաշվում են դեպի վեր, XSHUT- ի հետագա բոլոր կապումներն իջնում են NOT դարպասով (բացառությամբ այն բռունցքի չիպի, որտեղ նրա XSHUTN կապը միացված է միկրոհսկիչին): I2C հասցեի փոփոխությունը և ստորին հոսքի չիպի XSHUT թողարկումը կատարվում է ծրագրային ապահովման մեջ, մեկ առ մեկ:
Եթե դուք օգտագործում եք տարբեր ճեղքման տախտակներ, դուք պետք է համոզվեք, որ ձգվող դիմադրողները տեղում են, թե ոչ, և կատարեք համապատասխան ճշգրտումներ:
LED- ի ավելացում
Հաջորդ քայլում մի փոքր 0805 SMD LED կավելանա բեկման տախտակին, որը XSHUT պահոցից միացված է հարակից կոնդենսատորի GND տերմինալին: Թեև LED- ն ինքնին չի ազդում մոդուլի աշխատանքի վրա, այն մեզ տալիս է լավ տեսողական ցուցում XSHUT տրամաբանական մակարդակի վրա:
LED- ի շարանը միացնելով քաշվող դիմադրիչով (իմ դեպքում 10k) XSHUT- ի քորոցի վրա կներկայացնի լարման անկում: 3.3 վ բարձր տրամաբանական մակարդակի փոխարեն կարմիր 0805 LED լուսադիոդային լարման անկումը չափվում է 1.6 վ: Չնայած տվյալ լարումը տվյալների թերթիկում ավելի բարձր է, քան տրամաբանական բարձր մակարդակը (1.12 վ), այս կոտրման համար ավելի լավ է կապույտ LED- ը: Կապույտ LED- ի լարման անկումը չափվում է մոտ 2.4 վ, որը ապահով կերպով գտնվում է չիպի տրամաբանական մակարդակից բարձր:
N-MOS Inverter- ի ավելացում (տրամաբանությունը ՉԻ դարպաս)
Մի փոքր SOT-23 N-channel MOSFET- ը կուտակված է մեր կողմից ավելացված LED- ի վրա: Երկու տերմինալ (D, S) պետք է սոսնձել ճեղքման տախտակին, իսկ մնացած տերմինալը (G) միացված է թիվ 26 մետաղալարով ՝ GPIO- ի վերին հոսանքի տախտակին:
SMD բաղադրիչներ ավելացնելու վերաբերյալ նշումներ
SMD- ի բաղադրիչները զոդման համար նախատեսված բեկորային տախտակի վրա հեշտ գործ չէ: Եթե դեռ չեք լսել 0805-ի, SMD- ի, SOT-23- ի մասին, ապա հավանականությունն այն է, որ նախկինում չեք կպցրել այդ փոքրիկ բաղադրամասերը: Այդ փոքրիկ բաղադրամասերը ձեռքով մշակելիս շատ տարածված է, որ.
- Փոքրիկ բանը պարզապես ընկավ և անհետացավ, ընդմիշտ,
- Փոքրիկ իրերի փոքրիկ բարձիկները պարզապես մաքրվել են:
- Փոքրիկ ոտքի փոքրիկ ոտքերը պարզապես կոտրվեցին:
- Eringոդման անագը պարզապես հավաքվել էր բլբայի մեջ և չէր կարող առանձնացվել:
- Եւ ավելին…
Եթե դեռ ցանկանում եք պատրաստել այս ռադարը, կարող եք.
- Փոխեք բաղադրիչները ավելի մեծ փաթեթի, ինչպիսին է DIP ոճը:
- Ստացեք ավելի շատ բաղադրիչներ, քան պահանջվում են նվազագույնը `պրակտիկայի և սպառման համար:
Քայլ 3: 80ոդում 0805 LED- ը
80ոդում է 0805 SMD LED- ը
0805 LED ձեռքով զոդելը, SMD- ի համար չնախատեսված բեկման տախտակի վրա, ամենևին էլ հեշտ գործ չէ: Հետևյալ քայլերն իմ առաջարկությունն են LED- ը միացնելու համար:
- Օգտագործեք օգնականի ձեռքը ձեր բռնկման տախտակը պահելու համար:
- SMD կոնդենսատորի եզրին և «XSHUT» պահոցին միացրեք մի քանի զոդման մածուկ:
- Օգտագործեք եռակցման երկաթը `կոնդենսատորի եզրին լրացուցիչ զոդ տեղադրելու համար:
- 0805 LED- ի երկու ծայրերին տեղադրեք զոդման մածուկ:
- 80ոդման երկաթով 0805 LED- ի երկու ծայրերին անագ դրեք:
- Օգտագործեք պինցետները LED- ն տեղադրելու համար, ինչպես ցույց է տրված լուսանկարում: Կաթոդի ծայրը սովորաբար ունի նշված գիծ: Իմ օրինակում, կաթոդի վերջում կա կանաչ գիծ: Կաթոդի ծայրը դրեք կոնդենսատորի ծայրին:
- Պինցետների օգնությամբ լուսադիոդի վրա թեթև ճնշում ավելացրեք դեպի կոնդենսատորը և LED- ը կպցրեք կոնդենսատորի ծայրին ՝ միաժամանակ ջերմություն ավելացնելով կոնդենսատորի ծայրին: Մի սեղմեք LED- ի վրա ուժեղ: Նրա ծածկը կարող է կոտրվել ջերմության և ավելորդ ճնշման տակ: Eringոդումից հետո մի փոքր ճնշում ավելացրեք LED- ի վրա `ստուգելու համար, թե արդյոք LED- ը կպցված է տեղում:
- Այժմ կպցրեք LED- ը XSHUT ընկղման պահոցում: Այս քայլը պետք է ավելի հեշտ լինի:
Նշում. Նկարում ցուցադրվող կոնդենսատորի ծայրը այս անջատիչ տախտակի հիմքային տերմինալն է: Իսկ ընկղմվող պահոցը XSHUT- ը ձգվում է դիմադրության միջոցով:
LED- ի փորձարկում
LED- ը պետք է լուսավորվի, երբ ուժը (օրինակ ՝ 5 Վ) կիրառեք և հիմնավորեք բեկման տախտակին:
Քայլ 4. N-Channel MOSFET- ի զոդում
Sոդում AO3400 N-Channel MOSFET- ը
Այս MOSFET- ը SOT-23 փաթեթում է: Մենք պետք է այն «դնենք» LED- ի վրա և մետաղալար ավելացնենք նաև.
- Տեղադրեք եռակցման մածուկ և թիթեղյա երեք տերմինալներ:
- Պինցետներով տեղադրեք MOSFET- ը 0805 LED- ի վերևում: S տերմինալը պետք է դիպչի կոնդենսատորի վերևին
- S տերմինալը կպցրեք կոնդենսատորի ծայրով, ինչպես ցույց է տրված լուսանկարում:
- Կտրեք մի փոքր հատված AWG #30 մեկ միջուկային մետաղալար և հեռացրեք ծածկույթը մոտ 1 սմ:
- Օգտագործեք եռակցման երկաթը, որպեսզի ներքևից հալեցնեք զոդումը XSHUT անցքում և վերևից տեղադրեք #30 մետաղալարը, ինչպես ցույց է տրված լուսանկարում:
- Լարի վերին ծայրը զոդելով MOSFET D տերմինալին:
- Կտրեք լրացուցիչ մետաղալարը:
Նշում. MOSFET S տերմինալը միացված է կոնդենսատորի ծայրին, ինչպես ցույց է տրված նկարում: Այս վերջը ցամաքային տերմինալն է: MOSFET D տերմինալը միացված է XSHUT- ի սկզբնական քորոցին:
G տերմինալը այս պահին միացված չէ: Նրա դիրքը գտնվում է որոշ ձգվող դիմադրություններից վերևում: Համոզվեք, որ դրանց միջև բաց կա (N-MOS և ռեզիստոր) և չի շփվում միմյանց հետ:
Քայլ 5. Սենսորների զանգվածի միացում
Ընդհանուր ավտոբուսային էլեկտրագծեր
Ընդհանուր ավտոբուսը ներառում է.
- Vcc հզորություն Կարմիր լուսանկարում: Ես օգտագործում եմ arduino nano 5 վ տրամաբանությամբ: Եղքման տախտակն ունի LDO և մակարդակ փոխող: Այսպիսով, անվտանգ է օգտագործել 5 վ որպես Vin:
- Գետնին Սև լուսանկարում:
- SDA. Կանաչը լուսանկարում:
- SCL. Լուսանկարում դեղին է:
Այս չորս տողերը ընդհանուր տողեր են: Կտրեք լարերի համապատասխան երկարությունը և դրանք զուգահեռ կպցրեք սենսորային բոլոր մոդուլներին: Ես օգտագործեցի 20 սմ arduino- ից մինչև առաջին սենսորը, և դրանից հետո յուրաքանչյուրը 5 սմ:
XSHUTN և GPIO լարեր
20 սմ սպիտակ մետաղալարն arduino- ի կառավարման քորոցից է `մինչև առաջին սենսորի XSHUTN քորոցը: Սա կառավարման տող է, որը պահանջվում է առաջին VL53L0X չիպը վերականգնելուց և I2C հասցեն փոխելու համար:
Յուրաքանչյուր մոդուլի միջև 5 սմ սպիտակ մետաղալարը երիցուկի շղթայի կառավարման գիծ է: Վերին հոսքի չիպը (օրինակ, թիվ 3 չիպը) GPIO պահոցը միացված է հոսանքն ի վար (օրինակ, թիվ 4 չիպին) XSHUTN ոտքին (N-Channel MOSFET G տերմինալ):
Carefulգույշ եղեք, որ G տերմինալը չշփվի ներքևի դիմադրության հետ: Բացը կարող եք ավելացնել մեկուսիչ ժապավեն: Սովորաբար VL53L0X չիպով մատակարարվող պաշտպանիչ ծածկը կարող է օգտագործվել այստեղ:
Օգտագործեք ջերմային ատրճանակը `կառավարման լարը կպցնելու համար:
Տաք սոսինձ
Ինչպես տեսնում եք լուսանկարում, սպիտակ կառավարման մետաղալարերի վրա ՝ N-MOS G տերմինալի մոտ, կա տաք սոսինձ: Այս քայլը շատ կարևոր է և բացարձակապես անհրաժեշտ: Լողացող զոդումը ուղղակիորեն SMD բաղադրիչի ոտքին շատ թույլ է: Լարի վրա նույնիսկ փոքր ճնշումը կարող է կոտրել ոտքը: Կատարեք այս քայլը նրբորեն:
LED- ի փորձարկում
Երբ սենսորների զանգվածին ուժ (օրինակ ՝ 3.3v-5v) և հող եք կիրառում, առաջին մոդուլի LED- ն պետք է արձագանքի XSHUTN լարերի տրամաբանական մակարդակին: Եթե XSHUTN- ը միացնում եք տրամաբանական բարձր մակարդակին (օրինակ ՝ 3.3v-5v), LED- ն պետք է անջատված լինի: Եթե XSHUTN մետաղալարը միացնում եք ցածր (գետնին), ապա առաջին մոդուլի LED- ը պետք է միացված լինի:
Հետագա բոլոր մոդուլների համար LED- ը պետք է անջատված լինի:
Այս թեստը անցկացվում է arduino- ին միանալուց առաջ:
Քայլ 6: Սենսորային զանգվածի լրացում
Daisy շղթայի փորձարկում
Այժմ մենք ցանկանում ենք ստուգել, արդյոք I2C հասցեի փոփոխությունը գործում է զանգվածի բոլոր տվիչների համար: Ինչպես նշվեց, առաջին չիպը վերահսկվում է arduino- ի կողմից: Երկրորդ չիպը վերահսկվում է առաջին չիպի կողմից և այլն:
- Տեղադրեք հացի տախտակը: 5V և վերգետնյա երկաթուղին ուղղակիորեն միացված են adriano 5V- ից և ցամաքից: Յուրաքանչյուր սենսորի ընթացիկ սպառումը տվյալների թերթում գնահատվում է 19 մ:
- Էլեկտրահաղորդման գծի վրա ավելացրեք կոնդենսատոր, որն օգնում է կայունացնել Vin- ը:
- Միացրեք Vin- ը և Ground- ը սենսորային զանգվածից դեպի հոսանքի ռելս:
- Միացրեք SDA- ն arduino Nano pin A4- ին (կարող է տարբեր լինել այլ միկրոկարգավորիչների դեպքում):
- Միացրեք SCL- ն arduino Nano pin A5- ին (կարող է տարբեր լինել այլ միկրոկարգավորիչների դեպքում):
- Միացրեք XSHUTN մետաղալարը arduino Nano pin D2- ին: (Սա կարող է փոխվել ուրվագծում):
- Գնացեք github https://github.com/FuzzyNoodle/Fuzzy-Radar և ներբեռնեք գրադարանը:
- Բացեք «Daisy_Chain_Testing» օրինակը և վերբեռնեք ուրվագիծը:
Եթե ամեն ինչ աշխատում է, ապա պետք է տեսնեք, որ կարգավիճակի LED- ները մեկ առ մեկ լուսավորվեն, ինչպես վերը նշված տեսահոլովակը:
Կարող եք նաև բացել Սերիայի պատուհանը և տեսնել սկզբնավորման առաջընթացը: Արդյունքը կհայտնվի այսպես.
Բացման նավահանգիստ Պորտ բաց Սկսնակ ուրվագիծ: Տեղադրեք 0 չիպը վերակայման ռեժիմի: Բոլոր կարգավիճակի LED- ները պետք է անջատված լինեն: Այժմ կարգավորեք տվիչները: LED- ը պետք է լուսավորվի մեկ առ մեկ: 0 չիպի կազմաձևում - I2C հասցեի վերակայում 83 -ի վրա - սենսորի սկզբնականացում: Չիպ 1 -ի կազմաձևում. 2 չիպի կազմաձևում - I2C հասցեի վերականգնում 85 -ի վրա - սենսորի նախնական գործարկում: Ռադարային զանգվածի կազմաձևումն ավարտված է:
Հավաքեք սեփականատերը և շրջանակը
- Gգուշորեն տեղադրեք յուրաքանչյուր GY-530 մոդուլը M2x10 պտուտակով ամրակի վրա: Մի սեղմեք MOSFET- ը և մի քաշեք XSHUTN լարերը:
- Տեղադրեք յուրաքանչյուր պահիչ շրջանաձև շրջանակի մեջ: Մասերը կպցնելու համար օգտագործեք տաք սոսինձ:
Կրկին, M2 պտուտակները, ամրակները և շրջանաձև շրջանակը օգտագործվում են տվիչները շրջանաձև դասավորության մեջ տեղադրելու համար: Դուք կարող եք օգտագործել որևէ այլ մեթոդ, օրինակ ՝ տախտակներ, օրինակելի անտառներ, կավ կամ նույնիսկ տաք սոսինձ դրանք բանկայի վրա:
Իմ օգտագործած 3D տպագրված ֆայլերը ներկայացված են ստորև: Շրջանաձև շրջանակն ունի 9 մոդուլ, և յուրաքանչյուրը բաժանված է 10 աստիճանով: Եթե սուր աչք ունեք, նախորդ լուսանկարներում կար 10 մոդուլ: Պատճառը? Ստորև բացատրվում է…
Հեռացրեք պաշտպանիչ ծածկույթը
Եթե դուք սկզբից հետևել եք քայլերին, ապա հիմա լավ ժամանակ է VL53L0X չիպի վրա հեռացնել պաշտպանիչ ծածկը: Իմ նախորդ լուսանկարներում դրանք արդեն հեռացված են, քանի որ այս հրահանգները տեղադրելուց առաջ ես պետք է փորձարկեմ մոդուլները և համոզվեմ, որ հայեցակարգը գործում է:
Պաշտպանական երեսպատման մասին տվյալների թերթիկում նշվում է. VL53L0X չիպի երկու փոքր անցքերը (արտանետիչ և ընդունիչ) խոցելի են աղտոտման համար, ինչպիսիք են փոշին, քսուքը, տաք սոսինձը և այլն…
Աղտոտվելուց հետո միջակայքը կարող է կրճատվել, իսկ ընթերցումները `ակնհայտ քանակությամբ: Իմ փորձարկման մոդուլներից մեկը պատահաբար աղտոտված է սոսնձի կավով, միջակայքը կրճատվում է մինչև 40 սմ, իսկ հեռավորության ընթերցումը սխալմամբ մեծանում է 50%-ով: Այսպիսով, զգույշ եղեք:
Քայլ 7: Տվյալների ստացում
Օգտագործելով Raw_Data_Serial_Output օրինակը
Այժմ մենք իսկապես սիրում ենք տեսնել մեր սենսորային զանգվածի տվյալները: Արդուինոյի գրադարանում GitHub- ում.
https://github.com/FuzzyNoodle/Fuzzy-Radar
Կա մի օրինակ, որը կոչվում է Raw_Data_Serial_Output: Այս օրինակը ցույց է տալիս տվիչների զանգվածից ստացված տվյալների հումքը: Ելքային արժեքները միլիմետր են:
Սենսորների գործարկվելուց հետո սերիական պատուհանում նման բան պետք է տեսնել, երբ ձեռքդ շարժում ես տվիչների միջով.
Ուղիղ ցուցադրության համար դիմեք տեսահոլովակին:
Օգտագործելով Fuzzy_Radar_Serial_Output օրինակը
Հաջորդ քայլը այս հեռավոր ընթերցումներից օգտակար տվյալների ձեռքբերումն է: Այն, ինչ մենք ցանկանում էինք ՌԱԴԱՐ -ից, թիրախային օբյեկտի հեռավորությունն ու անկյունն են:
- Հեռավորությունը միլիմետր է ՝ կապված սենսորի մակերեսի հետ: 0 -ի վերադարձը նշանակում է, որ թիրախը հեռու է տիրույթից:
- Անկյունը աստիճաններով է, հորիզոնական հարթության վրա: Ներկայումս սպասվում է, որ սենսորները հավասարաչափ տարածվում են: 0 աստիճան վերադառնալը նշանակում է, որ թիրախը գտնվում է զանգվածի կենտրոնական դիրքում:
Գրադարանում կիրառվում են զտման որոշ ալգորիթմներ.
-
Աղմուկի հեռացում.
- Կարճ (նմուշների քանակի առումով) ընթերցումները համարվում են աղմուկ և հանվում են:
- Միջին արժեքից շատ հեռու ընթերցումները հանվում են:
-
Քաշի անկյունի հաշվարկ (տե՛ս նկարը վերևում)
- Թիրախային օբյեկտը ենթադրվում է հարթ մակերես
- Եթե մի քանի սենսորներ հայտնաբերել են օբյեկտը միաժամանակ, յուրաքանչյուր սենսորի համար հաշվարկվում է քաշ:
- Յուրաքանչյուր սենսորի քաշը հակադարձորեն կապված է նրա հեռավորության հետ:
- Արդյունքի հրեշտակը հաշվարկվում է յուրաքանչյուր սենսորի կշռված անկյունից:
-
Թիրախի առաջնային ընտրություն.
- Եթե ընթերցումների մեկից ավելի խումբ կա, մնում է ամենալայն (սենսորային ընթերցման հաշվարկով) խումբը:
- Օրինակ, եթե երկու ձեռք դնեք սենսորային զանգվածի դիմաց, ավելի շատ սենսորների կողմից հայտնաբերված ձեռքը մնում է:
-
Թիրախի ամենամոտ ընտրությունը.
- Եթե կան նույն լայնությամբ մեկից ավելի հայտնաբերված խմբեր, ամենամոտ տարածության խումբը մնում է:
- Օրինակ, եթե երկու ձեռքը դնում եք սենսորային զանգվածի առջև, և հայտնաբերված երկու խումբ ունեն սենսորների նույն թիվը, ապա սենսորին ավելի մոտ խումբը մնում է:
Ելքի հեռավորությունը և անկյունը հարթվում են ցածր անցման ֆիլտրի միջոցով:
Raw_Data_Serial_Output- ում հեռավորության չմշակված ընթերցումները փոխակերպվում են հեռավորության և անկյունի արժեքի: Էսքիզը վերբեռնելուց հետո կարող եք բացել սերիայի պատուհանը ՝ նման արդյունքը տեսնելու համար.
Ոչ մի օբյեկտ չի հայտնաբերվել: Ոչ մի օբյեկտ չի հայտնաբերվել:Ոչ մի օբյեկտ չի հայտնաբերվել: Distance = 0056 Angle = 017 Distance = 0066 Angle = 014 Distance = 0077 Angle = 011 Distance = 0083 Angle = 010 Distance = 0081 Angle = 004 Distance = 0082 Angle = 000 Distance = 0092 Angle = 002 Distance = 0097 Angle = 001 Distance = 0096 անկյուն = 001 Հեռավորություն = 0099 Անկյուն = 000 Հեռավորություն = 0101 Անկյուն = -002 Հեռավորություն = 0092 Անկյուն = -004 Հեռավորություն = 0095 Անկյուն = -007 Հեռավորություն = 0101 Անկյուն = -008 Հեռավորություն = 0112 Անկյուն = -014 Հեռավորություն = 0118 Անկյուն = -017 Distance = 0122 Angle = -019 Distance = 0125 Angle = -019 Distance = 0126 Angle = -020 Distance = 0125 Angle = -022 Distance = 0124 Angle = -024 Distance = 0133 Angle = -027 Distance = 0138 Angle = - 031 Հեռավորություն = 0140 Անկյուն = -033 Հեռավորություն = 0136 Անկյուն = -033 Հեռավորություն = 0125 Անկյուն = -037 Հեռավորություն = 0120 Անկյուն = -038 Հեռավորություն = 0141 Անկյուն = -039 Ոչ մի օբյեկտ չի հայտնաբերվել: Ոչ մի օբյեկտ չի հայտնաբերվել: Ոչ մի օբյեկտ չի հայտնաբերվել:
Այսպիսով, այժմ դուք ունեք ՌԱԴԱՐ (ԼԻԴԱՐ).
- Ավելի փոքր, քան ուլտրաձայնային տվիչների մոդուլները
- Շարժվող մասեր չկան
- Սկանավորում է 40 Հց հաճախականությամբ:
- Գոտու նման ձևավորված, կարող է տեղադրվել շրջանաձև շրջանակի վրա
- Օգտագործեք ընդամենը երեք հսկիչ լար, գումարած ուժ և հող:
- Այն ունի 30 միլիմետրից մինչև 1000 միլիմետր միջակայք:
Հետագա քայլերում մենք ձեզ ցույց կտանք մի քանի հիանալի ցույց:
Քայլ 8: Լազերային հետքեր (ցուցադրում)
Սա ստացիոնար ռադիոլոկացիոն ռադիոլոկացիոն համակարգի օգտագործման օրինակ է, որը մենք կառուցել ենք նախորդ քայլերից: Այս քայլը մանրամասն գրված չէ, քանի որ սա Radar- ի ցուցադրողն է: Ընդհանուր առմամբ, ցուցադրական այս նախագիծը կառուցելու համար ձեզ հարկավոր են այս լրացուցիչ տարրերը.
- Երկու սպասարկում
- Լազերային գրիչ, որը թողարկում է գլուխը
- MOSFET կամ NPN տրանզիստոր `լազերային գլխի ելքը վերահսկելու համար
- Սնուցման ծառայությունների աղբյուր: Այն պետք է առանձնացվի միկրոկառավարիչից:
Կոդը կարելի է ներբեռնել այստեղ:
Խնդրում ենք դիտել տրամադրված տեսանյութը:
Քայլ 9: Հայացք Poopeyes- ին (onstուցադրություն)
Ռադարների օգտագործման ցուցադրություն ՝ օբյեկտի գտնվելու վայրը և հեռավորությունը հետևելու համար:
Խորհուրդ ենք տալիս:
7 հատվածի ցուցադրման զանգված ՝ 6 քայլ (նկարներով)
7 հատվածի ցուցադրման զանգված. Ես կառուցել եմ լուսադիոդային էկրան, որը կազմված է 144 7 հատվածի էկրաններից, որոնք կառավարվում են arduino nano- ի կողմից: Սեգմենտները վերահսկվում են 18 MAX7219 ic- ով, որոնք կարող են կառավարել մինչև 64 առանձին լուսարձակներ կամ 8 7 հատվածային էկրաններ: Theանգվածն ունի 144 էկրան, որոնցից յուրաքանչյուրը բաղկացած է
Costածր գնով ռադիոտեղորոշիչ արագության նշան. 11 քայլ (նկարներով)
Costածրարժեք ռադիոտեղորոշիչ արագության նշան. Երբևէ ցանկացե՞լ եք կառուցել ձեր սեփական ցածրարժեք ռադարային արագության նշանը: Ես ապրում եմ մի փողոցում, որտեղ մեքենաները շատ արագ են շարժվում, և ես անհանգստանում եմ իմ երեխաների անվտանգության համար: Մտածեցի, որ շատ ավելի անվտանգ կլինի, եթե կարողանամ տեղադրել իմ սեփական ռադիոտեղորոշիչ արագության նշանը, որը ցուցադրում է
Interfacing Pro IR զանգված Arduino- ի հետ. 5 քայլ
Ինտերֆեյս Pro IR զանգված Arduino- ի հետ. սև և սպիտակ մակերևույթի հստակ ընթերցումներ տարբեր բարձրությունների և լույսի վրա. Գույների միջև արժեքային տարբերությունը շատ լավ է համեմատած
Պատերով անցնելը. Google Street View ստացիոնար հեծանիվների միջերես. 12 քայլ (նկարներով)
Ուղևորություն պատերի միջով. Google Street View ստացիոնար հեծանիվների միջերես. The Riding Through Walls: Google Street View ստացիոնար հեծանիվների միջերեսը թույլ է տալիս շրջել Google Street-View- ով ՝ ձեր հյուրասենյակի հարմարավետությունից: Օգտագործելով մի քանի պարզ էլեկտրոնիկա, Arduino, ստացիոնար հեծանիվ, համակարգիչ և պրոյեկտոր կամ հեռուստացույց
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi