27.10.2014, 22:37 | #11 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Ультразвуковой дальномер HC-SR04
Цитата:
|
|
28.10.2014, 10:35 | #12 |
Junior Member
Регистрация: 27.10.2014
Сообщений: 26
Вес репутации: 0 |
Re: Ультразвуковой дальномер HC-SR04
Думаю нет, угол датчика по паспорту 15гр. Направлял и в потолок и в стены и пробовал разные датчики. В целом значения "не скачут" мне понравилось очень, попробую выполнить свою задачу по построению пространства с вашей библиотекой. Значение длинны более 77 см не поднимаются, думал может в библиотеке есть какие то ограничения? или погрешность (точность совпадения) в функции симилар поставить не 0?
|
28.10.2014, 10:49 | #13 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Ультразвуковой дальномер HC-SR04
У Вас датчик HC-SR04
Попробуйте его проверить без функции симилар |
28.10.2014, 10:56 | #14 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Ультразвуковой дальномер HC-SR04
И ограничение лучше убрать
PHP код:
|
31.10.2014, 21:09 | #15 |
Junior Member
Регистрация: 27.10.2014
Сообщений: 26
Вес репутации: 0 |
Re: Ультразвуковой дальномер HC-SR04
Заработало. осталось отсортировать некоторые данные, но уже сейчас можно сказать что функция создает совершенно другую картинку (в отличии от замера без фильтрации значений).
Задача стояла такая: измерить расстояние датчиком и в зависимости от угла поворота серво узнать расстояние до точки замера (то есть в декартовых координатах Х. У) В перспективе описывать по этим точкам карту пространства для ориентации робота. Построение графика сделал в Excel, петли на графике давно замечены, почему то эти неточности возникают при движении в одну из сторон, а в обратную не возникает, не знаю пока что в чем фишка. Задержки немного уменьшают это, но толку особого нет. (еще поиграюсь) Главное что в целом есть на графике картинка похожая на измеряемое пространство! Спасибо за библиотеку (CyberLib) создателю. Последний раз редактировалось kulverstukas; 07.04.2015 в 14:48. |
31.10.2014, 21:29 | #16 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Ультразвуковой дальномер HC-SR04
Какой алгоритм построения маршрута планируете?
Я тоже давно вынашиваю идею построения маршрута. Пришел к выводу что для этого мне понадобится 1-Гироскоп MPU-6050 + акселерометр 2-два далномера sharp 4-сервомотор |
01.11.2014, 18:04 | #17 |
Junior Member
Регистрация: 27.10.2014
Сообщений: 26
Вес репутации: 0 |
Re: Ультразвуковой дальномер HC-SR04
О гироскопах еще не думал, идею пока вынашиваю в математике. Для счета пройденного расстояния использую шаговые моторы изначально 28BYJ-48 очень хорошие, редукторные но медленные (для начинающих идеально) сейчас заказал 24BYJ-48 у них редукция в 2 раза меньше (30 вместо 65). Быстро все равно не будет. эти давали 8 мм/сек но зато можно посчитать насколько сдвинулся робот. Палтформу на обычных моторах (для изучения) начал строить, пока не доделал.
Само построение пространства таково 1. поворачиваем серво на нужный угол 2 замеряем дистанцию 3. заходим в функцию пересчета дистанции в координаты. функции синуса и косинуса не использовал, задал таблицу значений в массив, причем умножил значения на 128 1-е чтобы не возиться с запятыми 2-е чтобы потом готовое значение Х,У сместить на несколько бит (7). При измерении до 200 см хватает int-2 бита для вычисления Х и У. Так выглядел график до фильтрации, провел более 2-х десятков измерений (это одно из худших, но и остальные не намного лучше). Привожу текст программы испытательной программы. она без описания, если кому понадобится, могу расписать всё. PHP код:
Последний раз редактировалось kulverstukas; 01.11.2014 в 23:30. |
16.06.2015, 12:31 | #18 |
Senior Member
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0 |
Re: Ультразвуковой дальномер HC-SR04
Подниму тему, ибо тоже интересно.
Вопрос по этому датчику и Ардуино Мега: на меге есть входы от 4 и 5 таймеров ICP - сигнал захвата таймера. Можно ли (стоит ли) ставить ногу echo от датчика на этот сигнал и измерять время отклика с помощью прерывания по ICP? Алгоритм вижу примерно следующий: 1. В программе вызываем функцию "замерить", она подает сигнал на датчик, ставит признак "пошел замер, данные недействительны" и разрешает прерывание по ICP по фронту сигнала. 2. Прерывание по фронту фиксирует начало замера и изменяет режим на прерывание по спаду. 3. По спаду читаем новое значение ICPR и вычисляем дальность. Снимаем признак "данные недействительны", запрещаем прерывание. 4. В проге тупо ждем результата замера, можно макросом типа everyMillis() ... не занимая время процессора. Насколько такое решение будет "полезно"? |
16.06.2015, 12:50 | #19 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Ультразвуковой дальномер HC-SR04
Предложенный Вами вариант можно будет использовать только на определенных пинах с поддержкой прериваний
|
16.06.2015, 13:24 | #20 |
Senior Member
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0 |
Re: Ультразвуковой дальномер HC-SR04
Ну да. Зато это не будет "жрать" процессорное время и можно будет решать попутно и иные задачи, кроме "замеров". К сожалению, на плате Мег разведены только 2 сигнала захвата 4 и 5 таймеров.
|
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|