Радиоуправляемая модель танка
- Войдите на сайт для отправки комментариев
Уважаемые форумчане, затеял приобщение сына к программированию через создание проектов на базе Ардуино. Всякую мелочёвку по книжке для чайников уже попробовали и решили (ну может и я решил), что интереснее будет разбираться в теме через какой нибудь глобальный проект. Ширпотребовскую машинку на 4х колёсах с сонаром и датчиками линии погоняли по квартире. СКУЧНО!))) Решено соорудить танк на радиоуправлении. В итоговом варианте он должен ездить в любых направлениях с изменением скорости, поворачивать башню, поднимать и опускать пушку, стрелять, при переключении в автономный режим самостоятельно двигаться объезжая препятствия, распознавать внесённые в память цели и их уничтожать, естественно передавать на пульт управления видеоизображение. Конечная цель проекта не физический объект а программа управления, в которой ребёнок будет понимать каждую запятую.
На форум пришёл так как периодически нужна помощь специалистов в разборе непонятных мне моментов в скетчах, по которым сам не смог найти информацию.
Вот передача видео и распознавание образов на ардуино - это пожалуй перебор. А в остальном это развитие, модификация уже имеющейся машинки.
На данный момент отрабатываем движение тележки танка с управлением через блютус. Выкладываю полный скечт. Всё работает, но не могу найти объяснения по работе в нём некоторых функций.
?
Может кто нибудь объяснить для чего сдесь эта переменная (int a), и зачем в функции delay эта переменная умножается на 50.
Как это работает и для чего?
В данном модуле скетча понятно как всё работает кроме троечки в скобках (3) у направлений движения.
Почему перебор? Если есть модули для Ардуино способные распознавать форму и цвет предметов, а передача видео сейчас вообще как за хлебом сходить.
В данном модуле скетча понятно как всё работает кроме троечки в скобках (3) у направлений движения.
очень справочно ответ можно найти вот тут и в строках после 042 пост2 ... и начинайте писать свои скетчи - быстрее поймете. И ищите уроки, в инете их много, начните с простых.
и не ждите ответов - ответ можите получить только на конкретный вопрос, типа этого... и не валите вопросы в кучу пока не разбиретесь с предыдущим.
На форум пришёл так как периодически нужна помощь специалистов в разборе непонятных мне моментов в скетчах, по которым сам не смог найти информацию.
На форум пришёл так как периодически нужна помощь специалистов в разборе непонятных мне моментов в скетчах, по которым сам не смог найти информацию.
А по существу заданных вопросов, ответить гордость не позволяет, или компетенций не хватает?
А по существу заданных вопросов, ответить гордость не позволяет, или компетенций не хватает?
Да.
А по существу заданных вопросов, ответить гордость не позволяет, или компетенций не хватает?
Да.
Спасибо честный ответ! Надеюсь знающие и отзывчивые люди сюда тоже иногда заглядывают!
А по существу заданных вопросов, ответить гордость не позволяет, или компетенций не хватает?
тут помогают и направляют, но учителей тут нет. ОСНОВНАЯ претензия - вы пришли с чужим кодом, где взяли, там и ищите помощи.
почитайте этот топик, поймете о чем речь... пытались научить... сложно это...
А теперь по существу писать надо программу так что бы в ней можно что-то менять и модернизировать. А скетч написан так, что или пользуйтесь что есть или пишите новый заново под новые задачи. По факту бестолковый скетч. А учиться толковые скетчи Вы не желаете.
А по существу заданных вопросов, ответить гордость не позволяет, или компетенций не хватает?
тут помогают и направляют, но учителей тут нет. ОСНОВНАЯ претензия - вы пришли с чужим кодом, где взяли, там и ищите помощи.
Этот код я скомпановал сам из разных проектов, частично написал сам, и настроил под своё железо. И оно работает. Код отвечающий за управление движением с какого то англоязычного сайта. Это наиболее интересный код. В книжках и рунете какие-то корявые и громоздкие варианты. Поэтому хочу понять принцип работы именно этого кода.
А теперь по существу писать надо программу так что бы в ней можно что-то менять и модернизировать. А скетч написан так, что или пользуйтесь что есть или пишите новый заново под новые задачи. По факту бестолковый скетч. А учиться толковые скетчи Вы не желаете.
А приведите пример бестолковости. И как бы Вы написли толково. Только с аргументами.
Сравните
и 
Первый громоздкий, а второй то что надо. И никаких сложностей.
https://www.drive2.ru/b/2867939/
Вот тут ваши кампановки уже стащили.
И да я Вам не смогу помочь. У меня горомоздкие вещи на ваш взгляд выйдут.
ПС:от сюда #39 и дальше
В данном модуле скетча понятно как всё работает кроме троечки в скобках (3) у направлений движения.
обычно если хочу узнать ставлю в скобках вместо троечки другую цифру, скомпилируйте и увидите, там шаг какой то скорее всего. А если не увидите разницы, то например если код новый для вас, и разницы в нем нет, его можно выкинуть. Здесь похоже троечка нужна, нужна скорее всего для какого то шага. Лучше скомпилировать с другой цифрой. Насчёт
a*50 delay - автору захотелось нагородить огород, напишите просто delay (50), возможно автор кода думал о другом когда писал код, или среда ардуино вынудила его нагородить огород сказав что не откомпилирует без огорода. Обычно в ардуино такие объяснения неизвестному коду. Я бы объяснил это так. delay убрал бы a, он явно попал из другого кода возможно. Например могло быть ещё и a которое меняется. Но в коде осталось только delay, а а лишний возможно. Компилируйте и убирайте а пробуйте, если разницы нет что с ним что без него, выбрасывайте код будет меньше и быстрее.
Мне думается)), что изначально delay(a*50) делался для задания поворотов на определенный угол. Где "а" и есть этот самый угол. А ТС уже в лоб напихал его и куда надо и не надо.
aduardrud, все ваши вопросы на одну тему - функция.
найдите, что это за зверь и с чем его едят ....
aduardrud, все ваши вопросы на одну тему - функция.
найдите, что это за зверь и с чем его едят ....
в посте 7 этого топика уже написано... немного
да, там все что нужно есть +1
И да я Вам не смогу помочь. У меня горомоздкие вещи на ваш взгляд выйдут.
ПС:от сюда #39 и дальше
Спасибо! Изучу, протестирую на своей тележке и отпишусь.
Как может функция задержки быть задающей для поворота?
Учите основы, потом будете людей в заблуждение вводить.
Эта переменная задаёт задержку, а умножая её на 50 могу предположить что это задержки в половину 10-й части секунды, умноженые на эту переменную.
По поводу 3-й ки...
Смотрим в код, а именно сюда
042
// ****************** Задаем основные направления движения ******************
043
044
void
forward (
int
a)
// ВПЕРЕД
045
{
Видим, что для функции forward нужна входная величина в виде переменной "а".
Далее в коде эта переменная и создаёт задержку
052
delay (a * 50);
Дальше объяснять, или всё же серое вещество начало свои магические телодвижения???
Как может функция задержки быть задающей для поворота?
Учите основы, потом будете людей в заблуждение вводить.
Это ко мне вопрос? Так если подумать, то элементарно.
Для идеи таких масштабов, какой масштаб танка?
Передача видео, обьезд препятствий - требуют крепления датчиков и камер.
Что-то тема заглохла