Այս հոդվածում մենք միացնելու ենք HC-SR04 ուլտրաձայնային հեռահարաչափը-սոնարը Arduino- ին:
Անհրաժեշտ է
- - Arduino;
- - ուլտրաձայնային սենսոր HC-SR04;
- - լարերը միացնող:
Հրահանգներ
Քայլ 1
HC-SR04 ուլտրաձայնային հեռաչափի գործողությունը հիմնված է էխոլոկացիայի սկզբունքի վրա: Այն ձայնային ազդակներ է արձակում տարածություն և ստանում խոչընդոտից արտացոլված ազդանշան: Առարկան հեռավորությունը որոշվում է ձայնային ալիքի տարածման ժամանակով դեպի խոչընդոտ և հետ:
Ձայնային ալիքը մղվում է առնվազն 10 միկրոմայրկյան դրական զարկերակի կիրառմամբ հեռաչափի TRIG ոտքին: Theարկերակն ավարտվելուն պես, հեռաչափիչը իր դիմաց տարածություն է արձակում ձայնային իմպուլսների պայթյուն ՝ 40 կՀց հաճախականությամբ: Միևնույն ժամանակ գործարկվում է արտացոլված ազդանշանի հետաձգման ժամանակը որոշելու ալգորիթմը, և հեռաչափի ECHO- ի ոտքին հայտնվում է տրամաբանական միավոր: Հենց սենսորը հայտնաբերում է արտացոլված ազդանշանը, ECHO քորոցի վրա հայտնվում է տրամաբանական զրո: Այս ազդանշանի տևողությունը (նկարում «Էխոյի հետաձգում») որոշում է օբյեկտի հեռավորությունը:
HC-SR04 հեռաչափի հեռավորության չափման միջակայքը `մինչև 4 մետր 0,3 սմ թույլատրելիությամբ: Դիտարկման անկյունը` 30 աստիճան, արդյունավետ անկյունը `15 աստիճան: Սպասման ռեժիմում ընթացիկ սպառումը 2 մԱ է, շահագործման ընթացքում `15 մԱ:
Քայլ 2
Ուլտրաձայնային հեռաչափի էլեկտրամատակարարումն իրականացվում է +5 Վ լարման հետ: Մյուս երկու քորոցները միացված են Arduino- ի ցանկացած թվային պորտերին, մենք միանալու ենք 11-ին և 12-ին:
Քայլ 3
Հիմա եկեք գրենք ուրվագիծ, որը որոշում է խոչընդոտի հեռավորությունը և դուրս բերում այն սերիական նավահանգիստ: Նախ, մենք սահմանում ենք TRIG և ECHO քորոցների համարները. Սրանք 12-րդ և 11-րդ քորոցներն են: Դրանից հետո մենք հայտարարում ենք ձգանը որպես ելք, իսկ արձագանքը ՝ որպես մուտք: Մենք հաջորդականացնում ենք սերիական նավահանգիստը 9600 բաուդում: Օղակի յուրաքանչյուր կրկնության ժամանակ () մենք կարդում ենք հեռավորությունը և այն դուրս բերում նավահանգիստ:
GetEchoTiming () ֆունկցիան առաջացնում է ձգանման զարկերակ: Դա պարզապես ստեղծում է 10 միկրովայրկյան զարկերակի հոսանք, որը ազդակ է ձայնային փաթեթի հեռավորության վրա տարածության ճառագայթման սկիզբը տարածություն: Հետո նա հիշում է ձայնային ալիքի փոխանցման սկզբից մինչ արձագանքի ժամանումը ժամանակը:
GetDistance () ֆունկցիան հաշվարկում է օբյեկտի հեռավորությունը: Դպրոցական ֆիզիկայի դասընթացից մենք հիշում ենք, որ հեռավորությունը հավասար է ժամանակի վրա բազմապատկած արագությանը. S = V * t: Օդի մեջ ձայնի արագությունը 340 մ / վ է, իսկ մեզ հայտնի միկրովայրկյանների ժամանակը `« երկխոսություն »: Secondsամանակը վայրկյաններով ստանալու համար բաժանեք 1 000 000-ի: Քանի որ ձայնը անցնում է երկու անգամ հեռավորությունից `օբյեկտից և հետից, պետք է տարածությունը կիսել կիսով չափ: Այսպիսով, ստացվում է, որ հեռավորությունը օբյեկտին S = 34000 սմ / վրկ * տևողություն / 1.000.000 վրկ / 2 = 1.7 սմ / վրկ / 100, որը մենք գրել ենք ուրվագծում: Միկրոհսկիչը բազմապատկումն ավելի արագ է կատարում, քան բաժանումը, ուստի ես «/ 100» -ը փոխարինեցի համարժեք «* 0, 01»:
Քայլ 4
Բացի այդ, շատ գրադարաններ գրվել են ուլտրաձայնային հեռաչափի հետ աշխատելու համար: Օրինակ ՝ այս մեկը ՝ https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip: Գրադարանը տեղադրվում է ստանդարտ եղանակով. Ներբեռնել, ապամոնտաժել գրադարանների գրացուցակում, որը գտնվում է Arduino IDE- ի թղթապանակում: Դրանից հետո գրադարանը կարող է օգտագործվել:
Տեղադրելով գրադարանը, եկեք գրենք նոր ուրվագիծ: Նրա աշխատանքի արդյունքը նույնն է. Սերիական պորտի մոնիտորը սանտիմետրերով ցուցադրում է օբյեկտի հեռավորությունը: Եթե դուք ուրվագծում գրում եք float dist_cm = ultrasonic. Ranging (INC); ուրվագիծը, ապա հեռավորությունը կցուցադրվի դյույմներով:
Քայլ 5
Այսպիսով, մենք միացրեցինք HC-SR04 ուլտրաձայնային հեռաչափը Arduino- ին և դրանից ստացանք տվյալներ երկու տարբեր ձևերով `օգտագործելով հատուկ գրադարան և առանց դրա:
Գրադարանի օգտագործման առավելությունն այն է, որ ծածկագրերի քանակը զգալիորեն կրճատվում է և բարելավվում է ծրագրի ընթեռնելիությունը, դուք ստիպված չեք խորանալ սարքի բարդությունների մեջ և կարող եք անմիջապես օգտագործել այն: Բայց սա նաև թերությունն է. Դուք ավելի քիչ եք հասկանում, թե ինչպես է աշխատում սարքը և ինչ գործընթացներ են տեղի ունենում դրանում: Ամեն դեպքում, թե որ մեթոդն օգտագործելը ձեզնից է կախված: