norr@manorshi.com         +86-519-89185720
1
Цэнтр навін

Як выкарыстоўваць ультрагукавы датчык з Arduino?

Прагляды: 164     Аўтар: Грэйс Час публікацыі: 2021-07-26 Паходжанне: Сайт

кнопка абмену facebook
кнопка абмену ў Twitter
кнопка сумеснага выкарыстання лініі
кнопка абмену wechat
кнопка абмену LinkedIn
кнопка абагульвання pinterest
кнопка абмену WhatsApp
кнопка абмену какао
кнопка абмену snapchat
кнопка абмену тэлеграм
падзяліцца гэтай кнопкай абагульвання

Як выкарыстоўваць ультрагукавы датчык з Arduino: кіраўніцтва HC-SR04

The Ультрагукавой датчык HC-SR04 - адзін з самых папулярных модуляў вымярэння адлегласці для праектаў Arduino. Ён шырока выкарыстоўваецца ў робатах для ўхілення ад перашкод, датчыках паркоўкі, вызначэнні ўзроўню, разумных смеццевых баках, вымяральніках дыстанцыі і іншых праграмах бескантактавага зандзіравання.

Модуль выпраменьвае ультрагукавыя хвалі 40 кГц праз перадатчык. Калі гукавая хваля сустракае аб'ект, яна адбіваецца назад да прымача. Вымяраючы час рэха і выкарыстоўваючы хуткасць гуку, Arduino можа вылічыць адлегласць паміж датчыкам і аб'ектам.

Модуль ультрагукавога датчыка HC-SR04 для вымярэння адлегласці Arduino

HC-SR04 Асноўныя тэхнічныя параметры

Параметр Каштоўнасць
Тыповае працоўнае напружанне 5 В пастаяннага току
Статычны працоўны ток Менш за 5 мА на некаторых версіях модуляў
Працоўная частата Ультрагукавая хваля 40 кГц
Дыстанцыя выяўлення Агульны дыяпазон: ад 2 см да 400 см; некаторыя версіі з папраўкай на ўзмацненне могуць падтрымліваць большы дыяпазон.
Вугал выяўлення Звычайна ў межах 15 градусаў; некаторыя версіі з больш высокім узмацненнем могуць дасягаць каля 30 градусаў.
Дакладнасць Прыкладна да 0,3 см пры адпаведных умовах выпрабаванняў
Сляпая зона Каля 2 см мінімальная адлегласць вымярэння

Апісанне штыфта HC-SR04

Ультрагукавой модуль HC-SR04 мае чатыры кантакты: VCC, TRIG, ECHO і GND. Arduino адпраўляе кароткі імпульс запуску на штыфт TRIG, а затым счытвае зваротны імпульс з штыфта ECHO.

Штыфт HC-SR04 Падключэнне Arduino Функцыя
VCC Блок харчавання для ультрагукавога модуля.
ТРЫГ Лічбавы кантакт 9 Трыгерны ўваход. Arduino падае імпульс 10 мкс, каб пачаць вызначэнне далёкасці.
РЭХА Лічбавы кантакт 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 мкс, затым вяртае TRIG да нізкага ўзроўню. HC-SR04 пасылае ультрагукавой выбух і ўстанаўлівае высокі ўзровень ECHO, пакуль адлюстраваны сігнал не вернецца або пакуль вымярэнне не скончыцца.

Каб пазбегнуць няўстойлівых паказанняў, пакідайце невялікую затрымку паміж вымярэннямі. Звычайна выкарыстоўваецца цыкл вымярэння каля 60 мс, каб папярэдняе ультрагукавое рэха паспела знікнуць да наступнага запуску.

Асновы праграмавання Arduino: функцыя pulseIn

Функцыя Arduino pulseIn() выкарыстоўваецца для вымярэння таго, як доўга лічбавы пін застаецца ВЫСОКІМ або НІЗКІМ. Для HC-SR04 Arduino выкарыстоўвае pulseIn(echoPin, HIGH) для счытвання шырыні імпульсу высокага ўзроўню са штыфта ECHO.

Сінтаксіс Сэнс
pulseIn(пін-код, значэнне) Счытвае працягласць высокага або нізкага імпульсу.
pulseIn(пін-код, значэнне, тайм-аўт) Счытвае імпульс са значэннем тайм-аўту ў мікрасекундах.

Рэкамендуецца выкарыстоўваць тайм-аўт. Калі рэха не вяртаецца, функцыя можа спыніць чаканне і вярнуць 0 замест таго, каб занадта доўга блакаваць праграму.

Плата Arduino выкарыстоўваецца з ультрагукавым датчыкам адлегласці HC-SR04

Як падключыць ультрагукавой датчык HC-SR04 да Arduino

