norr@manorshi.com         +86-519-89185720
1
Լրատվական կենտրոն

Ինչպե՞ս օգտագործել ուլտրաձայնային սենսոր Arduino-ի հետ:

Դիտումներ՝ 164     Հեղինակ՝ Գրեյս Հրատարակման ժամանակը՝ 2021-07-26 Ծագում: Կայք

Ֆեյսբուքի փոխանակման կոճակ
Twitter-ի համօգտագործման կոճակը
տողերի փոխանակման կոճակ
wechat-ի փոխանակման կոճակը
linkedin-ի համօգտագործման կոճակը
pinterest-ի համօգտագործման կոճակը
whatsapp-ի համօգտագործման կոճակ
kakao համօգտագործման կոճակ
snapchat-ի համօգտագործման կոճակ
հեռագրի փոխանակման կոճակ
կիսել այս համօգտագործման կոճակը

Ինչպես օգտագործել ուլտրաձայնային սենսորը Arduino-ով. HC-SR04 ուղեցույց

Այն HC-SR04 ուլտրաձայնային սենսորը Arduino նախագծերի համար հեռավորության չափման ամենատարածված մոդուլներից մեկն է: Այն լայնորեն օգտագործվում է խոչընդոտներից խուսափող ռոբոտների, կայանման սենսորների, մակարդակի հայտնաբերման, խելացի աղբարկղերի, հեռավորության հաշվիչների և այլ ոչ կոնտակտային զգայական ծրագրերում:

Մոդուլն արձակում է 40 կՀց ուլտրաձայնային ալիքներ հաղորդիչի միջոցով: Երբ ձայնային ալիքը հանդիպում է որևէ առարկայի, այն արտացոլվում է դեպի ստացողը: Չափելով արձագանքների ժամանակը և օգտագործելով ձայնի արագությունը՝ Arduino-ն կարող է հաշվարկել սենսորի և օբյեկտի միջև հեռավորությունը։

HC-SR04 ուլտրաձայնային սենսորային մոդուլ Arduino-ի հեռավորության չափման համար

HC-SR04 Հիմնական տեխնիկական պարամետրեր

Պարամետր Արժեք
Տիպիկ աշխատանքային լարումը 5V DC
Ստատիկ աշխատանքային հոսանք 5 մԱ-ից պակաս մոդուլի որոշ տարբերակներում
Գործողության հաճախականությունը 40 կՀց ուլտրաձայնային ալիք
Հայտնաբերման հեռավորությունը Ընդհանուր միջակայք՝ 2սմ-ից 400սմ; որոշ շահույթով ճշգրտված տարբերակներ կարող են աջակցել ավելի երկար տիրույթի:
Հայտնաբերման անկյուն Սովորաբար 15 աստիճանի սահմաններում; Որոշ տարբերակներ ավելի բարձր շահույթով կարող են հասնել մոտ 30 աստիճանի:
Ճշգրտություն Մինչև մոտ 0,3 սմ՝ համապատասխան փորձարկման պայմաններում
Կույր գոտի Մոտ 2 սմ նվազագույն չափման հեռավորություն

HC-SR04 Pin Նկարագրություն

HC-SR04 ուլտրաձայնային մոդուլն ունի չորս կապ՝ VCC, TRIG, ECHO և GND: Arduino-ն ուղարկում է կարճ ձգանային զարկերակ TRIG փին, այնուհետև կարդում է վերադարձի իմպուլսը ECHO փինից:

HC-SR04 փին Arduino միացում Գործառույթ
VCC 5 Վ Ուլտրաձայնային մոդուլի էլեկտրամատակարարում:
TRIG Թվային փին 9 Գործարկիչի մուտքագրում: Arduino-ն կիրառում է 10us զարկերակ՝ տիրույթ սկսելու համար:
ԷԽՈ Թվային փին 10 Էխոյի ելք. Arduino-ն կարդում է իմպուլսի լայնությունը՝ հեռավորությունը հաշվարկելու համար:
GND GND Վերգետնյա միացում:

HC-SR04 ուլտրաձայնային սենսորային ցուցիչ VCC TRIG ECHO GND

HC-SR04 ուլտրաձայնային սենսորի աշխատանքային սկզբունքը

