Բովանդակություն:
- Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի
- Քայլ 2: Փաստաթղթեր
- Քայլ 3. Պատրաստեք ուլտրաձայնային տվիչների աջակցություն
- Քայլ 4. Ամեն ինչ տեղադրեք նախատիպերի տախտակի մեջ
- Քայլ 5: Վերջնական կապեր հաստատելը
- Քայլ 6: ootingրագրի գործարկում
- Քայլ 7: Հասկանալով C օրենսգիրքը
- Քայլ 8: Հասկանալ Java կոդը
- Քայլ 9: Եզրակացություն
Video: Նախագիծ 3 ՝ SonarDuino ՝ 9 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Հարգելի ընկերներ, հոբբիստ, Այս նախագծում մենք կուսումնասիրենք օբյեկտների հայտնաբերման համար 360 աստիճանի ռադարային համակարգ ունենալու հնարավորությունը: Այս մոդուլի առանձին տեղադրումը թույլ կտա ձեր շարժական ռոբոտին հայտնաբերել իր շրջակայքի սահմանները: Այն կարող է ծառայել նաև որպես նավիգացիոն գործիք մթության մեջ, բայց միայն այն դեպքում, երբ բավական դանդաղ եք քայլում, էջ
Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի
Այս կառուցվածքը պատրաստելու համար ձեզ հարկավոր է գնել հետևյալը.
Արդուինո Նանո.: rk: 2: pf: 0
Նախատիպերի տախտակներ. ~ Zbl232: rk: 13: pf: 0
Servo Motors.: 16: pf: 0 & var
Ուլտրաձայնային սենսորներ. IAAOSw-xbD5Fp: rk: 2: pf: 0
Քայլ 2: Փաստաթղթեր
Քանի որ ձեզանից ոմանք արդեն կարող են դա իմանալ, այս նախագիծը ոգեշնչված է մեկ այլ բաց կոդով նախագծով, որը կոչվում է «Arduino Radar Project», որը պատրաստել է Դեժանը «How to Mechatronics»-ից ՝ հետևյալ հղումով ՝ https://howtomechatronics.com/projects/arduino -ռադիոտեղորոշիչ նախագիծ/
Մեկ այլ կետ, որը պահանջում է փաստաթղթեր, հետևյալ երկու գրադարանների ներլցումն է ձեր զարգացման միջավայրում.
Adafruit-GFX- գրադարան ՝
Adafruit_SSD1306:
Ասվածն այն է, որ C ծածկագիրն իսկապես հասկանալու համար անհրաժեշտ կլինի վերը նշված երկու գրադարանների վերաբերյալ որոշ փաստաթղթեր կազմել: Բացի այդ, իմ ծածկագրում օգտագործված գործառույթներն ունեն անուններ, որոնք ցույց են տալիս, թե ինչ են նրանք անում:
Քայլ 3. Պատրաստեք ուլտրաձայնային տվիչների աջակցություն
Վերցրեք ցանկացած ստվարաթուղթ և կտրեք այն սենսորին ամրացված միացնող մալուխների չափսերի համաձայն, ինչպես ցույց է տրված առաջին նկարում: Դրանից հետո, ծալեք այս վերջինը և կպցրեք այն servo շարժիչի աջակցությանը: Երբ դա արվի, կպցրեք երկու ուլտրաձայնային տվիչները `ըստ վերջին նկարի: Նկատի ունեցեք, որ սենսորների վերնագիրը պետք է այնպես սոսնձված լինի, որ մալուխները դուրս գան սենսորի դիմաց: Սա թույլ կտա սենսորային մալուխներին չխանգարել միմյանց, երբ 360 աստիճանի պտույտն իրականացվում է:
Քայլ 4. Ամեն ինչ տեղադրեք նախատիպերի տախտակի մեջ
Այս քայլում դուք կսկսեք նախորդ քայլում պատրաստված վերնագրի տեղադրումը համապատասխան սերվո շարժիչի մեջ: Երբ servo շարժիչը մանրակրկիտ ընտելանա, դուք ամեն ինչ միասին կտեղադրեք նախատիպի տախտակի մեջ: Դուք կսկսեք զոդել Arduino Nano- ն, այնուհետև սերվոն սոսնձելով հենց դրա կողքին: Ի վերջո, դուք կպցրեք փոքրիկ OLED էկրանը տախտակի մյուս եզրին:
Քայլ 5: Վերջնական կապեր հաստատելը
Այս քայլը կեզրափակի այս ծրագրի ապարատային կողմը: Բոլոր անհրաժեշտ կապերը հաստատելու համար դուք պետք է հետևեք տրամադրված սխեմաներին:
Քայլ 6: ootingրագրի գործարկում
Գոյություն ունեն երկու ծածկագիր, որոնք ձեզ հարկավոր է գործարկել
Arduino (C). Https: //github.com/ReconaissantL/RadarDuino/blob/master/radarduino.ino
Մշակում (java) ՝
Կոդը գործարկելիս դուք կունենաք ընտրելու երկու տարբերակ.
Տարբերակ 1. Օգտագործելով OLED էկրանը, դրա համար անհրաժեշտ է C կոդի մեջ փոփոխական MODE- ն սահմանել 0:
Տարբերակ 2. Օգտագործելով ձեր մոնիտորը, դրա համար անհրաժեշտ է C կոդի մեջ փոփոխական MODE- ն սահմանել 1. Բացի այդ, ձեզ հարկավոր է ներբեռնել և տեղադրել Processing զարգացման միջավայրը և ներբեռնել ռադիոտեղորոշիչ տառատեսակը այս հղումից ՝ https:// github.com/lastralab/ArduinoRadar/blob/ma…
Եվ ավելացրեք այդ ֆայլը ձեր մշակման կոդի ֆայլին, որպեսզի ձեր java ծածկագիրը ճանաչի տառատեսակը զանգելիս:
Քայլ 7: Հասկանալով C օրենսգիրքը
Կոդը հիմնականում բաղկացած է երկու «for» օղակից: Մեկը փոխկապակցված է առաջ փոխանցման հետ, իսկ մյուսը հետընթաց փոխանցման հետ: Երկուսի ներսում էլ շատ անգամ կոչվում է draw_scanner () հիմնական գործառույթը, որը ռադիոտեղորոշիչի գծերը կբերի էկրանին: Բազմաթիվ կոնֆիգուրացիաներ փորձարկելուց հետո ես եկա այն եզրակացության, որ մենք պետք է սպիտակ ռադիոտեղորոշիչ տերը ժամանակին փոխարինենք t+1 ժամանակ նույն սև ռադիոտեղորոշիչներով ՝ դրանք ջնջելու համար: Հակառակ դեպքում, թարթում տեղի կունենա ամեն անգամ, երբ դուք մաքրում եք էկրանը ՝ օգտագործելով «clearDisplay () գործառույթը, նախքան նոր պիքսելային ցանցը հրելը: Քանի որ գործ ունեի 7 գծերի հետ `նախագծման նպատակների համար, ես ստիպված էի պահել և փոխանցել 7 տարրերից բաղկացած ամբողջ շարք, որտեղ յուրաքանչյուր տարր կանգնած է ռադիոտեղորոշիչ կենտրոնի միջև ընկած շառավղով մինչև հայտնաբերված օբյեկտը, եթե այդպիսիք կան: Սա հաշվի առնելով ՝ մնացած ծածկագիրը պետք է ուղիղ լինի հասկանալու համար:
Քայլ 8: Հասկանալ Java կոդը
Մշակման ընթացքում ես ստիպված էի շրջանցել serialEvent () գործառույթի կանչը, որն աշխատում է միայն COM անունով սերիական նավահանգիստներով: Երբ աշխատում էի Mac- ում, իմ սերիական նավահանգիստներն այլ անվան տակ էին: Ասածս այն է, որ ես այդ գործառույթը բացեցի «գծել ()» մշակման հիմնական գործառույթի մեջ: Ինչ վերաբերում է մնացած ամեն ինչին, ես թարմացրել եմ ծրագիրը ՝ հեղափոխության ամբողջական նախագծին համապատասխանելու համար: Ի վերջո, ես թարմացրեցի բոլոր գծագրված ձևերն ու տեքստերը էկրանի լայնության նկատմամբ, որպեսզի վերջնական արտադրանքը համապատասխանի էկրանի տարբեր լուծումներին: Ես անձամբ այն փորձարկել եմ ինչպես 1000X1000, այնպես էլ 500X500 բանաձևերի համար, և այն լավ աշխատեց:):
Քայլ 9: Եզրակացություն
Այս աշխատանքը կարող է արդիականացվել ՝ ունենալով 3 Ուլտրաձայնային տվիչ, որոնցից յուրաքանչյուրը ծածկում է 120 դիտման անկյուն, կամ նույնիսկ 4 տվիչ (90 աստիճան*4) -> ավելի արագ ՝ 360 աստիճան: սկանավորել.
Կարող եք նաև ռադիոլոկացիոն տիրույթը 40 սմ -ից հասցնել 60 սմ -ի կամ նույնիսկ 80 սմ -ի: Ես անձամբ փորձարկել եմ իմպուլսային գործառույթը և ճշգրտել եմ TIMEOUT փոփոխականը `40 սմ -ի նկատմամբ: Այս փոփոխականը կախված է բազմաթիվ գործոններից, ներառյալ զարկերակի երկարությունը և այն առարկայի մակերեսը, որտեղ զարկերակն արտացոլվում է:
Վերջապես, ինչպես արդեն նշվեց, հաջորդ քայլը ռադարային Դուինոն ներառել շարժական ռոբոտի հետ `շրջապատող պարագիծը սկանավորելու համար:
Խորհուրդ ենք տալիս:
Կենդանիների սննդի ամանի ավտոմատ նախագիծ. 13 քայլ
Կենդանիների սննդի գավաթների ավտոմատ նախագիծ. Այս հրահանգը կներկայացնի և կբացատրի, թե ինչպես կարելի է կառուցել ավտոմատացված, ծրագրավորվող ընտանի կենդանիների սնուցող սարք `կցված սննդի ամաններով: Ես կցել եմ այստեղ տեսանյութ, որը պատկերում է, թե ինչպես են գործում ապրանքները և ինչ տեսք ունի
(IOT նախագիծ) Եղանակի տվյալներ ստացեք ՝ օգտագործելով ESP8266 և Openweather API ՝ 5 քայլ
(IOT նախագիծ) Եղանակի տվյալներ ձեռք բերեք ESP8266- ի և Openweather API- ի միջոցով. Այս ուսանելի ծրագրում մենք պատրաստվում ենք կառուցել մի պարզ IOT նախագիծ, որը մեր քաղաքի եղանակի տվյալները կբերի openweather.com/api կայքից և կցուցադրի այն մշակման ծրագրակազմի միջոցով:
CPE 133 Վերջնական նախագիծ տասնորդականից երկուական `5 քայլ
CPE 133 Վերջնական նախագիծը տասնորդականից երկուական. Երկուական թվերն առաջին բաներից են, որոնք գալիս են մտքում, երբ մտածում ենք թվային տրամաբանության մասին: Այնուամենայնիվ, Երկուական թվերը կարող են դժվար հասկացություն լինել նորեկների համար: Այս նախագիծը կօգնի նրանց, ովքեր և՛ նոր են, և՛ փորձառու երկուական թվերով mas
Դոպամինի տուփ - նախագիծ, որը նման է Մայք Բոյդին - Չլինել Մայք Բոյդին. 9 քայլ
Դոպամինի տուփ | մի նախագիծ, որը նման է Մայք Բոյդին - Չլինել Մայք Բոյդի. Ինձ պետք է մեկը: Ես ձգձգող եմ: Դե, ես դոպամինի տուփ եմ ուզում … Առանց ծրագրավորման կարիք: Ոչ մի հնչյուն, պարզապես մաքուր կամք
10 հիմնական Arduino նախագիծ սկսնակների համար: Կատարեք առնվազն 15 նախագիծ մեկ տախտակով: 6 քայլ
10 հիմնական Arduino նախագիծ սկսնակների համար: Կատարեք առնվազն 15 նախագիծ մեկ տախտակով: Arduino Project & Ուսուցողական խորհուրդ; Ներառում է 10 հիմնական Arduino նախագիծ: Բոլոր կոդերը, Gerber ֆայլը և այլն: Ոչ SMD! Հեշտ զոդում բոլորի համար: Հեշտ շարժական և փոխարինելի բաղադրիչներ: Դուք կարող եք կատարել առնվազն 15 նախագիծ մեկ բո