Упрощаем замеры расстояния: ультразвуковой дальномер на ардуино

Принцип действия

Ультразвуковой дальномер определяет расстояние до объектов точно так же, как это делают дельфины или летучие мыши. Он генерирует звуковые импульсы на частоте 40 кГц и слушает эхо. По времени распространения звуковой волны туда и обратно можно однозначно определить расстояние до объекта.

В отличие от инфракрасных дальномеров, на показания ультразвукового дальномера не влияют засветки от солнца или цвет объекта. Но могут возникнуть трудности с определением расстояния до пушистых или очень тонких предметов. Поэтому высокотехнологичную мышеловку выполнить на нём будет затруднительно.

При отражении звука от препятствия мы слышим эхо. Летучая мышь использует отражение ультразвуковых волн для полётов в темноте и для охоты на насекомых. По такому же принципу работает эхолот, с помощью которого измеряется глубина воды под днищем корабля или поиск рыбы.

Принцип передачи и приема ультразвуковой энергии лежит в основе многих очень популярных ультразвуковых датчиков и детекторов скорости. Ультразвуковые волны являются механическими акустическими волнами, частота которых лежит за пределами слышимости человеческого уха — более 20 кГц. Однако сигналы этих частот воспринимаются некоторыми животными: собаками, кошками, грызунами и насекомыми. А некоторые виды млекопитающих, таких как летучие мыши и дельфины, общаются друг с другом ультразвуковыми сигналами.

УЛЬТРАЗВУКОВОЙ ДАТЧИК Lego Mindstorm EV 3. ЗРИ В КОРЕНЬ

Технические спецификации и особенности продукта:

  • Измерение расстояния в диапазоне от 1 до 250 см
  • Точность измерения до +/- 1 см
  • Передняя подсветка в виде красного кольца горит постоянно при передаче сигнала и мигает при прослушивании эфира
  • Если ультразвуковой сигнал распознан, датчик возвращает логическое значение «Истина»
  • Автоматическая идентификация производится программным обеспечением микрокомпьютера EV3

Рис. 1 Ультразвуковой датчик Lego Mindstorm EV 3 (стоимость вместе с внутренним микроконтроллером и микросхемами усиления сигнала $50, при себестоимости $5)

Рис. 2 Схема ультразвукового датчика Lego Mindstorm EV 3 (ultrasonic sensor hardware schematics) построена на микроконтроллере STM8S103F3

  • Введение в микроконтроллеры stm8
  • Микроконтроллер STM8S103F3
  • Схема центрального микроконтроллера LEGO MINDSTORMS EV3 programmable brick main hardware schematics

Рис. 3 Ультразвуковые излучатель AW8T40 и приемник AW8R40 ультразвукового датчика Lego Mindstorm EV 3

Принцип действия

На этот раз мы разберем работу одного из самых популярных датчиков — ультразвукового (УЗ) дальномера. Существует много разных модификаций подобных устройств, но все они работают по принципу измерения времени прохождения отраженного звука. То есть датчик отправляет звуковой сигнал в заданном направлении, затем ловит отраженное эхо и вычисляет время полета звука от датчика до препятствия и обратно.

Из школьного курса физики мы знаем, что скорость звука в некоторой среде величина постоянная, но зависящая от плотности среды. Зная скорость звука в воздухе и время полета звука до цели, мы можем рассчитать пройденное звуком расстояние по формуле:

где v — скорость звука в м/с, а t — время в секундах. Скорость звука в воздухе, кстати, равна 340.29 м/с.

Чтобы справиться со своей задачей, дальномер имеет две важные конструктивные особенности. Во-первых, чтобы звук хорошо отражался от препятствий, датчик испускает ультразвук с частотой 40 кГц. Для этого в датчике имеется пьезокерамический излучатель, который способен генерировать звук такой высокой частоты. Во-вторых, излучатель устроен таким образом, что звук распространяется не во все стороны (как это бывает у обычных динамиков), а в узком направлении. На рисунке представлена диаграмма направленности типичного УЗ дальномера.

Как видно на диаграмме, угол обзора самого простого УЗ дальномера составляет примерно 50-60 градусов. Для типичного варианта использования, когда датчик детектирует препятствия перед собой, такой угол обзора вполне пригоден. Ультразвук сможет обнаружить даже ножку стула, тогда как лазерный дальномер, к примеру, может её не заметить.