HC-SR04-ն աշխատում է թռիչքի ժամանակի չափման միջոցով: Arduino-ն առնվազն 10 միկրովայրկյանանոց բարձր մակարդակի ձգանման ազդանշան է ուղարկում TRIG փին: Այնուհետև մոդուլը ավտոմատ կերպով ուղարկում է ութ 40 կՀց ուլտրաձայնային իմպուլս և սպասում արտացոլված արձագանքին:

Երբ արտացոլված ուլտրաձայնային ազդանշանը հայտնաբերվում է, ECHO քորոցը բարձր մակարդակի իմպուլս է հաղորդում: Այս զարկերակի տեւողությունը ուլտրաձայնային ալիքի հետադարձ ճանապարհորդության ժամանակն է:

Հեռավորություն = Էխոյի բարձր մակարդակի ժամանակ × Ձայնի արագություն / 2

Arduino կոդում ընդհանուր պարզեցված բանաձևը հետևյալն է.

Հեռավորությունը սմ = տևողություն × 0,0343 / 2

HC-SR04 ուլտրաձայնային մոդուլի թռիչքի աշխատանքի սկզբունքը

HC-SR04 ուլտրաձայնային մոդուլի ժամանակային դիագրամ

Ժամկետավորման գործընթացը պարզ է. Arduino-ն հակիրճ պահում է TRIG-ը ցածր, ուղարկում է 10 us բարձր զարկերակ, այնուհետև վերադարձնում է TRIG-ը ցածր: HC-SR04-ը ուղարկում է ուլտրաձայնային պոռթկում և բարձրացնում է ECHO-ն, մինչև արտացոլված ազդանշանը վերադառնա կամ չափման ժամանակը սպառվի:

Անկայուն ընթերցումներից խուսափելու համար չափումների միջև թողեք կարճ ուշացում: Սովորաբար օգտագործվում է մոտ 60 մս չափման ցիկլ, որպեսզի նախորդ ուլտրաձայնային արձագանքը ժամանակ ունենա անհետանալու մինչև հաջորդ ձգան:

Arduino ծրագրավորման հիմունքներ. pulseIn ֆունկցիա

Arduino pulseIn() ֆունկցիան օգտագործվում է չափելու համար, թե որքան երկար է թվային պինդը մնում HIGH կամ LOW: HC-SR04-ի համար Arduino-ն օգտագործում է pulseIn(echoPin, HIGH) ՝ կարդալու իմպուլսի բարձր մակարդակի լայնությունը ECHO փինից:

Շարահյուսություն Իմաստը
pulseIn (փին, արժեք) Կարդում է ԲԱՐՁՐ կամ ՑԱԾՐ իմպուլսի տևողությունը:
pulseIn (pin, արժեք, timeout) Կարդում է զարկերակը միկվայրկյաններով ընդմիջման արժեքով:

Խորհուրդ է տրվում օգտագործել ժամանակի ընդմիջում: Եթե ​​արձագանք չվերադարձվի, ֆունկցիան կարող է դադարեցնել սպասելը և վերադարձնել 0՝ ծրագիրը չափազանց երկար արգելափակելու փոխարեն:

Arduino տախտակ, որն օգտագործվում է HC-SR04 ուլտրաձայնային հեռավորության սենսորով

Ինչպես միացնել HC-SR04 ուլտրաձայնային ցուցիչը Arduino-ին

Հաղորդալարերը պարզ են: VCC-ին միացրեք 5V-ին, GND-ին GND-ին, TRIG-ին Arduino թվային ելքային փինին և ECHO-ին Arduino թվային մուտքային փինին: Հետևյալ օրինակը օգտագործում է Arduino Uno-ն, TRIG-ը 9-րդ պինում և ECHO-ն՝ 10-րդ կապում:

Arduino Uno breadboard-ի միացման դիագրամ HC-SR04 ուլտրաձայնային սենսորի համար

HC-SR04 Ուլտրաձայնային ցուցիչ Arduino կոդը

Հետևյալ սովորական Arduino ծրագիրը ուղարկում է 10us ձգանման իմպուլս, կարդում է ECHO իմպուլսի լայնությունը, հաշվարկում է հեռավորությունը սանտիմետրերով և արդյունքը տպում Սերիական մոնիտորում:

const int trigPin = 9; const int echoPin = 10; երկար տևողություն; լողացող հեռավորությունըCm; void setup() {pinMode(trigPin, OUTPUT);   pinMode (echoPin, INPUT);   Serial.begin (9600); } void loop() { digitalWrite(trigPin, LOW);   հետաձգումՄիկրովայրկյան (2);   digitalWrite (trigPin, HIGH);   հետաձգումՄիկրովայրկյան (10);   digitalWrite (trigPin, LOW);   տեւողությունը = pulseIn (echoPin, HIGH, 30000);   if (duration == 0) { Serial.println('Out of the range');   } else { distanceCm = տեւողությունը * 0,0343 / 2;     Serial.print ('Հեռավորություն: ');     Serial.print(distanceCm);     Serial.println('cm');   } հետաձգում (60); }

Եթե ​​սերիական մոնիտորում տեսնում եք հեռավորության արժեքներ, ապա HC-SR04 ուլտրաձայնային սենսորը և Arduino լարերը ճիշտ են աշխատում: Այնուհետև կարող եք օգտագործել հեռավորության տվյալները խոչընդոտների հայտնաբերման, ռոբոտի շարժման կառավարման, ավտոմատ դռների, կայանման հիշեցումների կամ հեղուկ մակարդակի նախագծերի համար:

Arduino HC-SR04 ուլտրաձայնային սենսորների միջակայքի ծրագիր

Ինչպես բարելավել HC-SR04 չափման ճշգրտությունը

  • Պահեք չափված առարկան առաջարկվող հեռավորության միջակայքում և 2 սմ կույր գոտուց դուրս:

  • Ուլտրաձայնային ավելի լավ արտացոլման համար օգտագործեք հարթ և ամուր թիրախային մակերես:

  • Խուսափեք փափուկ, անկյունային, ծակոտկեն կամ ձայնը կլանող նյութերի չափումից:

  • Օգտագործեք կայուն 5 Վ սնուցման աղբյուր և լարերը կարճ և ապահով պահեք:

  • Ավելացրե՛ք pulseIn()-ին ժամանակացույց՝ կանխելու երկար արգելափակումը, երբ արձագանք չկա:

  • Աղմուկը նվազեցնելու համար մի քանի ընթերցումներ միջին կամ միջին զտեք:

  • Ավելի բարձր ճշգրտության համար փոխհատուցեք ջերմաստիճանը, քանի որ ձայնի արագությունը փոխվում է օդի ջերմաստիճանի հետ:

Arduino ուլտրաձայնային սենսորային նախագծերի ընդհանուր կիրառությունները

Դիմում Ինչպես է օգտագործվում HC-SR04-ը
Խոչընդոտներից խուսափող ռոբոտ Հայտնաբերում է մոտակա առարկաները և օգնում ռոբոտին փոխել ուղղությունը:
Կայանման հեռավորության սենսոր Չափում է մեքենայի և խոչընդոտի միջև հեռավորությունը:
Հեղուկի մակարդակի հայտնաբերում Չափում է սենսորից մինչև հեղուկ մակերեսի հեռավորությունը առանց շփման:
Խելացի աղբարկղ Հայտնաբերում է մոտակա ձեռքը կամ առարկան և գործարկում է կափարիչի ավտոմատ բացումը:

Ամփոփում

Arduino-ի հետ HC-SR04 ուլտրաձայնային սենսոր օգտագործելու համար VCC-ին միացրեք 5V-ին, GND-ին GND-ին, TRIG-ին թվային ելքային փինին և ECHO-ին միացրեք թվային մուտքագրման փինին: Ուղարկեք 10us ձգանային զարկերակ, կարդացեք արձագանքի տևողությունը pulseIn(-ով) և հաշվարկեք հեռավորությունը թռիչքի ժամանակի բանաձևով:

HC-SR04-ը էժան է, հեշտ օգտագործման համար և հարմար է Arduino-ի հեռավորության չափման բազմաթիվ նախագծերի համար: Լավագույն արդյունքների համար ուշադրություն դարձրեք թիրախային մակերեսին, չափման անկյունին, կույր գոտուն, կայուն հզորությանը, ժամանակի բեռնաթափմանը և ջերմաստիճանի էֆեկտներին:

Հաճախակի տրվող հարցեր HC-SR04 Arduino ուլտրաձայնային սենսորի մասին

Ինչպե՞ս է HC-SR04 ուլտրաձայնային սենսորն աշխատում Arduino-ի հետ:

Arduino-ն ուղարկում է 10us զարկերակ TRIG փին: HC-SR04-ը արձակում է ութ 40kHz ուլտրաձայնային իմպուլսներ և բարձրացնում է ECHO փին, մինչև արտացոլված ձայնը վերադառնա: Arduino-ն չափում է այս իմպուլսի ժամանակը և հաշվարկում հեռավորությունը:

Ո՞րն է հեռավորության բանաձևը HC-SR04 Arduino նախագծերի համար:

Բանաձևն է՝ հեռավորություն = տևողություն × ձայնի արագություն / 2: Արդուինոյի ընդհանուր բանաձևը սանտիմետրերով է՝ հեռավորությունCm = տևողություն × 0,0343/2, որտեղ տևողությունը չափվում է միկրովայրկյաններով:

Ինչո՞ւ ենք ուլտրաձայնային սենսորի արդյունքը բաժանում 2-ի:

Էխոյի չափված ժամանակը սենսորից դեպի օբյեկտ և ետ դեպի սենսոր վերադարձի ժամանակն է: 2-ի բաժանումը տալիս է սենսորի և օբյեկտի միջև միակողմանի հեռավորությունը:

Ո՞ր Arduino փիները պետք է օգտագործեմ TRIG-ի և ECHO-ի համար:

Դուք կարող եք օգտագործել Arduino թվային կապի մեծ մասը: Բազմաթիվ օրինակներում TRIG-ը միացված է թվային կապին 9, իսկ ECHO-ն միացված է թվային 10-ին: Կոդը պետք է համապատասխանի ձեր էլեկտրահաղորդման մեջ օգտագործվող կապին:

Ինչո՞ւ է իմ HC-SR04 ուլտրաձայնային սենսորը վերադարձնում զրո կամ պատահական արժեքներ:

Ընդհանուր պատճառները ներառում են թուլացած լարերը, անկայուն 5 Վ հոսանք, սխալ TRIG կամ ECHO փին թվեր, տիրույթում գտնվող օբյեկտի բացակայություն, թիրախի անկյունային մակերեսներ, փափուկ նյութեր, արգելափակված սենսորային գլուխներ կամ pulseIn() ֆունկցիայի ժամանակի բացակայություն:

Ո՞րն է HC-SR04 ուլտրաձայնային սենսորի կույր գոտին:

Կույր գոտին այն նվազագույն հեռավորությունն է, որտեղ մոդուլը չի ​​կարող հուսալիորեն չափել: HC-SR04-ի համար կույր գոտին սովորաբար մոտ 2 սմ է: Սրանից ավելի մոտ գտնվող առարկաները կարող են անկայուն ընթերցումներ առաջացնել:

Կարո՞ղ է HC-SR04-ը չափել ջրի մակարդակը Arduino-ով:

Այո, HC-SR04-ը կարող է օգտագործվել ջրի մակարդակի ոչ կոնտակտային պարզ նախագծերի համար, եթե սենսորը պաշտպանված է խոնավությունից և տեղադրված է հեղուկի մակերեսից վեր: Խոնավ, բացօթյա կամ արդյունաբերական տանկերի համար խորհուրդ է տրվում անջրանցիկ ուլտրաձայնային սենսոր:

Ինչպե՞ս կարող եմ ավելի կայուն դարձնել Arduino-ի ուլտրաձայնային սենսորների ընթերցումները:

Օգտագործեք կայուն սնուցման աղբյուր, սենսորը պահեք թիրախին ուղղահայաց, խուսափեք փափուկ կամ անկյունային մակերեսներից, ավելացրեք pulseIn-ի ժամանակի դադար, կատարեք մի քանի ընթերցումներ, օգտագործեք միջին ֆիլտրում և թույլ տվեք մոտ 60 մվ չափումների միջև:

Բովանդակության աղյուսակ