Праводка простая. Падключыце VCC да 5 В, GND да GND, TRIG да лічбавага выхаду Arduino і ECHO да лічбавага ўваходу Arduino. У наступным прыкладзе выкарыстоўваюцца Arduino Uno, TRIG на выснове 9 і ECHO на выснове 10.

Схема падлучэння макетнай платы Arduino Uno для ультрагукавога датчыка HC-SR04

Код Arduino ультрагукавога датчыка HC-SR04

Наступная тыповая праграма Arduino пасылае трыгерны імпульс 10 мкс, счытвае шырыню імпульсу ECHO, разлічвае адлегласць у сантыметрах і друкуе вынік на паслядоўным маніторы.

const int trigPin = 9; const int echoPin = 10; вялікая працягласць; плыць адлегласцьCm; несапраўдная ўстаноўка () { pinMode (trigPin, ВЫХОД);   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('Па-за дыяпазонам');   } else { distanceCm = працягласць * 0,0343 / 2;     Serial.print('Адлегласць: ');     Serial.print(distanceCm);     Serial.println(' см');   } затрымка (60); }

Калі вы бачыце значэнні адлегласці ў паслядоўным маніторы, ультрагукавы датчык HC-SR04 і праводка Arduino працуюць правільна. Затым вы можаце выкарыстоўваць даныя аб адлегласці для выяўлення перашкод, кіравання рухам робата, аўтаматычных дзвярэй, напамінкаў аб паркоўцы або праектаў узроўню вадкасці.

Праграма ультрагукавога датчыка Arduino HC-SR04

Як павысіць дакладнасць вымярэння HC-SR04

  • Трымайце вымяраны аб'ект у межах рэкамендаванага дыяпазону адлегласці і па-за межамі сляпой зоны 2 см.

  • Выкарыстоўвайце плоскую і цвёрдую паверхню мішэні для лепшага ультрагукавога адлюстравання.

  • Пазбягайце вымярэнняў на мяккіх, нахіленых, порыстых або гукапаглынальных матэрыялах.

  • Выкарыстоўвайце стабільны крыніца сілкавання 5 В і трымайце правадку кароткай і надзейнай.

  • Дадайце тайм-аўт да pulseIn(), каб прадухіліць працяглую блакіроўку, калі рэха не вяртаецца.

  • Асерадніце або адфільтруйце некалькі паказанняў, каб паменшыць шум.

  • Для большай дакладнасці кампенсуйце тэмпературу, таму што хуткасць гуку змяняецца з тэмпературай паветра.

Распаўсюджанае прымяненне праектаў ультрагукавых датчыкаў Arduino

Ужыванне Як выкарыстоўваецца HC-SR04
Робат для ўхілення ад перашкод Выяўляе бліжэйшыя аб'екты і дапамагае робату змяніць кірунак.
Датчык адлегласці паркоўкі Вымярае адлегласць паміж транспартным сродкам і перашкодай.
Вызначэнне ўзроўню вадкасці Вымярае адлегласць ад датчыка да паверхні вадкасці без кантакту.
Разумнае смеццевае вядро Выяўляе руку ці прадмет побач і запускае аўтаматычнае адкрыццё вечка.

Рэзюмэ

Каб выкарыстоўваць ультрагукавы датчык HC-SR04 з Arduino, падключыце VCC да 5 В, GND да GND, TRIG да лічбавага выхаду і ECHO да лічбавага ўваходу. Адпраўце трыгерны імпульс 10 мкс, прачытайце працягласць рэха з дапамогай pulseIn() і вылічыце адлегласць з дапамогай формулы часу пралёта.

HC-SR04 недарагі, просты ў выкарыстанні і падыходзіць для многіх праектаў вымярэння адлегласці Arduino. Для дасягнення найлепшых вынікаў звярніце ўвагу на мэтавую паверхню, вугал вымярэння, сляпую зону, стабільную магутнасць, апрацоўку тайм-аўту і тэмпературныя эфекты.

Часта задаюць пытанні аб ультрагукавым датчыку Arduino HC-SR04

Як ультрагукавой датчык HC-SR04 працуе з Arduino?

Arduino пасылае імпульс 10 мкс на штыфт TRIG. HC-SR04 выпраменьвае восем ультрагукавых імпульсаў з частатой 40 кГц і ўстанаўлівае высокі ўзровень ECHO, пакуль адлюстраваны гук не вернецца. Arduino вымярае гэты час імпульсу і разлічвае адлегласць.

Якая формула адлегласці для праектаў HC-SR04 Arduino?

Формула: адлегласць = працягласць × хуткасць гуку / 2. У сантыметрах звычайная формула Arduino - адлегласць 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 мс паміж вымярэннямі.

Змест