Բովանդակություն:
- Պարագաներ
- Քայլ 1: Հետապնդում…
- Քայլ 2. Սկիզբ - Arduino -Breadboard Setup
- Քայլ 3. Լարացրեք LV-MaxSonar-EZ- ը
- Քայլ 4. Լարացրեք HC-SR04- ը
- Քայլ 5. Միացրեք «HC-SR04» տարբերակի ընտրիչը
- Քայլ 6: Ամեն ինչ աշխատեցնելը…
- Քայլ 7: Նախագծի դասավորություն
- Քայլ 8: Կոդի ներմուծում…
- Քայլ 9: Arduino Software-Serial…
- Քայլ 10: Կոդ - կարգավորում
- Քայլ 11: Կոդ - հանգույց
- Քայլ 12. Կոդ. Գործարկեք MaxSonar- ը: Կարդացեք PW արժեքը
- Քայլ 13: Կոդ - Կարդացեք MaxSonar սերիական արժեքը
- Քայլ 14. Կոդ - Կարդացեք MaxSonar անալոգային արժեքը
- Քայլ 15. Կոդ. Գործարկեք և կարդացեք HC -SR04- ը
- Քայլ 16. Կոդ - Arduino IDE սերիական գծագրիչի աջակցություն
- Քայլ 17: Կոդ - կարգաբերում…
- Քայլ 18: Եզրակացություն
- Քայլ 19. Այլընտրանքային MaxSonar միացում (օգտագործելով 180 ° Վերնագիր)
- Քայլ 20: Arduino կոդ
Video: LV-MaxSonar-EZ և HC-SR04 Sonar Range Finders- ի համեմատություն Arduino- ի հետ. 20 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ես գտնում եմ, որ շատ նախագծեր (հատկապես ռոբոտները) պահանջում են կամ կարող են օգուտ քաղել իրական ժամանակում օբյեկտից տարածության չափումից: Sonar տիրույթի որոնիչները համեմատաբար էժան են և հեշտությամբ կարելի է միացնել միկրոկարգավորիչին, ինչպիսին է Arduino- ն:
Այս Instructable- ը համեմատում է երկու հեշտ ձեռք բերվող սոնարային հեռահար սարքեր ՝ ցույց տալով, թե ինչպես դրանք միացնել Arduino- ին, ինչ կոդ է պահանջվում դրանցից արժեքները կարդալու համար և ինչպես են դրանք «չափվում» միմյանց դեմ տարբեր իրավիճակներում: Այստեղից ես հույս ունեմ, որ դուք պատկերացում կստանաք երկու սարքերի դրական և բացասական կողմերի մասին, որոնք կօգնեն ձեզ օգտագործել ամենահարմար սարքը ձեր հաջորդ նախագծում:
Ես ուզում էի համեմատել չափազանց հայտնի HC-SR04 (սխալի աչք) սարքը ՝ ավելի քիչ տարածված LV-MaxSonar-EZ սարքի հետ, որպեսզի տեսնեմ, թե երբ ես գուցե ցանկանամ օգտագործել ոչ թե մյուսը: Ես ուզում էի կիսվել իմ գտածոներով և կազմաձևով, այնպես որ դուք կարող եք փորձարկել երկուսը և որոշել, թե որն է օգտագործել ձեր հաջորդ նախագծում:
Ինչու՞ այս երկուսը…
Ինչու՞ է HC-SR04- ը: «Bug-Eye» HC-SR04- ը չափազանց տարածված է `մի քանի պատճառներով.
- Այն էժան է `2 դոլար կամ ավելի քիչ, եթե գնում է սորուն
- Համեմատաբար հեշտ է ինտերֆեյսը
- Շատ ու շատ նախագծեր են օգտագործում այն, ուստի այն քաջ հայտնի է և հասկանալի
Ինչու՞ LV-MaxSonar-EZ:
- Շատ հեշտ է ինտերֆեյսի մեջ մտնել
- Այն ունի լավ/հեշտ ձև-գործոն `նախագծում ներառելու համար
- Այն ունի 5 տարբերակ, որոնք վերաբերում են չափման տարբեր պահանջներին (տես տվյալների թերթիկ)
- Այն (սովորաբար) շատ ավելի ճշգրիտ և հուսալի է, քան HC-SR04- ը
- Այն մատչելի է `$ 15 -ից $ 20
Բացի այդ, ես հույս ունեմ, որ Arduino- ի իմ գրած համեմատության համար կտորներ և կտորներ կգտնեք օգտակար ձեր նախագծերում, նույնիսկ հեռահար որոնիչ ծրագրերից դուրս:
Ենթադրություններ
- Դուք ծանոթ եք Arduino- ին և Arduino IDE- ին
- Arduino IDE- ն տեղադրված է և աշխատում է ձեր նախընտրած զարգացման մեքենայի վրա (PC/Mac/Linux)
- Դուք կապ ունեք Arduino IDE- ից ձեր Arduino- ին ՝ ծրագրեր վերբեռնելու և գործարկելու և հաղորդակցվելու համար
Կան Ուղեցույցներ և այլ ռեսուրսներ, որոնք ձեզ կօգնեն դա անհրաժեշտության դեպքում:
Պարագաներ
- HC-SR04 'Bug-Eye' Range Finder
- LV-MaxSonar-EZ (0, 1, 2, 3, 4-ես օգտագործում եմ «1», բայց բոլոր տարբերակները նույնն են)
- Arduino UNO
- Առանց զոդման Breadboard
- Պին գլխագիր - 7 փին 90 ° (MaxSonar սարքի համար ՝ 180 ° օգտագործման համար տե՛ս * ստորև)
- Ibապավենային մալուխի jumper - 5 մետաղալար, արու -տղամարդ
- Cableապավենային մալուխի jumper - 2 մետաղալար, արու -տղամարդ
- Թռիչքաձող - արու -արական
- Կապի մետաղալար ՝ կարմիր և սև (Արդուինոյից մինչև հացաթխիչ և հացաթխիչ սարքերին աշխատելու համար)
- Arduino IDE և USB մալուխ ունեցող համակարգիչ Arduino UNO- ին միանալու համար
* MaxSonar- ը չի գալիս վերնագրով, այնպես որ կարող եք օգտագործել ձեր նախագծին առավել համապատասխան վերնագիրը: Այս Instructable- ի համար ես օգտագործեցի 90 ° վերնագիր, որպեսզի այն հեշտությամբ միացնեմ տախտակին: Որոշ նախագծերում 180 ° (ուղիղ) վերնագիր կարող է ավելի լավ լինել: Ես ներառում եմ մի լուսանկար, որը ցույց կտա, թե ինչպես կարելի է այն միացնել, որպեսզի դրանք փոխելու կարիք չունենաք: Եթե նախընտրում եք օգտագործել 180 ° վերնագիր, ձեզ հարկավոր կլինի լրացուցիչ 7 մետաղալար տղամարդու և կանանց ժապավենով մալուխային ցատկիչ `միանալու համար, ինչպես ցույց է տալիս իմ լուսանկարը:
Git Hub շտեմարան. Նախագծի ֆայլեր
Քայլ 1: Հետապնդում…
Նախքան մանրամասներին անդրադառնալը, թե ինչպես կարելի է ամեն ինչ կապել, որպեսզի կարողանաք ինքներդ փորձարկել այս երկու ֆանտաստիկ սարքերը, ես ուզում էի նկարագրել մի քանի բան, որոնցով ես հուսով եմ, որ այս Instructable- ը կօգնի ձեզ:
Քանի որ MaxSonar սարքը HC-SR04 սարքի համեմատ ավելի քիչ է օգտագործվում և քիչ հասկանալի, ես ուզում էի ցույց տալ.
- Ինչպես միացնել MaxSonar սարքը միկրոհսկիչին (այս դեպքում ՝ Arduino)
- Ինչպես չափումներ կատարել MaxSonar սարքի տարբեր ելքերից
- Համեմատեք MaxSonar սարքի միացումը HC-SR04 սարքի հետ
- Ստուգեք տարբեր մակերեսներով առարկաների հեռավորությունը չափելու ունակությունը
- Ինչու՞ կարող եք ընտրել մեկ սարքը մյուսի փոխարեն (կամ երկուսն էլ օգտագործել զուգահեռաբար)
Հուսով եմ, որ այս Instructable- ը կօգնի ձեզ այս հետապնդման մեջ…
Քայլ 2. Սկիզբ - Arduino -Breadboard Setup
Եթե դուք նախատիպեր եք պատրաստել Arduino- ի հետ, հավանաբար արդեն ունեք Arduino-Breadboard կարգավորում, որը ձեզ հարմար է: Եթե այո, ես վստահ եմ, որ դուք կարող եք օգտագործել այն այս Instructable- ի համար: Եթե ոչ, ես այսպես եմ ստեղծել իմը. Ազատ զգալ պատճենեք այն այս և ապագա նախագծերի համար:
- Ես ամրացնում եմ Arduino UNO- ն և անլար փոքրիկ տախտակը 3-3/8 "x 4-3/4" (8.6 x 12.0 սմ) պլաստիկի կտորին, որի ռետինե ոտքերը ներքևում են:
- Ես օգտագործում եմ կարմիր և սև 22-AWG միակցիչ մետաղալար ՝ Arduino- ից +5V և GND միացնելու համար հացահատիկի հոսանքի բաշխիչ ժապավենին
- Էլեկտրաէներգիայի հողաբաշխիչ ժապավենի վրա ես ներառում եմ 10 μF տանտալ կոնդենսատոր, որն օգնում է նվազեցնել էներգիայի աղմուկը (բայց այս նախագիծը դա չի պահանջում)
Սա ապահովում է գեղեցիկ հարթակ, որի հետ նախատիպը պատրաստելը հեշտ է:
Քայլ 3. Լարացրեք LV-MaxSonar-EZ- ը
MaxSonar սարքի վրա զարդարված 90 ° վերնագրով հեշտ է միացնել այն տախտակին: 5 փին ժապավենի մալուխը այնուհետ միացնում է MaxSonar- ը Arduino- ին, ինչպես երևում է գծապատկերում: Ի լրումն ժապավենային մալուխի, ես օգտագործում եմ կարմիր և սև կցորդիչ մետաղալարերի կարճ կտորներ էներգիայի բաշխիչ երկաթուղուց `սարքին էներգիա ապահովելու համար:
Հաղորդալարեր
ՄաքսՍոնար | Արդուինո | Գույն |
---|---|---|
1 (BW) | Power-GND | Դեղին |
2 (PW) | Թվային -5 | Կանաչ |
3 (AN) | Անալոգային -0 | Կապույտ |
4 (RX) | Թվային -3 | Մանուշակագույն |
5 (TX) | Թվային -2 | Մոխրագույն |
6 (+5) | +5 BB-PWR երկաթուղի | Կարմիր |
7 (GND) | GND BB-PWR երկաթուղի | Սեվ |
Նշում:
Թույլ մի տվեք, որ սույն Հրահանգում օգտագործվող միացումների քանակը թույլ չտա ձեզ հաշվի առնել MaxSonar- ը ձեր նախագծի համար: Այս Instructable- ն օգտագործում է MaxSonar ինտերֆեյսի բոլոր տարբերակները ՝ պատկերացնելու, թե ինչպես են դրանք աշխատում և դրանք համեմատելու միմյանց և HC-SR04 սարքի հետ: Տվյալ օգտագործման համար (օգտագործելով ինտերֆեյսի տարբերակներից մեկը) նախագիծը, ընդհանուր առմամբ, կօգտագործի ինտերֆեյսի մեկ կամ երկու կապ (գումարած ուժ և հող):
Քայլ 4. Լարացրեք HC-SR04- ը
HC-SR04- ը սովորաբար գալիս է արդեն ամրացված 90 ° վերնագրով, ուստի այն հեշտ է միացնել հացատախտակին: 2 փին ժապավենի մալուխը այնուհետև միացնում է HC-SR04- ը Arduino- ին, ինչպես երևում է գծապատկերում: Ի լրումն ժապավենային մալուխի, ես օգտագործում եմ կարմիր և սև կապի կարճ կտորներ էներգիայի բաշխիչ երկաթուղուց `սարքին էներգիա ապահովելու համար:
HC-SR04 | Արդուինո | Գույն |
---|---|---|
1 (VCC) | +5 BB-PWR երկաթուղի | Կարմիր |
2 (TRIG) | Թվային -6 | Դեղին |
3 (ECHO) | Թվային -7 | Նարնջագույն |
4 (GND) | GND BB-PWR երկաթուղի | Սեվ |
Քայլ 5. Միացրեք «HC-SR04» տարբերակի ընտրիչը
Երբ ես սկսեցի այս նախագիծը, իմ նպատակը պարզապես փորձարկել էր MaxSonar սարքի ինտերֆեյսի տարբեր տարբերակները: Գործարկվելուց հետո ես որոշեցի, որ լավ կլիներ այն համեմատել ամենուր առկա HC-SR04 (bugeye) սարքի հետ: Այնուամենայնիվ, ես ուզում էի, որ կարողանայի գործարկել/փորձարկել առանց դրա ներառված, ուստի կոդում ավելացրեցի տարբերակ/թեստ:
Կոդը ստուգում է մուտքագրման քորոցը `տեսնելու, թե արդյոք HC-SR04 սարքը պետք է ներառվի չափման ընթերցման և ելքի մեջ:
Դիագրամում սա ցուցադրվում է որպես անջատիչ, բայց տախտակի վրա ես պարզապես օգտագործում եմ jumper մետաղալար (ինչպես երեւում է լուսանկարներում): Եթե մետաղալարը միացված է GND- ին, HC-SR04- ը ներառվելու է չափումների մեջ: Arduino- ում կոդը «քաշվում է» (մուտքը դարձնում է բարձր/ճշմարիտ), այնպես որ, եթե այն ցածր չքաշվի (միացված է GND- ին), HC-SR04- ը չի չափվի:
Թեև այս հրահանգը վերածվեց երկու սարքերի համեմատության, ես որոշեցի դա թողնել տեղում ՝ ցույց տալու համար, թե ինչպես կարող եք ձեր նախագծում ներառել/բացառել տարբեր սարքեր/տարբերակներ:
Breadboard | Արդուինո | Գույն |
---|---|---|
GND BB-PWR երկաթուղի | Թվային -12 | Սպիտակ |
Քայլ 6: Ամեն ինչ աշխատեցնելը…
Այժմ, երբ ամեն ինչ խճճվել է, ժամանակն է գործերը գործի դնել:
Ինչպես նշվեց «Ենթադրություններ» -ում, ես չեմ պատրաստվում բացատրել, թե ինչպես է աշխատում Arduino IDE- ն կամ ինչպես ծրագրավորել Arduino- ն (մանրամասն):
Հետևյալ բաժինները քանդում են այս նախագծում ներառված Arduino ծածկագիրը:
Խնդրում ենք ամբողջական արխիվը բացել այն վայրում, որն օգտագործում եք ձեր Arduino- ի զարգացման համար: Տեղադրեք `MaxSonar-outputs.ino` կոդը ձեր Arduino IDE- ում և եկեք սկսենք:
Քայլ 7: Նախագծի դասավորություն
Նախագիծը պարունակում է տեղեկատվություն LV-MaxSonar-EZ սարքի, սխեմայի, README- ի և Arduino ծածկագրի մասին: Շղթայի սխեման Fritzing ձևաչափով է, ինչպես նաև-p.webp
Քայլ 8: Կոդի ներմուծում…
Այս Instructable- ում ես չեմ կարող անցնել ծածկագրի յուրաքանչյուր կողմը: Ես լուսաբանում եմ բարձր մակարդակի որոշ մանրամասներ: Ես խրախուսում եմ ձեզ կարդալ ծածկագրում առկա ամենաբարձր մակարդակի մեկնաբանությունը և փորփրել մեթոդները:
Մեկնաբանությունները տալիս են բազմաթիվ տեղեկություններ, որոնք ես այստեղ չեմ կրկնի:
Կան մի քանի բաներ, որոնք ես ուզում եմ նշել «տեղադրման» ծածկագրում…
- «_DEBUG_OUTPUT» - փոփոխական և #սահմանել հայտարարությունները
- Arduino- ի «կապում» սահմանումները, որոնք օգտագործվում են ինտերֆեյսի համար
- Հաշվարկներում օգտագործվող փոխակերպման գործոնների սահմանումները
Վրիպազերծումն օգտագործվում է ամբողջ ծածկագրում, և ես ցույց կտամ, թե ինչպես կարելի է այն դինամիկ միացնել/անջատել:
«Սահմանումներն» օգտագործվում են Arduino- ի կապումների և փոխակերպումների համար, որպեսզի ավելի հեշտ դարձնեն այս ծածկագիրը օգտագործել այլ նախագծերում:
Վրիպազերծում…
«Վրիպազերծում» բաժինը սահմանում է փոփոխական և որոշ մակրոներ, որոնք հեշտացնում են վրիպազերծման տեղեկատվության պահանջարկի սերիական թողարկում ներառելը:
«_DEBUG_OUTPUT» բուլյան փոփոխականը ծածկագրում սահմանվում է false (կարող է սահմանվել true) և օգտագործվում է որպես թեստ «DB_PRINT …» մակրոներում: Այն կարող է դինամիկ կերպով փոխվել կոդի մեջ (ինչպես երևում է `setDebugOutputMode` մեթոդով):
Գլոբալ…
Սահմանումներից հետո կոդը ստեղծում և նախաստորագրում է մի քանի գլոբալ փոփոխականներ և օբյեկտներ:
- SoftwareSerial (տես հաջորդ բաժինը)
- _loopCount - Օգտագործվում է յուրաքանչյուր «n» տողում վերնագիր թողարկելու համար
- _inputBuffer - Օգտագործվում է ընտրանքներ մշակելու համար սերիալ/տերմինալ մուտքագրում (կարգաբերում միացում/անջատում)
Քայլ 9: Arduino Software-Serial…
MaxSonar ինտերֆեյսի տարբերակներից մեկը սերիական տվյալների հոսքն է: Այնուամենայնիվ, Arduino UNO- ն ապահովում է միայն մեկ սերիական տվյալների միացում, և այն օգտագործվում է/կիսվում է USB պորտի հետ ՝ Arduino IDE- ի (ընդունիչ համակարգիչ) հետ հաղորդակցվելու համար:
Բարեբախտաբար, կա գրադարանային բաղադրիչ, որը ներառված է Arduino IDE- ի հետ, որն օգտագործում է զույգ Arduino թվային-մուտքի/ելքային կապեր ՝ սերիական i/o ինտերֆեյսի իրականացման համար: Քանի որ MaxSonar- ի սերիական ինտերֆեյսը օգտագործում է 9600 BAUD, այս «ծրագրային» ինտերֆեյսը հիանալի ունակ է վարել հաղորդակցությունը:
Նրանց համար, ովքեր օգտագործում են Arduino-Mega (կամ այլ սարք, որն ունի բազմաթիվ HW սերիական նավահանգիստներ), խնդրում ենք ազատ զգալ հարմարեցնել ծածկագիրը ֆիզիկական սերիական նավահանգստից օգտվելու համար և վերացնել SW-Serial- ի կարիքը:
«Ստեղծման» մեթոդը նախաստորագրում է «SoftwareSerial» ինտերֆեյսը, որը պետք է օգտագործվի MaxSonar սարքի հետ: Անհրաժեշտ է միայն ստանալ (RX): Ինտերֆեյսը «հակադարձ» է, որպեսզի համապատասխանի MaxSonar- ի արտադրանքին:
Քայլ 10: Կոդ - կարգավորում
Ինչպես նկարագրված է վերևում, «setup» մեթոդը նախաստորագրում է «SoftwareSerial» ինտերֆեյսը, ինչպես նաև ֆիզիկական սերիական ինտերֆեյսը: Այն կարգավորում է Arduino I/O կապում և ուղարկում վերնագիր:
Քայլ 11: Կոդ - հանգույց
«Օղակ» ծածկագիրը գործում է հետևյալ կերպ.
- Մուտքագրեք վերնագիր (օգտագործվում է վրիպազերծման և գծագրիչի համար)
- Գործարկեք MaxSonar- ը ՝ չափումներ կատարելու համար
- Կարդացեք MaxSonar Pulse-Width արժեքը
- Կարդացեք MaxSonar սերիական տվյալների արժեքը
- Կարդացեք MaxSonar անալոգային արժեքը
-
Ստուգեք «HC-SR04» տարբերակը և, եթե այն միացված է,
Միացրեք և կարդացեք HC-SR04 սարքը
- Տվյալները մուտքագրեք ներդիրով սահմանափակված ձևաչափով, որը կարող է օգտագործվել սերիական գծագրողի կողմից
- Սպասեք, մինչև բավական ժամանակ անցնի, որպեսզի այլ չափումներ կատարվեն
Քայլ 12. Կոդ. Գործարկեք MaxSonar- ը: Կարդացեք PW արժեքը
MaxSonar- ն ունի երկու ռեժիմ ՝ «գործարկված» և «շարունակական»
Այս հրահանգը օգտագործում է «գործարկված» ռեժիմը, սակայն շատ նախագծեր կարող են օգուտ քաղել «շարունակական» ռեժիմից (տե՛ս տվյալների թերթիկը):
«Գործարկված» ռեժիմն օգտագործելիս առաջին վավեր ելքը Pulse-Width (PW) ելքից է: Դրանից հետո մնացած ելքերը վավեր են:
«TiggerAndReadDistanceFromPulse»-ը զարկերակում է MaxSonar սարքի ձգանման քորոցը և կարդում ստացված զարկերակի լայնության հեռավորության արժեքը
Նկատի ունեցեք, որ ի տարբերություն շատ այլ սոնար սարքերի, MaxSonar- ը կարգավորում է երկկողմանի փոխակերպումը, ուստի ընթերցված հեռավորությունը թիրախի հեռավորությունն է:
Այս մեթոդը նույնպես բավական երկար է ձգձգում, որպեսզի սարքի մյուս ելքերը վավեր լինեն (սերիական, անալոգային):
Քայլ 13: Կոդ - Կարդացեք MaxSonar սերիական արժեքը
MaxSonar- ի գործարկումից հետո (կամ «շարունակական» ռեժիմում), եթե սերիական ելքի տարբերակը միացված է («BW - Pin -1» հսկողության միջոցով) ուղարկվում է «R nnn» տեսքով սերիական տվյալների հոսք, որին հետևում է ՓՈԽՈԹՅՈՆ-ՎԵՐԱԴԱՐՁ '\ r' կողմից: «Nnn» - ը օբյեկտի համար մատնաչափերի արժեքն է:
«ReadDistanceFromSerial» մեթոդը կարդում է սերիական տվյալները (Softwareրագրաշարի սերիական նավահանգստից) և «nnn» արժեքը վերածում է տասնորդականի: Այն ներառում է ձախողման դեպքում անվտանգ ընդմիջում ՝ սերիական արժեք չստանալու դեպքում:
Քայլ 14. Կոդ - Կարդացեք MaxSonar անալոգային արժեքը
MaxSonar անալոգային նավահանգիստը շարունակաբար ապահովում է ելքային լարում `համաչափ վերջին չափված հեռավորությանը: Այս արժեքը կարելի է կարդալ ցանկացած ժամանակ, երբ սարքը գործարկվում է: Արժեքը թարմացվում է վերջին հեռավորության ընթերցումից 50 մՍ -ի սահմաններում (գործարկվող կամ շարունակական ռեժիմ):
Արժեքը (Vcc/512) մեկ դյույմի համար: Այսպիսով, Arduino- ի 5 վոլտ հզորությամբ Vcc- ի դեպքում արժեքը կլինի 8 9.8mV/դյույմ: «ReadDistanceFromAnalog» մեթոդը կարդում է Arduino- ի անալոգային մուտքի արժեքը և փոխակերպում այն «դյույմ» արժեքի:
Քայլ 15. Կոդ. Գործարկեք և կարդացեք HC -SR04- ը
Չնայած կան գրադարաններ, որոնք կարող են կարդալ HC-SR04- ը, ես գտա, որ դրանցից ոմանք անվստահելի են տարբեր սարքերով, որոնց հետ ես փորձարկել եմ: Ես գտել եմ `sr04ReadDistance` մեթոդի մեջ ընդգրկված կոդը պարզ և ավելի հուսալի (որքան էլ էժան HC-SR04 սարքը կարող է լինել):
Այս մեթոդը սահմանում և միացնում է HC-SR04 սարքը, այնուհետև սպասում է չափելու վերադարձի զարկերակի լայնությունը: Pulարկերակի լայնությունը չափելը ներառում է HC-SR04 հարցի լուծման ժամանակամիջոց, որը շատ երկար է տևում, երբ այն չի կարող թիրախ գտնել: ~ 10 ոտնաչափ թիրախային հեռավորությունից ավելի երկար իմպուլսի լայնությունը ենթադրվում է, որ ոչ մի առարկա կամ անճանաչելի օբյեկտ է: Եթե ժամանակը սպառվում է, ապա «0» արժեքը վերադարձվում է որպես հեռավորություն: Այս «հեռավորությունը» (զարկերակի լայնությունը) կարող է ճշգրտվել ՝ օգտագործելով #սահմանվող արժեքները:
Իմպուլսի լայնությունը փոխակերպվում է շրջադարձի հեռավորության ՝ նախքան օբյեկտի հեռավորությունը վերադառնալը:
Քայլ 16. Կոդ - Arduino IDE սերիական գծագրիչի աջակցություն
Հիմա ելքի համար:
«Օղակ» մեթոդը խթանում է երկու սարքերից հեռավորության չափման հավաքումը, բայց ինչ ենք անում դրա հետ:
Դե, իհարկե, մենք կուղարկենք այն, որպեսզի այն դիտվի վահանակի վրա, բայց մենք ավելին ենք ուզում:
Arduino IDE- ն ապահովում է նաև Serial Plotter ինտերֆեյսը: Մենք դա կօգտագործենք ՝ մեր օբյեկտներից մինչև մեր սարքերի ելքերից հեռավորության իրական ժամանակի գրաֆիկը տրամադրելու համար:
Serial Plotter- ն ընդունում է վերնագիր, որը պարունակում է արժեքների պիտակներ և այնուհետև սահմանագծված արժեքների բազմաթիվ տողեր, որոնք պետք է գծված լինեն որպես գրաֆիկ: Եթե արժեքները կանոնավոր կերպով դուրս են բերվում («այսքան վայրկյան» մեկ անգամ) գրաֆիկը ցույց է տալիս օբյեկտից տարածության հեռավորությունը ժամանակի ընթացքում:
«Օղակ» մեթոդը դուրս է բերում MaxSonar- ի երեք արժեքը և HC-SR04- ի արժեքը `ներդիրով առանձնացված ձևաչափով, որը կարող է օգտագործվել Serial Plotter- ի հետ: Յուրաքանչյուր 20 տողից մեկ անգամ այն թողարկում է վերնագիրը (միայն այն դեպքում, եթե Serial Plotter- ը միացված է հոսքի միջին հատվածին):
Սա թույլ է տալիս այնպես պատկերացնել հեռավորությունը խոչընդոտին, ինչպես նաև տեսնել երկու սարքերի վերադարձած արժեքների տարբերությունը:
Քայլ 17: Կոդ - կարգաբերում…
Սխալների շտկումն անհրաժեշտություն է: Ինչպե՞ս կարող եք հետևել խնդրին, երբ ինչ -որ բան այնպես չի աշխատում, ինչպես սպասվում էր:
Հասկանալու առաջին գիծը հաճախ որոշ «պարզ» տեքստային ելքեր են, որոնք կարող են ցույց տալ, թե ինչ է կատարվում: Դրանք կարող են ավելացվել ծածկագրին, երբ և որտեղ անհրաժեշտ է խնդիրը գտնելու համար, իսկ հետո հեռացնել խնդիրը լուծվելուց հետո: Այնուամենայնիվ, ծածկագրի ավելացումն ու հեռացումը ժամանակատար է և, ինքնին, կարող է հանգեցնել այլ խնդիրների: Երբեմն ավելի լավ է կարողանալ դինամիկ կերպով միացնել և անջատել այն ՝ միայնակ թողնելով աղբյուրի կոդը:
Այս Ուղեցույցում ես ներառել եմ Arduino IDE սերիական մոնիտորից կարդացած մուտքագրումից դինամիկ կերպով միացնելու և անջատելու մեխանիզմ, որը թույլ է տալիս կարգաբերել տպման (սերիական ելքի) հայտարարությունները (առաջիկա թողարկումում ակնկալվում է, որ Serial Plotter- ը նույնպես կտրամադրի այս մուտքը):
«_DEBUG_OUTPUT» բուլյան օգտագործվում է տպագրության մի շարք #մեթոդներում, որոնք կարող են օգտագործվել կոդի ներսում: _DEBUG_OUTPUT փոփոխականի արժեքը օգտագործվում է տպագրությունը (ելք ուղարկելը) թույլ չտալու համար: Արժեքը կարող է դինամիկ կերպով փոխվել կոդի ներսում, ինչպես դա անում է `setDebugOutputMode` մեթոդը:
«SetDebugOutputMode» մեթոդը կոչվում է «հանգույցից» ՝ սերիական մուտքից ստացված մուտքի հիման վրա: Մուտքը վերլուծված է ՝ տեսնելու, թե արդյոք այն համընկնում է «debug on/off | true/false» ՝ կարգաբերման ռեժիմը միացնելու/անջատելու համար:
Քայլ 18: Եզրակացություն
Հուսով եմ, որ ապարատային այս պարզ կարգավորումը և օրինակի կոդը կարող են օգնել ձեզ հասկանալ HC-SR04 և LV-MaxSonar-EZ սարքերի տարբերությունները: Երկուսն էլ շատ հեշտ են օգտագործել, և ես կարծում եմ, որ յուրաքանչյուրն ունի իր առավելությունները: Իմանալը, թե երբ օգտագործել մեկը, քան մյուսը, կարող է էական նշանակություն ունենալ հաջողված ծրագրի համար:
BTW-Ես ակնարկեցի շատ հեշտ օգտագործման եղանակի ՝ LV-MaxSonar-EZ- ի միջոցով օբյեկտի հեռավորությունը ճշգրիտ չափելու համար … Դուք կարող եք օգտագործել անալոգային ելքը (մեկ մետաղալար) և շարունակական չափման ռեժիմը ՝ անհրաժեշտության դեպքում, պարզության միջոցով: կոդը `readDistanceFromAnalog`- ում` անմիջապես Arduino անալոգային մուտքից: Մեկ լար և (խտացված) կոդի մեկ տող:
Քայլ 19. Այլընտրանքային MaxSonar միացում (օգտագործելով 180 ° Վերնագիր)
Ինչպես նշեցի, MaxSonar- ը չի գալիս միացված վերնագրով: Այսպիսով, դուք կարող եք օգտագործել ցանկացած կապ, որն առավել հարմար է ձեր նախագծի համար: Որոշ դեպքերում 180 ° (ուղիղ) վերնագիրը կարող է ավելի տեղին լինել: Եթե դա այդպես է, ես ուզում էի արագ ցույց տալ, թե ինչպես կարող եք դա օգտագործել այս Instructable- ով: Այս նկարազարդումը ցույց է տալիս MaxSonar- ը ուղիղ վերնագրով, որը միացված է հացատախտակին արական և իգական ժապավենի մալուխով, այնուհետև միացված է Arduino- ին, ինչպես նկարագրված է հոդվածի մնացած մասում:
Քայլ 20: Arduino կոդ
Arduino ծածկագիրը նախագծի «MaxSonar-outputs» թղթապանակում է ՝ Sonar Range-Finder Comparison- ում
Խորհուրդ ենք տալիս:
RGB- ի հետ կապը Arduino- ի հետ TinkerCad- ում. 4 քայլ
RGB- ի հետ կապը Arduino- ի հետ TinkerCad- ում. Այս ձեռնարկում դուք կսովորեք Arduino RGB- ի միջոցով ինտերֆեյսերի մասին: RGB լուսարձակը բաղկացած է երեք տարբեր լուսարձակից, անունից կարող եք կռահել, որ այդ LED- ները կարմիր, կանաչ և կապույտ են: Մենք կարող ենք ձեռք բերել շատ այլ գույներ ՝ այս գույները խառնելով: The
AWS և IBM. IoT ծառայությունների համեմատություն. 4 քայլ
AWS և IBM. IoT ծառայությունների համեմատություն. Այսօր մենք համեմատում ենք երկու հավաքածու, որոնք հնարավորություն են տալիս մշակել IoT ծրագրեր ՝ տարբեր ծառայությունների առաջարկների տեսանկյունից
LoRa RFM98 Tutorial Ra-02 HopeRF մոդուլի համեմատություն. 6 քայլ
LoRa RFM98 Tutorial Ra-02 HopeRF մոդուլի համեմատություն. Հե ,յ, ինչ կա, տղերք: Աքարշ այստեղ ՝ CETech- ից: Այսօր այս հոդվածում մենք մտադիր ենք սովորել HopeRF- ի կողմից պատրաստված RFM LoRa մոդուլների մասին: Մենք կտեսնենք, թե որոնք են այն առանձնահատկությունները, որոնք առաջարկում է RFM մոդուլը, դրա ճշգրտումը, տարբերությունների միջև համեմատությունը
Համեմատություն Micro: bit- ի և Arduino- ի միջև ՝ 6 քայլ
Micro: bit- ի և Arduino- ի միջև համեմատություն. Ո՞րն է վերջերս արտադրողների շրջանում զարգացման ամենահայտնի տախտակը: Իհարկե, այն պետք է լինի միկրո: բիթ տախտակ: Տեխնիկական հսկա ընկերությունների համագործակցությամբ, ինչպիսիք են BBC- ն, Microsoft- ը, Samsung- ը և NXP- ն, micro: bit board- ն օժտված է ազնվական դասի լուսապսակով
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi