Как подключить дальномер на Ардуино??
В робототехнике очень часто стоит задача находить препятствия, измерять расстояние до объекта. После того, как робот обнаружил объект, он выполняет какое-нибудь действие, чтобы обойти препятствие. И как раз для таких целей и существует дальномер на Ардуино.
Из этой статьи вы узнаете:
Ультразвуковые дальномеры HC-SR04
Принцип работы ультразвукового дальномера
Схема подключения и пример скетча
Всем привет, читатели и гости блога. С вами на связи Гридин Семён. В этой статье мы с вами обсудим подключение Arduino UNO и простейшего ультразвукового дальномера HC-SR04.
Скажу по честному, ультразвуковой датчик годиться только для домашних и игрушечных устройств. Для чего-то серьёзного датчик не подойдёт. Он не очень надёжный.
Ультразвуковые дальномеры HC-SR04
Познакомимся с распространённым датчиком поближе.
Ультразвуковой датчик расстояния HC-SR04 — это размещённые на одну плату передатчик и приемник ультразвукового сигнала. Кроме них есть ещё необходимая смесь радиоэлементов для управления процессами передачи сигналов.
Датчик обладает низким энергопотреблением, что немаловажно для устройств на аккумуляторах. Питание датчика 5 В.
Распиновка датчика
VCC | Питание +5В |
Trig (T) | Вывод входного сигнала |
Echo® | Вывод выходного сигнала |
GND | земля |
Технические характеристики
Измеряемый диапазон | 2-500 см |
Точность | 0,3 см |
Эффективный угол наблюдения | 15 гр |
Рабочий угол наблюдения | 30 гр |
Питание | 5 В |
Ток потребления | 15 мА |
Принцип работы ультразвукового дальномера
Датчик состоит из двух элементов: пьезоизлучатель и пьезоприёмник. Излучатель генерирует сигнал, который отразившись от объекта попадает на приёмник. За счёт измеренного времени можно определить расстояние до объекта.
Последовательность операций при включении датчика:
- Подаём импульс продолжительностью 10 мкс на пин Trig
- Внутри датчика расстояния входной импульс преобразуется в 8 импульсов частотой 40 кГц и посылается через излучатель
- Дойдя до препятствия, посланные импульсы отражаются и принимаются приемником
- Непосредственно на контроллере мы получаем сигнал и переводим его в расстояние: ширина импульса (мкс)/58 = дистанция (см).
алкоголь оптом в москве дешево, xo in.
Схема подключения и пример скетча
Ну чтож, пробуем с вами следующую систему. Подключаем датчик вот по этой схеме:
Скачиваем специальную библиотеку для работы с датчиком. Или можете найти в архивах готовых библиотек в приложении Arduino IDE. Как устанавливать, я писал тут. На всякий случай скину вам скриншот.
Заливаем скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | int echoPin = 9; int trigPin = 8; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { int duration, cm; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); cm = duration / 58; Serial.print(cm); Serial.println(" cm"); delay(100); } |
Я на выходе получил вот такую картинку:
Ну всё, заканчиваю вам писать. Успешных вам проектирования и программирования интересных устройств. Пишите в комментариях, если есть пожелания, замечания и вопросы…
С уважением, Гридин Семен