слежении за предметом на HCSR-04
- Войдите на сайт для отправки комментариев
Вс, 28/06/2015 - 20:50
Добрый вечера всем. решил собрыть данное устройство на 3 датчиках. ниже привожу код программы. так как я только начинаю осваивать Arduino прошу помочь в изменениии скетча который работает не совсем так как мне надо. я хочу поставить 3 датчика 60 . 0 . 120 градусов. и подключить камеру по USB к ноутбуку. заранее спасибо
#include <Servo.h> #define coef 10 //(коэффициент соответствия 10 градусов на 1см) #define dead_zone 4 #define max_value 10 #define servoPin 7 #define Trig1 10 #define Echo1 11 #define Trig2 2 #define Echo2 3 Servo myservo; void setup() { pinMode(Trig1, OUTPUT); //инициируем как выход pinMode(Echo1, INPUT); //инициируем как вход pinMode(Trig2, OUTPUT); //инициируем как выход pinMode(Echo2, INPUT); //инициируем как вход myservo.attach(servoPin); myservo.write(0); } unsigned int impulseTime=0; unsigned int distance_sm=0; unsigned int distance1_sm=0; void loop () { digitalWrite(Trig1, HIGH); /* Подаем импульс на вход trig дальномера */ delayMicroseconds(10); // равный 10 микросекундам digitalWrite(Trig1, LOW); // Отключаем impulseTime = pulseIn(Echo1, HIGH); // Замеряем длину импульса distance_sm = impulseTime/58; // Пересчитываем в сантиметры if (distance_sm >= dead_zone && distance_sm <= max_value) { myservo.write(coef * (distance_sm - dead_zone)); } else if (distance_sm < dead_zone)// если дистанция менее 4 см, серва в положении ноль градусов { myservo.write(0); } else { myservo.write(120); } digitalWrite(Trig2, HIGH); /* Подаем импульс на вход trig дальномера */ delayMicroseconds(10); // равный 10 микросекундам digitalWrite(Trig2, LOW); // Отключаем impulseTime = pulseIn(Echo2, HIGH); // Замеряем длину импульса distance1_sm = impulseTime/58; // Пересчитываем в сантиметры if (distance1_sm >= dead_zone && distance_sm <= max_value) { myservo.write(coef * (distance_sm - dead_zone)); } else if (distance_sm < dead_zone)// если дистанция менее 4 см, серва в положении ноль градусов { myservo.write(0); } else { myservo.write(15); } }
Никто вам не "поможет".
Читая ваш код, всё что вижу это:
повторять отсюда:
1. Считать расстояние первым датчиком.
2. Повернуть серводвигатель на угол, согласно расстоянию.
3. Тут же следом, считать расстояние вторым датчиком.
4. Сразу же развернуть тот же самый серводвигатель согласно второго датчика
5. повторять отттуда.
... А "хотелось чего"? Как связано дерганье серводвигателем, одним и теже, с замером двух расстояний?
... ну и второе. Время на замер при ваших дальностях и скорости звука 335м/сек, даже "туда и обратно" - миллисекунды. Посчитайте сами для тренировки. Время на дерганье сервы - примерно также (записать значение в порт) - микросекунды... Вы точно хотели дергать серву по несколько сот раз в секунду?
ТС не ответит на ваш вопрос, так как если бы это был его код, в нем было бы 3 датчика и 2 сервы.
Мне этот датчик интересен сейчас, поскольку делаю к нему измеритель длительности импульса по прерываниям, вместо pulseIn(), дабы поставив на серву, и доработав диаграмму направленности сделать "обзор препятствий" для нашей самокатной тележки... :)
У ТС задача другая.
Ну, а в вашем случае, настраиваете PCINT, в обработчике определяйте фронты сигнала, фиксируйте время с помощью micros() и вычисляете длительность сигнала.
Да, примерно так и буду сегодня "пгобовать". Ещё хочу поиспытывать прерывание по ICP регистру... но, они у меня похоже будут заняты под аппаратное управление сервами.
я может и не правильно задал вопрос.я хочу 3 датчика по трем направлениям с какой стороны придет сигнал в ту сторону и повернеться серва.а если вы думаете что я выпрашиваю у вас код для себя то лучше не пишите чущь.могли бы лучще сказать что нужно почитать по моему вопросу.заранее спасибо
Чушь здесь пишите вы, так как пока, кроме написать "хочу" больше ничего не сделали. Все, что нужно находится здесь и в коде выше.
maksim, Вы вроде бы в "команде тухлявых", мною не замечены. Не ссорьтесь.
По крайней мере, понятно чего ТС хочет.
В этом случае ему надо прописать в коде все три датчика, а не два. Это раз.
Второе, замерять надо всеми датчиками в свои переменные "расстояние1", "расстояние2", "расстояние3" (так проще для него будет) и уже потом, делать блок, принимающий решение "КУДА" вертеться серве... при это надо помнить, что контроллер "считает быстро", расстояния могут замеряться "ошибочно", а серва крутится "медленно"... и делать соответствующие задержки по отработке сервы, повторные замеры и принятие решения "какое расстояние верно из 2-10 попыток"... как-то так.
Повтор кода в loop() идет после его завершения... стало быть "цикл" должен быть "полон" как по действиям, так и по временным задержкам... только и всего.
maksim, Вы вроде бы в "команде тухлявых", мною не замечены. Не ссорьтесь.
прогиб засчитан :) только в следующий раз губы разотри ладонями. А то холодными губами целуешь в зад, не комфортно.
И таки да. Где код от великого гуру переписавшего иде?
Я смотрю как бабки старые ворчат некотрые! по нормальному отвечать не умеют. лучше закройте тему и все остальное! ФОРУМ СОЗДАН НЕ ДЛЯ УНИЖЕНИЯ , А ДЛЯ ОБСУЖДЕНИЯ !
Я смотрю как бабки старые ворчат некотрые! по нормальному отвечать не умеют. лучше закройте тему и все остальное! ФОРУМ СОЗДАН НЕ ДЛЯ УНИЖЕНИЯ , А ДЛЯ ОБСУЖДЕНИЯ !
это - БДСМ-форум.
Я смотрю как бабки старые ворчат некотрые! по нормальному отвечать не умеют. лучше закройте тему и все остальное! ФОРУМ СОЗДАН НЕ ДЛЯ УНИЖЕНИЯ , А ДЛЯ ОБСУЖДЕНИЯ !
это - БДСМ-форум.
Сегодня в завтрашний день не все могут смотреть. Вернее, смотреть могут не только лишь все, мало кто может это делать. (с)
ФОРУМ СОЗДАН НЕ ДЛЯ УНИЖЕНИЯ , А ДЛЯ ОБСУЖДЕНИЯ !
Что бы что то обсуждать, нужен предмет обсуждения. Что вы сделали, что бы с вами это что то можно было обсуждать?
ФОРУМ СОЗДАН НЕ ДЛЯ УНИЖЕНИЯ , А ДЛЯ ОБСУЖДЕНИЯ !
Что бы что то обсуждать, нужен предмет обсуждения. Что вы сделали, что бы с вами это что то можно было обсуждать?
Он выложил код спионереный на просторах интернета!
И в общем то на этом всё. Кто будет делать так как ему нужно не понятно.
ужосы какие. прям, так вот взял и выложыл, и никому не понятно, кто будет делать?
*предлагаю организовать комитет по избранию комиссии, которая назначит иницыативную группу для решения проблемы непоняток - кто, чего и как.
По крайней мере, понятно чего ТС хочет.
Конечно понятно, хочет халявы.
Я ошибаюсь? Тогда обьясните, зачем создавать тему, писать хотелку, вставлять где-то скопипасченный код и просить о "помощи", при этом ничего не сделав для того, что бы приблизиться к своей цели?
Абсолютно ничего, даже элементарно добавить в код третий датчик и вторую серву ТС не может, а ведь для этого нужны знания на уровне мигания светодиодом.
И заметьте, ваши посты ТС игнорирует от непонимания что вы ему советуете и как это применить в коде. ТС просто лень, что либо изучать, поэтому не получив халявы он просто забросит эту задумку.
Диплом горит?
Диплом горит?
Неси шампуры и мясо. Что бы костер не пропадал.
жарь навичка на дипломе без шампуров
жарь навичка на дипломе без шампуров
Э не, эт у вас там парады всяких жарилщиков. У нас и близко такого нет. :) так что давай сам.
это ты про Адэссу или про то, как геи киевским ментам по голове дали?
Эт я про как то скучно сегодня. Дипломы закончились наверное.
Максим, а вы, на месте ТС-а, да после того поноса, что тут наплодили ваши местные тролли - стали бы что-то "ещё" писать или как?
Поэтому, я бы не стал ТАК КАТЕГОРИЧНО утверждать что "от непонимания" или "ничего не сделал"... тут действительно, кроме команды идиотов, пардон троллей и нет никого. Жаль, что имя сайта, примазано к платформе и поиском форум находится на раз - два. Толку-то? Каждая вторая тема засирается и человек просто сваливает. Это по-вашему - "спецы"? По какой интересно части? А по-моему - просто больные люди. Если ваще люди. Сдается мне, что в форуме пишет автобот под несколькими никами.
Сдается мне, что в форуме пишет автобот под несколькими никами.
за автобот ответишь.
*продаю автобот Клапауций 999 Puhlyaviy JollyBiber - продвинутый ИИ, страдающий растроением личности, русофобией и скукой.
А мне вот интересно, у вас там внизу написано что имеете лицензию от arduino.cc ... а хозяева "в курсе" чем вы тут занимаетесь "на самом деле"? :)
Да, и ещё. Это не русофобия. Это просто глупость, тем более что сами отказываетесь от достойного слива к автоботам. Значит просто больные люди. Третьего - тут нет. :)
А мне вот интересно, у вас там внизу написано что имеете лицензию от arduino.cc ... а хозяева "в курсе" чем вы тут занимаетесь "на самом деле"? :)
ну, и шо ты думаешь, тебе автобот ответит?
канечно, хозяева в курсах, лицензия проплачена оберштурмбаннфюреру arduino.СС
Да, и ещё. Это не русофобия. Это просто глупость, тем более что сами отказываетесь от достойного слива к автоботам. Значит просто больные люди. Третьего - тут нет. :)
Слышь, птица-мозгоклюй, кроме твоих великих разоблачений на темы ардуино иде написана лохами и все тут боты, от тебя никто ничего не видел!
А по данному топику, даю вопрос
я тут цифровой микрофон прикрутл на любимый тобой usart. Прошиваю скеч
-тут скеч блинк из примеров-
не работает, что нужно подправить? (Напиши мне рабочий скеч)
Пухлявый, не пали контору, а то он заложит нас гауляйтеру arduino.СС, что мы тут бесплатно геноцыд устроили.
Пусть попробует подобную тему создать на сс форуме :) она там проживет пару минут
А мне вот интересно, у вас там внизу написано что имеете лицензию от arduino.cc ... а хозяева "в курсе" чем вы тут занимаетесь "на самом деле"? :)
Гы. Он еще и мальчиш-плохиш! Вот только в лицензиях не разбирается. Ну при его-то занятости - постоянное написывание своих IDE, это не удивительно.
Гы. Он еще и мальчиш-плохиш! Вот только в лицензиях не разбирается. Ну при его-то занятости - постоянное написывание своих IDE, это не удивительно.
тсс! не спугни. ещё своё не отработал в каменоломнях рейха arduino.СС за самовольную модификацию лицензионного программного обеспечения.
Вот текст лицензии Ардуино:
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1,2-я строка сверху: Вы МОЖЕТЕ ... И модифицировать согласно лицензии GPL.
Напомнить, что такое лицензия GPL? А КАКИМ образом сочетается с ней раздел форума "ищу исполнителя", особенно в части ПЛАТНОГО написания кода?
Клапауцкий, может пора задуматься про "ответишь" и заняться этим самостоятельно? :)
ДА, в догонку. Кроме озвученных двух вариантов выше, обнаружил ещё третий: нечестная конкурентная борьба с Arduino.cc . Достаточно пересчитать количество новичков, пришедших сюда и получивших свою порцию помоев отвас, чтобы оценить размер упущенной прибыли авторов. Я бы на их месте, уже давно вкатил иск на пару лямов евро. Ибо вы тут флудите с полного согласия администрации ресурса, как понимаю.
Гыыы эк его плющит то. Ну не взяли мы тебя к себе в песочницу, что ты так убиваешься то? Ты же так никогда не убьешся!
там к иску об опущеной выгоде присоедини еще Китай, целиком, а то понимаешь клепают ардуино и бизнес портят. И тех кто ардуино сам собрал из атмега 328 и кварца.
я кстати жду скеч для цифрового микрофона, а то с блинком не работает почему-то.
Сюда еще зайди, человеку нужно помочь разобраться. .. робот какой наверное, разбирается собирается
http://arduino.ru/forum/programmirovanie/sd-card-modul-i-lcd
Мне глубоко по-барабану, взяли вы лично меня или куда. Это публичный ресурс, и извольте вести себя адекватно его публичности.
А вот что делать с более 2000 (ДВЕ ТЫСЯЧИ) постов, которые я тут насчитывал своим сканером от новичков, и которых ВЫ по сути "послали"? А "сколько раз" за эти годы вы "чистили" этот форум от таких тем? У вас там в шапочке есть интересные на этот счет "прикрепленные темки"... про между прочим. :)
И это ни разу не "русофобия". Какая "русофобия" наблюдалась тут совсем недавно к жителю США? Это - как понимаю, СИСТЕМА... перевода новичков в раздел "платного разрешения их проблем" ... с полным нарушением GPL лицензии.
... и заметьте, я вас "за язык" не тянул ... Вы сами бегаете по темам и троллите. Сносите неугодные посты, оставляя свои оскорбления ... и продолжаете троллить новичков.
Мне глубоко по-барабану, взяли вы лично меня или куда. Это публичный ресурс, и извольте вести себя адекватно его публичности.
А вот что делать с более 2000 (ДВЕ ТЫСЯЧИ) постов, которые я тут насчитывал своим сканером от новичков, и которых ВЫ по сути "послали"? А "сколько раз" за эти годы вы "чистили" этот форум от таких тем? У вас там в шапочке есть интересные на этот счет "прикрепленные темки"... про между прочим. :)
И это ни разу не "русофобия". Какая "русофобия" наблюдалась тут совсем недавно к жителю США? Это - как понимаю, СИСТЕМА... перевода новичков в раздел "платного разрешения их проблем" ... с полным нарушением GPL лицензии.
... и заметьте, я вас "за язык" не тянул ... Вы сами бегаете по темам и троллите. Сносите неугодные посты, оставляя свои оскорбления ... и продолжаете троллить новичков.
Вот это струя обиды и фимоз отрицания! Какой слог! Какая чудовищная манерность закружилась в вальсе с меркантильностью! А как чудесно смотрится скрипка непонимания в одном ряду с тенором глупости!
И попрошу заметить всего за 6 дней!
Пишите ишшо. Промежду прочим, данная тема - одно из подтверждений сказанного выше:
Чел пришел на форум, ему начали помогать ... и ? Тут набежали штатные флудеры и автор тихо слил с темы. А может и совсем с форума. А может и совсем с Ардуино. Это вы тут "внезапно" считаете свой форум "уникальным" ("мы тебя не пустили в свою песочницу" - ржу ни магу)...
ну, и кто тут ССЗБ? :)
... а ежели это не просто проблемы с ЧСВ, а "система"? ... а кто докажет что это НЕ ТАК? Сколько бабла, благодаря вам потеряли авторы Ардуино проекта? А репутации? То-то.
Ансамбль Ботов-Тролей сыграет, спляшет и устроит драку.
Плюс 1 клоун разоблачит всех безвозмездно тоесть бесплатно.
я все еще не наблюдаю помощи новичкам.
И почему мой блинк не читает данные с микрофона?
Пишите ишшо. Промежду прочим, данная тема - одно из подтверждений сказанного выше:
Да, Вы совершенно правы! И мы разделяем Ваше мнение!
Чел пришел на форум, ему начали помогать ... и ? Тут набежали штатные флудеры и автор тихо слил с темы. А может и совсем с форума. А может и совсем с Ардуино.
А может и телевизор выкинул, рубильник в щитке выключил и кошке на хвост наступить захотел! В общем жизгь у ТС не задалась.
Это вы тут "внезапно" считаете свой форум "уникальным" ("мы тебя не пустили в свою песочницу" - ржу ни магу)...
ну, и кто тут ССЗБ? :)
... а ежели это не просто проблемы с ЧСВ, а "система"? ... а кто докажет что это НЕ ТАК? Сколько бабла, благодаря вам потеряли авторы Ардуино проекта? А репутации? То-то.
И опять прямо в яблочко! Как и в 99% процентах Ваших постов на этом форуме!
Я начинаю подозревать что Вы прочли нашу секретную документацию и в курсе наших планов!
Это вы будете рассказывать владельцам Ардуино, если они читают этот форум или владельцам GPL лицензии. Заодно и "отвечать" за свой флуд научитесь. Мне - неинтересно. :)
Это вы будете рассказывать владельцам Ардуино, если они читают этот форум или владельцам GPL лицензии. Заодно и "отвечать" за свой флуд научитесь. Мне - неинтересно. :)
Судя по Вашим постам - Вам неинтерсно ничего кроме собственного, и всегда разумееется верного, мнения.
Пойду сушить сухари, вдруг владельцы Ардуино и владельцы GPL лицензии тоже читать по английски не умеют!
Пойду сушить сухари, вдруг владельцы Ардуино и владельцы GPL лицензии тоже читать по английски не умеют!
С бородинского хлеба? У меня есть тосты с корицей и изюмом. Тебе сыром намазать?
Из форума и задоного мною вопросом сделали мусор и те кто гонят фдул показали себя что даже поинтуса не достойны! так кто теперь вы есть на самом деле?
Из форума и задоного мною вопросом сделали мусор и те кто гонят фдул показали себя что даже поинтуса не достойны! так кто теперь вы есть на самом деле?
Глубоко философский вопрос.
А где вы задали вопрос? Ваш код вообще от балды. И чего вы ожидали?
Из форума и задоного мною вопросом сделали мусор и те кто гонят фдул показали себя что даже поинтуса не достойны! так кто теперь вы есть на самом деле?
Исправляемся.
Ваш вопрос:
я может и не правильно задал вопрос.я хочу 3 датчика по трем направлениям с какой стороны придет сигнал в ту сторону и повернеться серва.а если вы думаете что я выпрашиваю у вас код для себя то лучше не пишите чущь.могли бы лучще сказать что нужно почитать по моему вопросу.заранее спасибо
Для того чтобы подключить 3 датчика нужно подключить 3 датчика к ардуино (или аналогу) проводами подходящего сечения с необходимой обвязкой. Данные есть в технической документации на Ваши датчики. Про обвязку сначала читайте школьный курс физики, потом переходите на книги по электронике и электротехнике.
Спрашивайте не стесняйтесь!
Да, и ещё. Это не русофобия. Это просто глупость, тем более что сами отказываетесь от достойного слива к автоботам. Значит просто больные люди. Третьего - тут нет. :)
третьего ??!!!!!!!
третьего у моей жены День Варенья :) , в феврале.....
:)
И где торт?
...не возьмусь проанализировать весь путь его с февраля по сегодня :(
коротко - там где как форум называет Архат109 ( и ИДЕ - тоже )