Если же мы решим сканировать окружающее пространство, вращая дальномер по кругу как радар, УЗ дальномер даст нам очень неточную и шумную картину. Для таких целей лучше использовать как раз лазерный дальномер.

Также следует отметить два серьезных недостатка УЗ дальномера. Первый заключается в том, что поверхности имеющие пористую структуру хорошо поглощают ультразвук, и датчик не может измерить расстояние до них. Например, если мы задумаем измерить расстояние от мультикоптера до поверхности поля с высокой травой, то скорее всего получим очень нечеткие данные. Такие же проблемы нас ждут при измерении дистанции до стены покрытой поролоном.

Второй недостаток связан со скоростью звуковой волны. Эта скорость недостаточно высока, чтобы сделать процесс измерения более частым. Допустим, перед роботом есть препятствие на удалении 4 метра. Чтобы звук слетал туда и обратно, потребуется целых 24 мс. Следует 7 раз отмерить, прежде чем ставить УЗ дальномер на летающих роботов.

Подключение к Arduino

Если вы планируете использовать ультразвуковой дальномер HC-SR04 с Arduino вы можете воспользоваться существующими библиотеками:

  • Ultrasonic — самая популярная библиотека для HC-SR04.
  • NewPing — отличается большей точностью и скоростью работы.
  • Ультразвуковой дальномер URM37

Распиновка:

  • Vcc — положительный вывод питания
  • TRIG — вход TRIG
  • ECHO — выход ECHO
  • GND — ноль питания

На выводы питания подается постоянное напряжение 5 В, потребляемый ток в рабочем режиме около 15 мА.

Вход TRIG подключается к любому выводу микроконтроллера. На этот вывод нужно подавать импульсный цифровой сигнал длительностью 10 мкс. По сигналу на входе TRIG датчик посылает ультразвуковые импульсы.

После приема отраженного сигнала, датчик формирует на выводе ECHO импульсный сигнал, длительность которого пропорционально расстоянию до преграды.

Контакты датчика можно соединить с макетной платой или Arduinoпроводами «мама-папа». А с Troyka Shield через провода «мама-мама».

Гаражный парктроник

Этот дальномер может служить прекрасным датчиком для робота, благодаря которому он сможет определять расстояния до объектов, объезжать препятствия, или строить карту помещения. Его можно также использовать в качестве датчика для сигнализации, срабатывающего при приближении объектов.

Порядок расчета разрешающей способности шагового двигателя dvd привода

Чтобы измерить разрешение шагового двигателя привода CD / DVD, нужен цифровой микрометр. Расстояние вдоль винта было уже измерено. Общая длина винта промерена с помощью микрометра, которая оказалась 51,56 мм. Далее нужно определить значение отведения, которое представляет собой расстояние между двумя соседними резьбами на винте. Потоки были рассчитаны на 12 нитей в пределах этого расстояния. Отвод = расстояние между соседними нитями = (общая длина / количество нитей = 51,56 мм) / 12 = 4,29 мм / об. Угол шага составляет 18 градусов, что соответствует 20 шагам / оборот. Теперь, когда вся необходимая информация доступна, разрешение шагового двигателя можно рассчитать, как показано выше: Разрешение = (Расстояние между смежными нитями) / (N шагов / оборот) = (4,29 мм / оборот) / (20 шагов / оборот) = 0,214 мм / шаг. Что в 3 раза лучше требуемого разрешения, которое составляет 0,68 мм / шаг.

Выбор дальномера для подключения к arduino

Для определения расстояния есть несколько способов – инфракрасный датчик приближения, лазерный дальномер и ультразвуковой дальномер. Возможно, есть еще какие-то варианты, но я их сходу не нашел. Поэтому выбирал из трех вариантов. Датчик приближения был сразу забракован, поскольку он не умеет измерять, а только настраивается на определение конкретных расстояний. Лазерный датчик умеет делать измерения и довольно точно, но стоит он не мало, из-за этого выбор был остановлен на ультразвуковом датчике, который стоит в 8-10 раз дешевле лазерного, а точность измерения отличается не на много.
Очевидно, что выбор пал на более дешевый датчик HC-SR04, который стоит 50 руб и способен измерять расстояние от 2 до 400 см с точностью до 3 мм, а эффективный угол наблюдения 15 градусов.

Завершение оси Y

В лазере используется диод М140 на 2 Вт. Диод продается в металлическом корпусе и контактами. Греются они достаточно сильно так, что пришлось предусмотреть охлаждение. Для этого был сделан алюминиевый блок радиаторов и использованы кулеры со старого контроллера робота. Кроме того, в блоке для лазера 1″ x 1″ сделано отверстие 31/64″ и добавлен болт к боковой грани. Блок также соединен с другой напечатанной на 3-D принтере деталью, которая будет перемещаться вдоль оси y. Движение передается с помощью зубчатого ремня.

Завершенный модуль лазера установлен на направляющие оси y. Другой конец был установлен на напечатанной детали таким образом, чтобы ремень был зафиксирован и корпусная деталь могла скользить вдоль направляющих оси x. На этом же этапе устанавливается шаговый двигатель, устанавливаются шкивы и зубчатые ремни.

gantry2.stl

idler gantry.stl

clip.stl

pulley2.stl

Детали используемые для драйвера:

  • Arduino nano.
  • 2x A4988 Драйверы шаговых двигателей.
  • 1x IRFZ44N N-КАНАЛЬНЫЙ МОП-транзистор.
  • 1x LM7805 Регулятор напряжения с радиатором.
  • 1x 47 Ом и 1x 10 кОм резистор.
  • 1x 1000 мкФ 16 В конденсатор.
  • 1x 2,5 мм JST XH-Style 2-контактный разъем.
  • Штыри заголовка мужского и женского пола.
  • 1x (20 мм х 80 мм пустой печатной платы).

В GRBL защищены цифровые и аналоговые пины Arduino.

Шаговый контакт для осей X и Y прикреплен к цифровым контактам 2 и 3 соответственно. Вывод «Dir» для осей X и Y прикреплен к цифровым выводам 5 и 6 соответственно. D11 для лазерного включения. Arduino получает питание через USB-кабель. Драйверы A4988 через внешний источник питания. Все основание имеет общие связи. VDD A4988 подключены к 5V Arduino. Лазер, который использовался, работает на 5 В и имеет встроенную цепь постоянного тока. Для источника постоянного напряжения 5 В от внешнего источника питания используется регулятор напряжения LM7805. Радиатор является обязательным. IRFZ44N N-КАНАЛЬНЫЙ МОП-транзистор работает как электронный переключатель, когда получает цифровой высокий сигнал с контакта D11 Arduino. ПРИМЕЧАНИЕ: используем 5 В от Arduino Nano

Принцип действия датчиков движения

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

В основе работы микроволнового (радиочастотного) ДД лежит принцип радиолокатора. Устройство автоматически срабатывает только при улавливании сигналов в определенном диапазоне. Специалисты считают, что такие приборы практичнее ультразвуковых, но и стоят они дороже.

Принцип действия инфракрасных устройств напоминает работу термометра с высокой чувствительностью. Они настроены на определенную температуру и срабатывают, когда в поле их «зрения» попадает объект с соответствующим показателем. Ввиду высокой чувствительности приборов к температурным колебаниям их нельзя ставить в кухне или рядом со входными дверьми.

В представленном видео подробно рассказано о датчиках движения, их разновидностях и особенностях работы:

Технические характеристики

https://www.yourmestudio.com/rcw-0002-ultrasonic-ranging-module-p717.html

  • Напряжение питание: 5 В
  • Потребление в режиме тишины: 2 мА
  • Потребление при работе: 15 мА
  • Диапазон расстояний: 2–400 см
  • Эффективный угол наблюдения: 15°
  • Рабочий угол наблюдения: 30°

Описание продукта:

ТК T 40-16 т/r 1

  • (Tc): piezoceramics Ультразвуковой датчик
  • (T): Категория t-общность
  • (40): Центральная частота (кгц)
  • (16): наружный диаметр? (мм)
  • (T): использование режим: излучатель; r-приемник; tr-совместимость излучатель и приемник
  • (1): ID — 1,2, 3…

Тестирования цепи

  • 1 синусоидальный генератор 1 охватил сигнала Генератор
  • 2 cymometer 2 Частотомер
  • 3 стандартных динамик 3 вольтметр
  • 4 Получить модель датчика 4 излучают модель датчика
  • 5 осциллографа 5 Стандартный микрофон
  • 6 аудио частотные характеристики Дисплей прибора

Производительность продукта1). Номинальная частота (кГц): 40 кГц 2). излучать звук pressureat10V (= 0.02Mpa):? 117dB 3). Прием Чувствительность приемника at40KHz (дБ = v/ubar):?-65dB 4). Электростатический потенциал at1KHz, <1 В (PF): 2000 +/-30% 5). Диапазон обнаружения (м): 0.2 ~ 20 6).-6дБ угол направления: 80o 7). Обшивка материал: алюминий 8). Обшивка ЦВЕТ: серебристый

УСТРОЙСТВО

Пьезоэлемент

RCW-0012

Ультразвуковой датчик

Ultrasonic Ranging Module HC — SR04

РАЗРАБОТКА РОБОТА НА ОСНОВЕ УЛЬТРАЗВУКОВОГО ДАЛЬНОМЕРА

Урок 19. Работа с ультразвуковым датчиком расстояния HC-SR04 в BASCOM-AVR

Radar проекта

Ультразвуковой дальномер HC-SR04 подключение к Arduino

HC-SR04 Дальномер ультразвуковой

Ультразвуковой датчик HC-SR04 – дальномер на микроконтроллере

https://www.alibaba.com/product-detail/HC-SR04-Ultrasonic-Module-Distance-Measuring_1898465949.html

https://www.elecfreaks.com/store/download/product/Sensor/HC-SR04/HC-SR04_Ultrasonic_Module_User_Guide.pdf

https://arduino-kit.ru/userfiles/image/HC-SR04%20_.pdf

https://robocraft.ru/blog/arduino/770.html

Ультразвуковой датчик измерения расстояния HC-SR04

The Application of PWM Capture (Data Acquisition) and Ultrasonic Sensors

Pengetahuan Dasar Таймер Untuk Pengukuran Jarak Dengan Ультразвуковой

Запуск сервопривода с помощью датчика расстояния HC-SR04 и Arduino

https://robocraft.ru/blog/electronics/772.html

Raspi-отстойника в октябре 2014 Embedded Выпуск LinuxJournal

https://www.arduino.cc/en/Tutorial/Ping

Простой искатель ультразвуковой диапазон с помощью HC-SR04

Датчик Препятствие с помощью Arduino и HCSR04

Как проверить DYP-ME007 Ультразвуковой дальномер с использованием NE555 и мультиметра

https://macduino.blogspot.ru/2013/11/HC-SR04-part1.html

Сонар для инвалидов по зрению

https://hackaday.io/project/5903/logs

https://h ackaday.io/project/5903-sonar-for-the-visually-impaired/log/18329-ultrasonic-module-virtual-teardown

https://www.maxbotix.com/performance.htm

https://amperka.ru/product/ultrasonic-urm37

https://image.dfrobot.com/image/data/SEN0002/URM04V2.0Mannual1.1.pdf

https://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2012/xz227_gm348/xz227_gm348/URM3.2_Mannual_Rev2.pdf

RCW-0012 Ультразвуковой Модуль Расстояние Измерительный Преобразователь Тест Модуля Индикации

https://www.farnell.com/datasheets/81163.pdf?_ga=1.169892256.1853603956.1478607467

https://chinaultrasound.en.alibaba.com/product/60268805778-800581237/40Khz_TCT40_16R_T_Air_Ultrasonic_Ceramic_Transducer_Ultrasonic_Sensor.html

https://ezoneda.company.weiku.com/item/SRF05-five-Pin-Ultrasonic-ranging-module-Ultrasonic-sensor-15404413.html

ЧПУ-станок своими руками на базе Arduino: пошаговая инструкция

Первым делом припаивается CNC Shield к «Ардуино», как показано на картинке ниже.

Теперь нужно продублировать ось. С помощью CNC Shield можно для любой оси распараллеливать шаговые двигатели. Благодаря этому появляется возможность реализации проектов с 2 моторами на ось без дополнительных проблем.

Напротив нужной оси необходимо установить 2 джампера.

Теперь можно переходить к настройке тока драйверов для моторов. Самые распространенные и дешевые драйверы для двигателей – А4988. Но у них есть 2 больших минуса:

  • максимальный микрошаг составляет 1/16;
  • шумят во время работы.

С драйверами DRV8825 можно создать более точную систему. При этом они намного меньше шумят.

Во время использования драйверов нужно помнить, что они имеют разную ориентацию. Чтобы не запутаться, необходимо смотреть на подстроечный резистор.

Чтобы настроить ток, необходимо:

  1. Установить драйверы на CNC Shield.
  2. С помощью кабеля подключиться к компьютеру.

Основные моменты, которые следует учитывать при настройке:

  1. Процедура важна для корректной работы шаговых двигателей, уменьшения вероятности пропуска шага, снижения нагрева.
  2. Выполняется настройка только при полном шаге, микрошаг не учитывается.
  3. Каждый драйвер настраивается отдельно и именно в том слоте, где он будет работать.

После окончания процедуры нужно убрать драйверы.

На следующем этапе производится настройка микрошага. Главные моменты, которые следует учитывать:

  1. Если повышать значение микрошага, будет снижаться крутящий момент на двигателе.
  2. Большие показатели микрошага не приводят к кратному повышению точности работы, так как на подвижных частях конструкции присутствует люфт.

После настройки микрошага нужно обратно установить драйверы.

Теперь необходимо подключить питание. Кроме соединения платы с компьютером, нужно подать напряжение в 12В.

На CNC Shield v3 это можно сделать одним из следующих способов:

  • использовать DC-разъем для подсоединения блока питания;
  • подключить блок питания непосредственно к колодке при помощи проводов.

Для небольших проектов лучше использовать первый вариант. Второй предназначен для более мощных станков.

Теперь переходят к подключению шаговых двигателей. Осуществляется это при помощи разъемов Dupont, которые имеют 4 контакта. Если у двигателей нет разъемов, придется их обжать самостоятельно.

Двигатель нужно подсоединять в слот, который расположен рядом с драйвером.

Далее необходимо загрузить прошивку GRBL для контроллера. Ее скачивают и загружают в «Ардуино».

После проверки вращения двигателей переходят к их установке на опорной раме. Лучше всего использовать раму с полной опорой. Такая конструкция применяется во многих профессиональных станках. Она достаточно жесткая, не прогибается под нагрузками.

Что можно делать на лазерном гравере из дисководов?

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

  • древесину;
  • кожу;
  • плотную бумагу и картон;
  • большинство видов пластика;
  • резину и др.

Лазерный гравер из дисководов можно использовать для нанесения гравировки на мелкие детали – сувениры, предметы быта, таблички и др.

Станок лазерной гравировки Lasersolid 530 Lite

  • Электропитание 110V or 220-240V/ 50~60Hz
  • Размеры, мм 1150х670х300

Вес, кг 35

  • Мощность трубки лазера 50 Вт
  • Рабочее поле 300 x 500
  • Разрешение, DPI 1000
  • Скорость гравировки 200 мм/с
  • Скорость перемещения луча 500 мм/с
  • Тип лазера СО2
  • Точность гравирования 0,01
  • Интерфейсы USB 2.0
  • Охлаждение Водяное
  • Тип двигателя шаговый

Цена 114 101 руб.

Перейти к товару

Характеристики ультразвукового датчика HC-SR04

Большим превосходством такого ультразвукового датчика над инфракрасными является то,
что на ультразвуковые датчики не влияют источники света или цвет препятствие.
Могут возникнуть проблемы с измерением расстояния до тонких или пушистых объектов.
Хотелось бы сказать, что скорость звука в воздухе зависит от температуры.
Следовательно, погрешность измерения будет меняться от повышения или понижения температуры.

  • Рабочее напряжение 4,8 В до 5,5 В (± 0.2В макс).
  • Диапазон измерения: от 2 см до 400 см.
  • Диапазон рабочих температур: 0 ° С до 60 ° С (± 10%).
  • Ток потребления в режимах ожидания до 2 мА.
  • Ток потребления в режимах работы 15 мА.
  • Ультразвуковой диапазон работы на частоте 40 кГц.
  • Угол обзора 15 градусов.
  • Измеряемое расстояние от 0,03 до 0,6 мс разрешающей способностью 3 мм.
  • От 0,6 до 5 погрешность увеличивается.

Датчик имеет 4 вывода:

  • VCC: “+” питание
  • TRIG (T): вывод входного сигнала
  • ECHO (R): вывод выходного сигнала
  • GND: “-” питание

Что такое Arduino

Arduino — это бренд аппаратных и программных средств для построения и прототипирования простых систем, моделей и экспериментов в области электроники, автоматики, автоматизации процессов и робототехники.

Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры.

Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.

Чаще всего термин «Ардуино» используют для обозначения контроллера с собственным процессором и памятью. Arduino пользуются большой популярностью среди начинающих инженеров и опытных энтузиастов, из-за низкой цены и простоты настройки.

Открытая архитектура плат Arduino позволяет проектировать микроконтроллеры людям с минимальным знанием электротехники. Существенным достоинством можно назвать и доступные в Интернете схемы и коды, созданные для различных типов станков.

К числу самых популярных у инженеров контроллеров Arduino принадлежат UNI, R3, Mega 2560 и Nano.

Как подключить ультразвуковой датчик к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • УЗ дальномер HC-SR04;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа» и «папа-мама».

Схема подключения ультразвукового датчика к Arduino Uno

Схема подключения указана на рисунке выше. Отметим, что ультразвуковой дальномер HC-SR04 имеет диапазон измерения от 2 см до 400 см, работает при температурах от 0° до 60° С. Точность измерения составляет ± 1 см, рабочее напряжение датчика до 5,5 В. Для начала мы используем простой скетч, без использования библиотеки Ultrasonic. После подключения к Arduino дальномера HC-SR04 загрузите следующий скетч:

Скетч для подключения датчика hc-sr04 к Arduino

int trigPin = 8; // назначаем имя для Pin8
int echoPin = 9; // назначаем имя для Pin9
 
void setup() { 
  Serial.begin (9600); // подключаем монитор порта
  pinMode(trigPin, OUTPUT); // назначаем trigPin (Pin8), как выход
  pinMode(echoPin, INPUT); // назначаем echoPin (Pin9), как вход
} 
 
void loop() { 
  int duration, cm; // назначаем переменную "cm" и "duration" для показаний датчика
  digitalWrite(trigPin, LOW); // изначально датчик не посылает сигнал
  delayMicroseconds(2); // ставим задержку в 2 ммикросекунд

  digitalWrite(trigPin, HIGH); // посылаем сигнал
  delayMicroseconds(10); // ставим задержку в 10 микросекунд
  digitalWrite(trigPin, LOW); // выключаем сигнал

  duration = pulseIn(echoPin, HIGH); // включаем прием сигнала

  cm = duration / 58; // вычисляем расстояние в сантиметрах

  Serial.print(cm); // выводим расстояние в сантиметрах
  Serial.println(" cm");

  delay(1000); // ставим паузу в 1 секунду
}

Пояснения к коду:

  1. для подключения выходов Trig и Echo на датчике сонара Ардуино можно использовать любые цифровые входы на микроконтроллере;
  2. чтобы получить значение датчика в миллиметрах следует использовать следующую формулу для расчета: .

Программирование ультразвукового датчика HC-SR04

#define

Trig 8 /* Обозначаем пин подачи импульса*/

#define

Echo 9 /* Обозначаем пин приема импульса*/

void

setup() {

pinMode

(Trig, OUTPUT); /*инициируем как выход */

pinMode

(Echo, INPUT); /*инициируем как вход */

Serial.begin

(9600); /* устанавливаем скорость порта */

}

unsigned int

impulseTime=0;

unsigned int

distance_sm=0;

void

loop() {

digitalWrite

(Trig, HIGH);
/* Подаем импульс на вход trig дальномера */

delayMicroseconds

(10); /* Импульс длится 10 микросекунд */

digitalWrite

(Trig, LOW); // Отключаем подачу импульса

impulseTime=pulseIn

(Echo, HIGH);
/*Принимаем импульс и подсчитываем его длину*/

distance_sm

=impulseTime/58; /* Пересчитываем его значение в сантиметры */

Serial.println(
distance_sm); /* Выводим значение на порт программы */

delay

(200);

}

После того как вы вставили этот код, загрузите его в программу и включите “монитор порта”.
Там вы увидите расстояние от датчика до препятствия, поэкспериментируйте с изменением расстояния объекта.

Вот что должно у вас получиться!

Надеюсь у вас все получилось! Если у вас остались вопросы,
можете написать нам в

На фотографии не видно, но выходы Trig
и Echo
подключены ко 2 и 3 выходу Arduino соответственно. Ну а VCC
и GND
– 5v и земля.

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

// задаем пины
int echoPin = 2;
int trigPin = 3;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// отключаем подачу импульса
digitalWrite(trigPin, LOW);
}
void loop() {
int duration, cm;
// подаем импульс
digitalWrite(trigPin, HIGH);
// ждем 10 микросекунд
delayMicroseconds(10);
// отключаем подачу импульса
digitalWrite(trigPin, LOW);
// считываем длину сигнала
duration = pulseIn(echoPin, HIGH);
// пересчитываем в сантиметры
Serial.print(duration / 58);
Serial.println(” cm”);
// ждем пол секунды до следующего измерения
delay(500);
}

Подключается по данной схеме

Если запустить его и периодически подносить к нему руку, то в консоли можно увидеть следующие измерения:

Если вам вдруг понадобятся миллиметры или дюймы, то это можно легко исправить, переписав в коде пару строк примерно на следующие:

Но у нас получается слишком много кода, а если нам потребуется подключить 2 таких дальномера? А если 10? В таком случае разработка превратится в рутину, а в случае какой-то ошибки придется менять все сразу.

Именно здесь нам на помощь приходит библиотека Ultrasonic .

Используя ее, весь прошлый код можно написать следующим образом:

Печать на 3-D принтере и сборка оси Y

Первая деталь, которую надо напечатать на 3-D принтере выполняет следующие функции:

1. Установка шагового мотора для оси y.

2. Поддержка стальных валов оси y.

3. Скольжение вдоль одного из валов оси x.

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

В качестве направляющих используются простые стержни из нержавеющей стали 5/16″. Нержавеющая сталь хорошо подходит для подшипников скольжения, так что смазанные бронзовые втулки ходят очень легко. Изначально использовался кусок 36″, который был разрезан на две части по 18″.

motor gantry.stl

Ультразвуковой дальномер Arduino HC-SR04

Ультразвуковой датчик (ещё его часто называют сонаром или ультразвуковым дальномером) определяет расстояние до объекта так же, как это делают летучие мыши или дельфины. Датчик HC-SR04 генерирует узконаправленный сигнал на частоте 40 кГц и ловит отраженный сигнал (эхо). По времени распространения звука до объекта и обратно можно достаточно точно определить расстояние до него.

По этому же принципу работает множество приборов для исследования пространства — эхолот, сонар, радиолокатор и даже полицейский радар для определения скорости автомобиля. Все эти приборы излучают узконаправленный ультразвуковой сигнал и получают обратно отраженный сигнал. В отличии от инфракрасных дальномеров (IR), на показания ультразвукового датчика (сонара) не влияет цвет объекта.


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

Но при настройке ультразвукового датчика на Ардуино могут возникнуть трудности с определением расстояния до звукопоглощающих объектов, поскольку они способны полностью погасить излучаемый сигнал. Для идеальной точности измерения расстояния, поверхность изучаемого объекта должна быть ровной и гладкой. Принцип работы ультразвукового датчика hc-sr04 показан на рисунке выше.

Названия выводов и ультразвуковых излучателей модуля

  • Vcc — положительный контакт питания.
  • Trig — цифровой вход. Для запуска измерения необходимо подать на этот вход импульс (логическую единицу) длительностью 10 мкс. Следующий импульс рекомендуется подавать не ранее чем через 50 мс. что связано со временем обработки первого импульса.
  • Echo — цифровой выход. После обработки отраженного сигнала, на этот выход будет подан импульс (логическая единица), длительностью пропорциональной расстоянию до объекта.
  • GND — отрицательный контакт питания (земля).
  • Левый ультразвуковой излучатель (маркирован буквой Т — transmiter) это передатчик ультразвукового сигнала, правый ультразвуковой излучатель (маркирован буквой R — resiver) это приемник отраженного от объекта ультразвукового сигнала (эха).
Поделитесь в социальных сетях:FacebookXВКонтакте
Напишите комментарий