воскресенье, 12 июля 2015 г.

Дальномер на Arduino

Изготовить дальномер можно имея плату Arduino UNO (можно заказать по этой ссылке http://ali.pub/1v22bh) (или любое другое Arduino), датчик HC-SR04 (можно заказать по этой ссылке) (ультразвуковой датчик расстояния), провода и компьютер с USB портом для подключения Arduino, записи в него скетча и вывода на монитор расстояния.
Схема подключения:
Рисунок 1 - Ультразвуковой дальномер на ардуино

Соединять датчик с Ардуино можно любым доступным способом так чтобы образовались токопроводящие пути от вывода Vcc датчика до вывода 5V Ардуино, от Trig датчика до 12 вывода Ардуино, от Echo датчика до 11 вывода Ардуино и от Gnd датчика до GND Ардуино. Вместо выводов 11 и 12 можно использовать любые другие выводы общего назначения но для использования примера NewPing нужно использовать именно 11 и 12 и соединить так как показано на рисунке 1.

Для использования HC-SR04 также понадобиться библиотека NewPing в которой имеется пример скетча для измерения расстояния с использованием датчика HC-SR04. После скачивания библиотеки её необходимо разархивировать и поместить в папку "libraries" которая находится в папке "arduino-nightly" (в которой находиться среда разработки Arduino). После того как NewPing перемещена её можно открыть и там будет папка с примерами "examples" в этой папке будет пример "NewPingExample" открыв этот пример и загрузив скетч в Arduino получаем готовый ультразвуковой дальномер. Если загрузка скетча прошла успешно то увидеть результаты измерения датчика можно открыв вкладку "Инструменты" и выбрав "Монитор последовательного порта" или нажав сочетание клавиш Ctrl+Shift+M.
Если выводятся непонятные символы то в левом нижнем углу открывшегося окна монитора последовательного порта нужно открыть окно и в выпадающем списке выбрать скорость ту что прописана в скетче т.е. 115200 бод.
Если расстояние от датчика до какого либо предмета (в направлении от лицевой стороны этого датчика где находятся две цилиндрические штуки) больше 200 см то в окне будет выводиться 0 или ещё какая нибудь ерунда. Датчик может мерить расстояние до 400 см. При желании скетч можно переделать и определять большее расстояние.

КАРТА БЛОГА (содержание)

6 комментариев:

  1. Анонимный30 июля 2015 г., 14:30

    ломаются эти ультрасоники оочень.. или, может, мне так с ними не везет...

    ОтветитьУдалить
    Ответы
    1. Я думаю что если правильно их эксплуатировать то они не сломаются до конца срока годности. И если сломались не безнадёжно то можно попытаться их отремонтировать. Если есть видимые повреждения то их устранение может помочь. Можно прозвонить детали и если есть к.з. то их можно поменять. М.б. поломки связаны с изменением положения излучателя и/или приёмника, если так то их нужно просто очень точно и аккуратно поставить на место. Видимые повреждения м.б. очень малозаметными, если внимательно посмотреть то м.б. можно будет что нибудь заметить.

      Удалить
  2. Сергей, а как бы датчик заставить под водой работать - готовый эхолот получить ?
    Просто просится решение - РУ и эхолот - для рыбокатера на Ардуино .

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

      Удалить
  3. Анонимный14 июля 2016 г., 0:18

    Ваш скетч выводит ошибку и как вас после этого назвать?

    ОтветитьУдалить
    Ответы
    1. Для начала успокойтесь. Проблему можно решить. Скетч не мой! Его написал и постоянно обновляет другой человек в другой стране. Если не заработал новый то попробуйте установить старую версию например NewPing_v1.5. Если всё равно не заработало то попробуйте версию NewPing_v1.5 с версией Arduino IDE 1.6.4 -это должно заработать наверняка т.к. именно так делал я и у меня всё получилось, если не получиться у вас то дело совсем не в скетче, если так будет то попробуйте переустановить драйвер для Ардуино. Если ну вообще никак не получается и каким то образом дело в скетче (что очень маловероятно) то можно написать скетч самому или попросить об этом кого нибудь. В общем выход есть всегда поэтому не надо никак ни кого назвать, особенно тех кто что то делает бесплатно.

      Удалить