Arduino-ға HC-SR04 ультрадыбыстық қашықтық өлшегішті қалай қосуға болады

Мазмұны:

Arduino-ға HC-SR04 ультрадыбыстық қашықтық өлшегішті қалай қосуға болады
Arduino-ға HC-SR04 ультрадыбыстық қашықтық өлшегішті қалай қосуға болады

Бейне: Arduino-ға HC-SR04 ультрадыбыстық қашықтық өлшегішті қалай қосуға болады

Бейне: Arduino-ға HC-SR04 ультрадыбыстық қашықтық өлшегішті қалай қосуға болады
Бейне: Display distance from Ultrasonic sensor as bargraph on LCD1602 LCD2004 using Arduino 2024, Мамыр
Anonim

Бұл мақалада біз HC-SR04 ультрадыбыстық қашықтық өлшегіш-сонарды Arduino-ға қосамыз.

Ультрадыбыстық датчик HC-SR04
Ультрадыбыстық датчик HC-SR04

Қажетті

  • - Ардуино;
  • - ультрадыбыстық датчик HC-SR04;
  • - сымдарды қосу.

Нұсқаулық

1-қадам

HC-SR04 ультрадыбыстық қашықтық өлшегіштің әрекеті эхолокация принципіне негізделген. Ол ғарышқа дыбыстық импульс шығарады және кедергіден шағылған сигнал алады. Нысанға дейінгі қашықтық дыбыс толқынының кедергіге және артқа таралу уақытымен анықталады.

Дыбыс толқыны қашықтық өлшегіштің TRIG аяғына кем дегенде 10 микросекундтық оң импульсті қолдану арқылы іске қосылады. Импульс аяқталған бойда қашықтық өлшегіш өзінің алдындағы кеңістікке жиілігі 40 кГц дыбыстық импульстарды шығарады. Бұл кезде шағылған сигналдың кідіріс уақытын анықтау алгоритмі іске қосылып, қашықтық өлшегіштің ECHO аяғында логикалық блок пайда болады. Датчик шағылған сигналды анықтай салысымен, ECHO түйреуішінде логикалық нөл пайда болады. Осы сигналдың ұзақтығы (суреттегі «Эхо кідірісі») объектіге дейінгі қашықтықты анықтайды.

HC-SR04 қашықтық өлшеуішінің арақашықтық өлшеу диапазоны - 0,3 см рұқсатымен 4 метрге дейін, бақылау бұрышы - 30 градус, тиімді бұрышы - 15 градус. Күту режимінде ағымдағы тұтыну 2 мА, жұмыс кезінде - 15 мА.

HC-SR04 ультрадыбыстық қашықтық өлшегіштің жұмыс істеу принципі
HC-SR04 ультрадыбыстық қашықтық өлшегіштің жұмыс істеу принципі

2-қадам

Ультрадыбыстық қашықтық өлшегіштің қуат көзі +5 В кернеуімен жүзеге асырылады, қалған екі түйреуіш Arduino кез-келген сандық порттарына қосылған, біз 11 және 12-ге қосыламыз.

Ардуиноға HC-SR04 ультрадыбыстық қашықтық өлшегішті қосу
Ардуиноға HC-SR04 ультрадыбыстық қашықтық өлшегішті қосу

3-қадам

Енді кедергіге дейінгі қашықтықты анықтайтын және оны сериялық портқа шығаратын эскиз жазайық. Алдымен біз TRIG және ECHO түйреуіштерінің сандарын орнатамыз - бұл 12 және 11 түйреуіштер. Содан кейін біз триггерді шығыс деп, ал жаңғырықты кіріс ретінде жариялаймыз. Біз сериялық портты 9600 жылдамдықта баптаймыз. Циклдің () әр қайталануында біз қашықтықты оқып, оны портқа шығарамыз.

GetEchoTiming () функциясы триггер импульсін тудырады. Ол жай ғана 10 микросекундалық импульсті жасайды, бұл дыбыстық дестенің кеңістіктегі қашықтық өлшегіштің сәулеленуін бастауы мүмкін. Содан кейін ол дыбыстық толқынның берілуінен бастап, эхо келгенге дейінгі уақытты есіне алады.

GetDistance () функциясы объектіге дейінгі қашықтықты есептейді. Мектептегі физика курсынан біз қашықтық уақытқа көбейтілген жылдамдыққа тең екенін есте сақтаймыз: S = V * t. Ауадағы дыбыстың жылдамдығы 340 м / с құрайды, микросекундтардағы уақыт біз «дуратуин». Уақытты бірнеше секунд ішінде алу үшін 1 000 000-ға бөліңіз. Дыбыс қашықтықтан екі есе - объектіге және артқа қарай жүретін болғандықтан, арақашықтықты екіге бөлу керек. Сонымен, біз нобайға жазған объектіге дейінгі қашықтық S = 34000 см / сек * ұзақтығы / 1.000.000 сек / 2 = 1.7 см / сек / 100 болады. Микроконтроллер көбейтуді бөлуге қарағанда тезірек орындайды, сондықтан мен «/ 100» -ді «* 0, 01» баламасына ауыстырдым.

Ультрадыбыстық sonar HC-SR04-мен жұмыс жасауға арналған эскиз
Ультрадыбыстық sonar HC-SR04-мен жұмыс жасауға арналған эскиз

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-ға қосып, одан мәліметтерді екі түрлі жолмен алдық: арнайы кітапхананы пайдалану және онсыз.

Кітапхананы пайдаланудың артықшылығы - кодтың мөлшері айтарлықтай азаяды және бағдарламаның оқылымдылығы жақсарады, құрылғының қыр-сырына үңілудің қажеті жоқ және оны бірден қолдануға болады. Бірақ бұл кемшілік те: сіз құрылғының қалай жұмыс істейтінін және онда қандай процестер жүретінін аз түсінесіз. Қалай болғанда да, қандай әдісті қолдану сізге байланысты.

Ұсынылған: