Как да свържа ултразвуков далекомер HC-SR04 към Arduino

Съдържание:

Как да свържа ултразвуков далекомер HC-SR04 към Arduino
Как да свържа ултразвуков далекомер HC-SR04 към Arduino

Видео: Как да свържа ултразвуков далекомер HC-SR04 към Arduino

Видео: Как да свържа ултразвуков далекомер HC-SR04 към Arduino
Видео: HC-SR04 Датчик расстояния и сигнализация на Ардуино! 2024, Ноември
Anonim

В тази статия ще свържем сонара за ултразвуков далекомер HC-SR04 към Arduino.

Ултразвуков сензор HC-SR04
Ултразвуков сензор HC-SR04

Необходимо

  • - Arduino;
  • - ултразвуков сензор HC-SR04;
  • - свързващи проводници.

Инструкции

Етап 1

Действието на ултразвуковия далекомер HC-SR04 се основава на принципа на ехолокация. Той излъчва звукови импулси в пространството и получава сигнал, отражен от препятствие. Разстоянието до обекта се определя от времето на разпространение на звуковата вълна до препятствието и обратно.

Звуковата вълна се задейства чрез прилагане на положителен импулс от поне 10 микросекунди към TRIG крака на далекомера. Веднага след като импулсът свърши, далекомерът излъчва поредица от звукови импулси с честота 40 kHz в пространството пред него. В същото време се стартира алгоритъмът за определяне на времето на закъснение на отразения сигнал и на крака на ECHO на далекомера се появява логическа единица. Веднага щом сензорът открие отразения сигнал, на щифта ECHO се появява логическа нула. Продължителността на този сигнал („Ехо забавяне“на фигурата) определя разстоянието до обекта.

Диапазон на измерване на разстояние на далекомер HC-SR04 - до 4 метра с резолюция 0,3 см. Ъгъл на наблюдение - 30 градуса, ефективен ъгъл - 15 градуса. Консумацията на ток в режим на готовност е 2 mA, по време на работа - 15 mA.

Принципът на работа на ултразвуковия далекомер HC-SR04
Принципът на работа на ултразвуковия далекомер HC-SR04

Стъпка 2

Захранването на ултразвуковия далекомер се извършва с напрежение +5 V. Останалите два щифта са свързани към всякакви цифрови портове на Arduino, ние ще се свържем към 11 и 12.

Свързване на ултразвуков далекомер HC-SR04 към Arduino
Свързване на ултразвуков далекомер HC-SR04 към Arduino

Стъпка 3

Сега нека напишем скица, която определя разстоянието до препятствието и го извежда към серийния порт. Първо, задаваме номерата на щифтовете TRIG и ECHO - това са щифтове 12 и 11. След това декларираме спусъка като изход, а ехото като вход. Инициализираме серийния порт при 9600 бода. При всяко повторение на цикъла () четем разстоянието и го извеждаме към порта.

Функцията getEchoTiming () генерира пусков импулс. Той просто създава ток от 10 микросекунди импулс, който е спусък за започване на излъчване от далекомера на звуков пакет в космоса. Тогава тя си спомня времето от началото на предаването на звуковата вълна до пристигането на ехото.

Функцията getDistance () изчислява разстоянието до обекта. От училищния курс по физика помним, че разстоянието е равно на скорост, умножена по време: S = V * t. Скоростта на звука във въздуха е 340 m / s, времето в микросекунди, което познаваме, е "duratuion". За да получите времето в секунди, разделете на 1 000 000. Тъй като звукът изминава два пъти разстоянието - до обекта и обратно - трябва да разделите разстоянието наполовина. Така се оказва, че разстоянието до обекта S = 34000 cm / sec * продължителност / 1.000.000 sec / 2 = 1.7 cm / sec / 100, което написахме в скицата. Микроконтролерът извършва умножение по-бързо от деление, затова замених "/ 100" с еквивалента "* 0, 01".

Скица за работа с ултразвуков сонар HC-SR04
Скица за работа с ултразвуков сонар HC-SR04

Стъпка 4

Също така са написани много библиотеки за работа с ултразвуков далекомер. Например този: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Библиотеката се инсталира по стандартен начин: изтеглете, разархивирайте в директорията на библиотеките, която се намира в папката с IDE на Arduino. След това библиотеката може да се използва.

След като инсталирахме библиотеката, нека напишем нова скица. Резултатът от работата му е същият - мониторът на серийния порт показва разстоянието до обекта в сантиметри. Ако напишете float dist_cm = ultrasonic. Ranging (INC); в скицата, разстоянието ще се покаже в инчове.

Скица на ултразвуков сонар с помощта на библиотека
Скица на ултразвуков сонар с помощта на библиотека

Стъпка 5

И така, свързахме ултразвуковия далекомер HC-SR04 към Arduino и получихме данни от него по два различни начина: с помощта на специална библиотека и без.

Предимството на използването на библиотеката е, че количеството код е значително намалено и четливостта на програмата е подобрена, не е нужно да задълбавате в тънкостите на устройството и можете веднага да го използвате. Но това е и недостатъкът: вие разбирате по-добре как работи устройството и какви процеси протичат в него. Във всеки случай кой метод да използвате зависи от вас.

Препоръчано: