Категория: Arduino - проекты | Комментарии: 0
16 января 2016

Датчик расстояния HC-SR04 и Arduino. Готовое решение

Датчик расстояния ардуино HC-SR04 дальномер



Рассмотрим подключение датчика расстояния HC-SR04 к Ардуино. Для подключения использовалась Arduino Mega2556. Датчик HC-SR04 обошелся в 0.99 центов на Ebay. Доставка в Украину заняла всего ровно 2 недели.

Весьма и полноценно начитавшись статей про роботов которые используют данный дальномер HC-SR04 настало время его проверить. Что же в нем такого чудного что ни один робот не обходится без данного датчика? Проверим.
Общий вид дальномера.

Общий вид дальномера для ардуино


С обратной стороны находится обвес сенсоров, детально можно узнать из датащита производителя.

Подключение датчика HC-SR04


Объяснить работу дальномера очень легко. Если постараться объяснить проще преподавателю из универа, то будет достаточно знать то что одна часть датчика излучает ультразвуковой сигнал в предмет и в этот момент происходит подсчет времени сигнала за которое сигнал будет получен от предмета на вторую часть датчика. Далее время в программе преобразовывается в расстояние. Умножаясь на скорость распространения звука в воздухе 0.034 и деленное на 2. Результат получается в сантиметрах.

Ниже приведен код программы и результат. Про то куда подключать выводы с дальномера HC-SR04 на ардуине описано в коде и не должно вызвать сомнений и трудностей. Если есть вопросы спрашивайте в комментариях. Регистрация не нужна.

  1. /*
  2. * Создано специально для сайта 1injener.ru
  3. * Только проверенные программы
  4. * Проверялось на MEGA2560, NANO v3
  5. */
  6. // Установка пинов для датчика
  7. const int trigPin = 9;
  8. const int echoPin = 10;
  9. // Переменные для данных
  10. long duration;
  11. int distance;
  12. void setup() {
  13. pinMode(trigPin, OUTPUT); // Установка trigPin как выход
  14. pinMode(echoPin, INPUT); // Установка echoPin как вход
  15. Serial.begin(9600); // Установка скрости Serial
  16. }
  17. void loop() {
  18. // Очистка trigPin
  19. digitalWrite(trigPin, LOW);
  20. delayMicroseconds(2);
  21. // Установка trigPin в уровень HIGH на 10 микросекунд
  22. digitalWrite(trigPin, HIGH);
  23. delayMicroseconds(10);
  24. digitalWrite(trigPin, LOW);
  25. // Читаем с echoPin, возвращаем микросеккунды во время которых считывали
  26. duration = pulseIn(echoPin, HIGH);
  27. // Расчитываем расстояние. Взято из мануала производителя датчика
  28. distance= duration*0.034/2;
  29. // Выводим расстояние в Serial
  30. Serial.print("Distanse: ");
  31. Serial.println(distance);
  32. delay(1000);
  33. }

Датчик Ардуино IDE



И как обычно результат работы программы. Результат выводится в сантиметрах.
Точность измерения датчика составляет 1 см. Погрешности 1700 сантиметров по линейке не было обнаружено. Дальномер HC-SR04 зарекомендовал себя как точный инструмент.

2276_faujdin06ka.jpg



Так все же. По сути данный датчик HC-SR04 представляет серьезный инструмент. На основе дальности можно составлять карту местности или лабиринта, если быть альтруистом то можно построить и 3д модель основываясь на этот датчик (На нашем ресурсе есть такие заготовки, но сломались сервоприводы, и мы их ожидаем с Ebay). Так же в другой статье, возможно, будет описано пятно измерения в дальности.

Датчик хороший, советуем пользоваться. Применять можно где угодно, и в роботе и в доме, и на машину ставить.
Другие статьи по разделу:

anchore Бузер и Arduino. Звуковая пищалка [Проверенно]


anchore Сервопривод SG90 + Arduino. Подключение [180 градусов]


anchore Как я спал на датчике температуры DHT-11 для Arduino [Опыт 1]


anchore Домашний веб сервер на Аrduino. Температура и Реле [Проверенно]


Новые изобретения инженеров и техников, дизайнеров и обычных людей, все то что может изменить наш мир к лучшему. Новая техника и оружие, спасателей и спецназа. Гаджеты и девайсы, устройства для отдыха и работы. Советы для экономии семейного состояния. Все гениальные изобретения в простом формате! Ведь "Все - Просто!"
Copyright © 2013–2017
Автоматизация и проектирование - 1injener.ru