ARDUINO для детей: "как Лего"

Насколько полезна тема и стоит ли расписывать детально далее?

  • 1. Полезно и очень, внимательно слежу за дополнениями. Аффтар! пиши исчо!

  • 2. Может кому-то и полезно, лично мне нет, я уже вырос, обучать? Есть кружки, школы..

  • 3. Может кому и полезно, но сам повторять не собираюсь, полно готовых изделий.

  • 4. Фигня и мазохизм. Проще купить готовое, тема бесполезна.

  • 5. Тема вредна, учит делать своими руками - кто покупать будет то, что я продаю?

  • 5. Мне все равно. И вообще читать не умею, а картинок мало.


Результаты будут видны только после голосования.

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Постепенно всё будет. Оно просто размазано по разным ресурсам, архивам на нескольких компах, в т.ч. и детском ноуте, телефонах .. разыскиваю и постепенно дополняю что нахожу. Об изменениях делаю "новый пост", чтобы легче было находить новое. Схемы под ИК-датчики не рисовались вовсе - уж слишком просто. Но, если надо - дополню.
В них основной цимес - это изготовление методом "микросборки", что позволило получить шикарные датчики (последние с регулировкой усиления) в габаритах .. 8х16х16мм! :)

@Wan-Derer, по прежнему не могу вставить текст своей библиотеки в пост! "Увы, мы столкнулись с проблемами: текст больше 10000 символов" .. хотелось бы как-то решить этот вопрос, без ссылок на гитхаб, ибо библиотеки там нет и не планируется размещение на гитхабе.

P.S. Очень хотелось разместить текстом, чтобы можно было в дальнейшем ссылаться на строки кода и вести обсуждение и пояснения. Разместил вопрос в разделе FAQ, но ответа там нет.
 
Изменено:

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
@Arhat109, конечно надо, это же описание технического проекта. Схема даёт однозначное понимание "чокудапаять".
Да и потом, подготовка у всех разная. Для кого-то "слишком просто", а кого-то "ОУ в режиме единичного усилителя" поставит в ступор навсегда :)
 
  • Лойс +1
Реакции: Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Дополнил пост №9 электрическими схемами (под спойлером) и дополнил описание текстовкой подбора резистора и пр. нюансами.
Описание светодиодов и прочих наших датчиков - вынесу в отдельные посты позже. На этом пост №9 можно считать законченным. :)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Пост #10. Выложил компилирующуюся совместно с Wiring часть библиотеки, добавил краткие (больше не влезет) описания базовых функций ногодрыгов, таймеров и ШИМ. Есть примеры, можно смотреть что там рабочее, а что нет - оч. давно не использовал самостоятельно.
Если что-то не так или не понятно - пишите.

ЗАМЕЧАНИЕ:

Сразу оговорюсь по своей позиции: активно считаю что программировать микроконтроллеры, независимо от их "мощности" надо на "Си", а не каком-то ином языке. Даже не на С++! Это исключительно мое ИМХО и спорить тут бесполезно, отвечать не буду. Пишу сразу.
Причины: собственно она одна - борьба за компактность и скорость исполнения однократно написанного кода.
Почему "однократно"? А просто: микроконтроллер - не машина универсального исполнения, а заточен и применяется исключительно для решения какой-то ровно своей, специфической задачи в конкретно этом девайсе. Соответственно, он имеет достаточно жесткую, хоть и перемещаемую раскладку назначения ножек и применять "хранение ножки в переменной" - есть в некоторой степени "дебилизм", писателя, желающего написать нечто "универсальное" что .. противоречит назначению микроконтроллера что называется "по определению". Да, бывают по несколько устройств на разных ножках и для них стоит писать "переносимый по ногам код" .. но это чаще и проще решается препроцессированием.

Ну и ещё: прочитал очень много холиваров за применение С++ в микроконтроллерах, но НИ РАЗУ ни один "плюсанутый апологет" нигде не смог доказательно показать преимущества своего подхода! А вот недостатки показывают таким практически в каждом таком холиваре! Самое смешное тут то, что в реальности те же самые специалисты по С++ .. признаются что сами пишут для микроконтроллеров исключительно на "С" и практически никогда не пользуются "типовыми бибилиотеками" (см. выше). Прикольно, правда? :)

Тем не менее, сам по себе подход ООП как исключительно "стиль проектировани и разработки" вполне может быть применим не только для ООП-языков, но и для "С" и даже на Ассемблере можно его использовать в полной мере .. ничего не имею против разумных стилей, техник и методик. Просто часто (и много приходится править в моей практике по работе!) результат на ООП можно охарактеризовать как "заставь дурака Богу молиться - он и пол пробьет". Увы, но слишком часто.

Это ни разу не приглашение к очередному холивару. Просто Имею Мнение - Хрен Оспоришь. Дабы было понятно почему все написано исключительно на Си, хотя во многие места С++ "прямо просится". Да, просится. Но не для микроконтроллера. :)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Развернул пост #11 - работа с I2C и дисплеем. Часть 1 - интерфейс I2C, надо ли расписывать работу с дисплеем - мне пока не ясно.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@VlAdoSIK6753, что непонятно - спрашивайте. Не стесняйтесь. У меня дите в свои 11 лет этим уже пользовался вовсю, а щас ему 13 и он вполне нормально консультирует своего учителя по программированию, в его "ИТ школе".. :)
 
  • Лойс +1
Реакции: ipc2002

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Пост №10. Дополнил замечанием о библиотеке - архив распаковывается как обычная библиотека в папку libraries и можно пробовать примеры в Ардуино ИДЕ. Что-то работает "не так" - пишите, спрашивайте. Возможно залил "не тот архив" .. это писалось в основном в 2015 году. Должно работать под любой версией ИДЕ, как и любая библиотека Ардуино.

Добавил код в пост №15 - работа с кнопками. Найду фотки наших датчиков касания (те же кнопки) - выложу. Найду улучшенный вариант кода - заменю. :)
 
Изменено:

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Накатал пост №13 - про датчик освещенности и цвета TCS3200. На моей небогатой практике приборчик оказался очень даже качественным. Вполне надежно определяет цвета в темноте, с освещением поверхности от эл. лампы в 40вт, с расстояния в 1м, без собственной подсветки.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Ап.
Как-то непонятно: то ли никому не интересно, то ли слишком неясно и косноязычно, но почему-то вопросов - тоже нет. По большей части уже выложено много и ожидалось какое-то обсуждение ..

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

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
@Arhat109, на этом форуме пока не так много народу чтобы было полноценное обсуждение. А так вообще интересно, пиши ещё :)
 
  • Лойс +1
Реакции: Arhat109

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
208
@Arhat109, а у вас нет там в закромах не просто датчиков касания, а линейных (или криволинейных) "тачпадов", типа как на пультах бывают. Чтоб можно было считывать положение пальца на круге (или линии).

 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@Александр Симонов, Нет. Таких точно нет. У нас, в основном, разные запчасти приспособленные для детского технического творчества по типу "собери и запрограммируй робота своими руками"

Начиналось все это в 2014-м, когда сыну было ещё 8лет .. тогда были "муки выбора" - что купить домой дитенку? Вариант с "лего" - задушила жаба (как оказалось и совсем напрасно), поэтому выбор был остановлен на "Ардуино" (и как показала жизнь - тоже совсем напрасно).
Практически сразу же стало понятно, что детям в таком возрасте ваять что-то своими руками крайне проблематично, несмотря даже на опыт, если такой даже и есть. У нашего он был - начиная лет с 6-и он сам собирал (клеил, раскрашивал) модельки от Звезды, разных "робогиров", и достаточно сложные (вертолет К-29 к примеру). Что-то приходилось допиливать из куска пластика в т.ч. тоже. Освоено литье пластмассы под давлением в домашних условиях и т.д.
Соответственно, для приобретения знаний в области электричества, электротехники и электроники ему был куплен комплект наборов "Знаток", что сильно помогло, в понимании схем, но .. и только.

И вот к концу 2015г мне стало понятно что можно совместить нестыкуемое и получить флакон "два в одном" - попробовал, получилось: ребенок смог сам собирать нечто. Ему стало интересно "оживлять" собранное программированием и он понемногу "втянулся" в робототехнику настолько, что в марте 2017 стал бронзовым призером Робофеста-2017 и "попал" в какой-то там "президентский резерв одаренных детей". Какой-то там, потому что дальше никаких телодвижений от представителей этого резерва (команда "Сириус") мы так и не увидели по сию пору.. ну попал и попал.

Дальше .. в общем-то с октября 2016 мы с ним уже столкнулись с неким "противодействием" в виде сложностей попадания "чужих" на разного рода соревнования, одиозное судейство и пр. неожиданности мира "детских робототехников". Как пример, могу скопипастить сюда отчет о нашей подготовке и поездке на тот самый "Робофест-2017", включая т.н. "оторочные" соревнования .. увы, но грустно.
В результате, ребенок к настоящему времени совсем потерял интерес к робототехнике и с головой ушел в чистое программирование. Собственно поэтому и выкладываю как "завершенный проект".

Все это, к концу 2018, уже окончательно, привело меня к пониманию что "надо было покупать Лего" и не связываться с Ардуино совсем...
Причины (выстрадано собственным опытом):
1. В школах, спецклассах, платных кружках .. везде преподается "лего" и есть система подготовки, учебники как для преподавателей так и для учащихся .. процесс поставлен на уши и плотно. Дополнительно Лего стоит денег .. и все это можно качественно преобразовать в "доп. заработок";
2. Соревновательный процесс качественно регламентирован, в т.ч. и зарубежным опытом, имеет свои плюшки для последжующего поступления, широко спонсируется производителем .. с этой стороны давно создан "кружок своих" в основном из детей тех же преподавателей и учителей.
3. Ардуино позволяет самостоятельное обучение, денег тут нет (только Амперка и похожие "бренды"), обучением преподавателей почти никто не занимается, уровень знаний - "ниже плинтуса" (в т.ч. и у организаторов соревновательного процесса) как в области программирования так и электроники, конструирования и пр. смежных областей. Отсюда - регламенты часто двусмысленные, нарушаются (Робофест-2017, 2018) самими же организаторами "на раз" и т.д. Спонсирование - крайне бедное (отборочная медаль за 1 место у нас в 2017 оказалась .. выжжена из дерева на лазернике, покрыта лаком и воняла провисев в туалете не менее полугода).
4. Конкуренция (понятно неравная, но бьющая по детям) между нашими "перекупами Ардуино" (а-ля Амперка) и Лего, доходящая до фантстики: на соревнования по Лего мы не проходим с нашим "Ардуино как лего", ибо там все расписано и регламентировано в т.ч. и на мировом уровне, а на соревнования по Ардуино .. внезапно не попадаем тоже, поскольку "лего детали - запрещены" и "ардуино это не лего" (цитаты от организаторов, ежели в че из моей переписки)

Но .. как способ перехода от Лего к программированию микроконтроллеров на "С/С++" этот проект показал себя с самой лучшей кочки зрения. Как итог, уверен на все 146% что мой дитенок теперь способен решить любую задачу как в Лего, так и не только в "Ардуино" .. тем более, что в этом проекте собственно "Arduino Wiring" и производные библиотеки разных adafrut практически не использовались.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Отчет по результатам соревнования "отборочный тур Робофест Новосибирск 2017 Hello Robot Arduino, категория Шорт-трек".

19 февраля, прошел наш отборочный тур. На соревнование было представлено всего 2 участника - мы и ещё одна "семейная команда". Наш противник - оказался тоже Андрей и примерно тогоже возраста, но представил гусеничный вариант тележки на базе Ардуино 2560, 4-х Li-ion 18650 аккумуляторов, 8-и аналоговыми датчиками и парой мощных и скоростных моторов (покупные). Какой был драйвер моторов - не разглядел. Балансировка моторов осуществлялась регулировкой подаваемого на них напряжения двумя DC-DC преобразователями с ручной подстройкой. Программа, со слов его папы, написана полностью на С/С++ с активным использованием прерываний как для замера дальности, так и для работы аналоговых датчиков, без применения wiring. Из особенностей, папа указал на специальную "процедуру доворота" хорошо удерживающую гусеничный вездеход на трассе.
Заявленная скорость движения папой по трассе "может до 10-11сек", практически достигнутая 13.8 - 14.2сек. Очень красиво смотрелся на горке, перелетая её по воздуху. Размер робота 195х195мм.
Нами был представлен колесный вариант, поначалу на мелкой и узкой 62х20 резине от набора 42009 со скользящими передними колесами (вперед катятся, но легко скользят вбок), 5-ю аналоговыми датчиками, мосфетным драйвером моторов и 2-я Li-ion 18650 аккумуляторами с нашей парой "синих моторов" (они участвовали на городских соревнованиях, но с 81 резиной). Размер тележки 165х180мм (значительно уже и мельче противника).
Типа этой - "Адская колесница" (2-я версия уже на больших колесах):

Использована Ардуино Нано. Ожидаемое время прохождения трассы "до" начала 13-14сек. Практически показанное на этих колесах 16сек. (первая квалификация). Программно остановились на табличном ПД-регуляторе без предсказателя поворотов (решили что обойдется и так), все сделано ребенком на базе Ардублока, соответственно замер расстояний - в основном цикле с ограничением таймаута до 2мсек (ок 30см) и контрольным расстоянием в 20см. ПД-регулятор получал значения с датчиков (dir): -6, -4, -3, -2, -1, 0, 1, 2, 3, 4, 6, где -6 и 6 -- потеря линии слева и справа соответственно. Внешнее колесо в поворотах тупо ускорялось с шагом приращения до макс. скорости поворота, а внутренне колесо вычислялось как доля от скорости внешнего колеса по таблице tblProps[abs(dir)] +- значение из таблицы tblDiffs[abs(dir)] в зависимости от того ухудшалась ситуация в повороте или улучшалась (отклонение больше/меньше предыдущего) или +0, если без изменений. Соответственно, практически каждое значение tblProps представляло собой комплект соотношения скоростей для того или иного радиуса поворота. Собственно и всё, что можно было внятно разъяснить ребенку по "ПИД регуляторам" на его уровне знаний.. при возврате на прямую (dir=0), при значительной разнице скоростей колес работал алгоритм выравнивания, который замедлял быстрое колесо на нек. значение и ускорял внутреннее на двойное значение. Значение вычислялось от разницы скоростей колес, но ограничивалось сверху, чтобы не получить "потерю контакта с дорогой". Никаких особых выкрутас, только то, что доступно 10-и летнему ребенку с несколько расширенным знанием (отрицательные числа, дроби).
После обеда наш поменял резину на 81х38 и размер тележки вырос до 195х195мм, скорость движения поднялась до 13.8сек на тренировке, но вот пройти квалификацию нашему не удалось и время зафиксировано так и не было. Тем не менее, до финала были допущены обе машинки, перед финалом наш противник поменял батарейки, наш так и остался на одном комплекте (то ли забыл, то ли не стал менять, домашний замер показал 4.01в из 4.2 до соревнований).
Из проблем второй тренировки и второй квалификации внезапно оказалось, что наш противник крайне плохо проходит перекрестки, путаясь и поворачивая не в ту сторону, особенно после горки. Замеры зрителей на тренировке стабильно показывали 13.5 - 13.9сек. при удачном прохождении трассы. Вторая его особенность - неверная настройка датчика препятствий - он был подготовлен для обнаружения .. балки и снижения скорости перед ней, вместо поиска противника на трассе. Этот момент вызвал бурную дискуссию папы с судьей: будет ли считаться столкновение при догоне за ошибку и дисквалификацию. Папа аргументировал съемкой Робофест 2017 Урал, где такое НЕ засчитали как дисквалификацию и победу получил тот, кто догнал и столкнулся, но наш судья твердо настоял на том, что это будет проигрыш (позже выяснилось что таки "засчитали" и сняли участника). .. не знаю, но ребенок что-то там переделывал или подстраивал, но на второй квалификации он уже изрядно нервничал и истерил. Его папе пришлось дважды заходить в соревновательную зону и в присутствии судьи (разрешено правилами) успокаивать его. Квалификацию они прошли на 14.2сек.
Из наших проблем перед второй квалификацией - замена колес и полная перенастройка всей табличной части управления (все значения пропорциональной и дифференциальной составляющей, все предельные ограничения параметров макс. скорости по прямой, в повороте, возврата на прямую и шага приращения скоростей) .. настроить робота до конца ему так и не хватило времени тренировки. Вторая проблема .. контакты. Аналоговые датчики периодически "отходили" по одному и автоподстройка работала просто отвратительно. Но, окончательно догадались только уже придя домой. В результате, обе попытки второй квалификации наш робот "не поехал".
Перед финалом, наш решил полностью убрать автонастройку датчиков с ручными покатушками и проставить значения, которые собирался замерить на трассе .. но тут пришла руководитель соревнований и .. попыталась запретить выход с ноутбуком на трассу, грубо наорав на моего сына. К счастью, судьи заступились, разъяснив ей что это не запрещено регламентом. В результате, провозившись с ноутбуком у трассы, убрать до конца он так и не успел (было 30мин, он решил вставить новые массивы "белое" и "черное" и оставить вычисление уровня вместо того, чтобы тупо записать массив уровней и его использовать .. нервы, нервы.. мышиное управление картинками в глючащим и валящимся ардублоке .. тоже ещё то занятие .. перегружал с его слов раза 3 всю Ардуино ИДЕ) и вернул все "на родину".

Финал обещался быть классным: 2 соперника, с примерно равными роботами .. судья объявил что будет и горка и балка, надо будет ехать 3 заезда по 5 кругов, столкновения не допускаются ни в каком виде .. зрителей осталось вполне достаточно .. первый заезд наш проиграл вчистую: его робот потеряв контакт с боковым датчиком поехал в сторону вместо трассы. Обидно, но бывает.
Второй заезд. Среди зрителей напряги, обсуждения, споры (два соседа-зрителя чуть не подрались из-за "нужна ли горка вообще?"), дети на взводе "не подходи" .. нашему досталась внешняя дорожка (наконец-то, удобнее стартовать) и .. старт! И .. поехали! Первые полкруга прошли достаточно уверенно. Обнаружив противника на внешней линии, наш остановился и соответственно приотстал на втором (нашем первом) внутреннем развороте, прямая у нас балка у него горка .. полет нормальный, пройден перектресток гусеничным вездеходом, наш на амортизаторах, балку даже и не заметил и тоже быстро пошел в разгон, догоняя противника .. второй внутренний (для нас) разворот и .. он снова ловит вездеход на датчик препятствий, идущий по внешней линии и останавливается в паре сантиметров! и тут .. вездеход заруливает к нашему роботу и пинает его в переднее колесо (потом на видео, было хорошо видно как с него полетел декоративный светящийся диск Лего) .. вот она - особенность: "процедура доворота" его папы .. в зале крики "зацеп!", пока судьи остановили заезд, роботы успели пройти перекутресток без проишествий (наш опять успел тормознуть и пропустить противника) и подъезжали к горке и балке .. по мне так не надо было останавливать такой шикарный заезд .. но, решает судья и заезд был остановлен.
По факту просмотра нашего видео (его папа был в лучшей позиции, но видео показывать не стал), было решено что неоднозначно и заезд ПЕРЕИГРЫВАЕТСЯ. Нам поменяли дорожки и .. тут случилось невероятное для такого зажигательного финала: второй участник впал в полную истерику и отказался продолжать заезд .. уговаривали все и я и его папа и судьи .. абсолютно невменяемая истерика, бросание стульями и т.д. Ребенок не слышит ничего вовсе .. какая жалость .. прошло минут 10 и внезапно нарисовалась руководитель соревнований. Поуговаривав истрящего ребенка пару минут, она объявила что "настройка робота должна быть ограничена 10секундами" (нашему, тот тоже был близок к истерике и ходил кругами), а гусеничный вездеход запустит .. тренер (папа, есть видео!) .. и победа будет присуждена только по этому заезду. Уже дома и позже, найдя это видео и пересматривая его, спросил своего: "А почему твоя машинка поехала в сторону?" и получил ответ от сына: -"Ну, папа! Я же пришел не с его папой соревноваться. Просто недонастроил датчики и отправил мимо трассы .. ну раз так хотят - пусть выиграют".. :(

Аргумент - "Вы же видите - это особенный ребенок!". Запуск .. наш робот едет в сторону игнорируя линию .. первое место присуждено второму Андрею, в зале среди зрителей куча возмущенных голосов..
.. по завершению соревнований .. нам предложено поехать в Москву .. мы - согласились. :)
 
  • Лойс +1
Реакции: Shalom

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Машинка, что на фото выше была признана "симпатишной и скоростной" и принята к участию. Решили, что лучше и не надо и так все хорошо.

Внезапно, 03 марта (соревнования на 17.03.2017!) обнаружено изменение в регламенте (видимо после анализа отборочных со всех городов): "Недопускаются НИКАКИЕ Лего-детали". Моя переписка с организаторами завершилась вердиктом "Ардуино - не Лего" с их стороны.
И .. мы кинулись решать вопрос "чем заменить" нашу Адскую колесницу..
...
06.03.2017: Подниму тему. За 3 дня удалось почти собрать всё без применения лего-деталей. Осталось сделать блок датчиков и светодиодов и все-все пропаять.. понемногу начну выкладывать фотки того, что уже сделано.

Вот такое чудо собрано на пару с сыном из "говна и палок". Колеса - симбиоз его р/у джипа и бывшего р/у трактора, окраска дисков акрил "под медь". Амортизаторы тоже изъяты из р/у джипа. Передние колеса от какой-то древней пластмассовой машинки-покатушки. Забегая вперед, оказалось что собранные мною "мотор-редукторы" хоть и красивы с прозрачным пластиком, но на проверку оказались "никуда не годны". Увы, уже в переделке.
...
В крайнем случае, будем снимать лего-детальки с моторов, которые использовались на отборочных соревнованиях и придумывать как закрепить на нем колесо без применения лего осей.. в общем *опа полная пока что.

Ну и как итог, который уже писал: в силу обстоятельств это направление "Ардуино как Лего" мы для себя закрыли совсем. Получается ни 2 ни 1.5:

На Лего соревнования нас не берут, потому что у нас "ардуино"; На большую часть соревнований мы вообще не попадаем, поскольку мы "семейная команда" без лицензии образовательного учреждения; И даже оставшийся Робофест для нас практически закрыт, потому что "Ардуино - это не Лего" и наши поделки тут тоже "не в тему" внезапно. В общем, как уже писал тут где-то раньше, мой вывод однозначен: для привлечения ребенка к робототехнике - Ардуино это "не та тема" вовсе. Надо отдавать ребенка в "образовательное учреждение с лицензией" и на Лего. Все остальное - развод для лохов.
...
Посмотрел ваше видео .. Вы серъезно считаете что ребенку в возрасте 10 лет это будет точно интересно? :)
Соревнования - это всего лишь возможность "показать себя" и посмотреть на других .. место общения и обмена опытом. Для детишек, особенно вот таких, которые что-то делают в одиночку дома, это по сути единственный способ пообщаться со сверстниками на темы, доступные и понятные всем участникам.
Выбрав это направление "Ардуино как Лего" мы хотели показать, что на базе Ардуино вполне можно делать построюшки и сборки доступные в этом возрасте. Особенность этого направления - устранение множества мелких, рутинных операций по изготовлению разного рода "крепежа", заменяя его на лего-конструктив. Кстати, делая в скоростном режиме эту тележку "из говна и палок", ребенок в полной мере ощутил все прелести нашего подхода:
-"да ... а ещё надо придумать КАК крепить передние колеса, а ещё это все надо будет вырезать, випилить, склеить и покрасить .. долго. А вот на Лего я бы уже всё собрал".
Ну и мнение преподавателей в тему: -"Почему Ардуино распространено плохо, а больше собирают на Лего? Так вот смотрите, надо опробовать работу с вот таким датчиком .. на Лего взял датчик, пару деталек, собрал пробную конструкцию и посмотрел подойдет или нет. Нашим хватило 30мин. чтобы решить вопрос. Рядом же сидели Ардуинщики и через 2.5 часа(!) они только начали собирать и программировать задачу. Потому что все надо изготовить для каждого случая ОТДЕЛЬНО. Вот нафиг кому это надо? Да и возраст. Нормально работать с паяльником, инструментом .. таже Техника Безопасности .. оно надо кому-то рисковать в таком возрасте? Постарше 14-17 лет, да нормально."
Собственно, что я вижу по разного рода видео с соревнований по Ардуино: сделано или из готовых наборов, что вполне нормально для их возраста или сделано "тренерами"... только вот вопрос возникает: если соревнуются тренера команд, то зачем там детишки?
...
"Адская Колесница" версия из говна и палок:

Наконец-то собрали нашу тележку. Запускать начнем уже завтра, сегодня - поздно. :)
Итого, вес тележки 430гр. Размеры 195мм х 156мм. Высота Ц.Т. - 45мм.
...
Ну .. в общем, "Адская колесница ГП" поехала. На 2-х аккумах едет примерно на 6% медленнее чем предыдущий вариант из Лего на 3-х. Все настройки программы в этом режиме работают без изменений.. в общем, похоже что-то получилось.
...
Поехали и на 3-х, но пока как-то странно: вместо ожидаемых 6.5 - 7 сек имеем .. все те же 10-11. В общем, время кончилось, что успели - то успели.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Ну вот и вернулись с Общероссийского Робофест-2017. Заняли первое место на квалификации с результатом 8.72сек, третье место в финале и, надеюсь, поголовный приз зрительских симпатий всех тренеров команд, наблюдавших наши тренировки, заезды и финалы. Всем огромное спасибо, за дружескую поддержку, а где-то даже и помощь.
...

...

Ну, а теперь .. начну пожалуй несколько "заранее", ибо победили мы не благодаря мифической фортуне, а наверное больше "вопреки"... ;)
И так, раньше уже писал, что пришлось в срочном порядке лепить новую инкарнацию под названием "Адская Колесница ГП" и нам это удалось. Вскоре она была переименована в "Адская колесница ПМ" (из подручных материалов) по настоянию сына (-"Ну .. папа, это же не вежливо! Как я это скажу вслух, а она обидится и не поедет") и, соответственно, появилось ответвление ПО с таким именем. :)
В общем, когда мы вышли, что называется на финишную прямую и уже были уверены что "успеваем" .. наш герой внезапно закуксился и .. слег с температурой 38.9. И это за три дня до вылета! Я посыпал голову пеплом и всем что попадалось под руку .. впрочем, этим же и лечили в срочном порядке. В результате, в какой-то момент времени (полегчало), ребенок лежал с температурой на своем втором ярусе своего "мамонта", смотрел на прохождение трассы сверху и давал указивки, что и где в его программе надо подправить, а "тренер" бегал вокруг трассы, ловя тележку (чем регулярно смешил сына) и правил программу, попутно задавая вопросы типа "а тут нафига так наворочено?" .. поехало. Лучшее время в режиме 2S = 9.5сек. Понятно, что снимать было некому.. и стало понятно что прыгнуть выше(меньше) 8.5-9.0сек., на двух аккумуляторах не получится. Переделывать тележку уже некогда вот от слова "совсем"... благо блок аккумов был сразу сделан под 3S.
В последний день перед вылетом, температура спала и он опробовал режим 3S .. долго ловили тележку по комнате, наконец ей удалось забиться в угол и встать на датчике препятствия .. странно, но вроде можно ехать быстрей (писал выше). До самого вечера, вдвоем боролись за режим 3S .. удалось установить "личный рекорд тележки Адская Колесница ПМ" в районе 8сек .. насколько можно замерить старым советским секундомером "с руки" (+- 0.2сек) с потерянной реакцией и остекленевшими глазками от усталости, недосыпов и т.д. На этом решили "хватит" и стали собираться в путь.. в тот день был (задним числом припомнили) "первый звоночек" - вн. мотор стал как-то нехорошо подсвистывать и .. мы поменяли моторы местами, на чем и успокоились.. Весь багаж распределили в 2 сумки "ручная кладь" по 4.5кг каждая .. старались и даже взяли с собой поле и кучу запчастей.
Ура, вылет! .. проходим досмотр и упс .. "а что это у вас лежит такое в коробочке, в самом низу?" .. -"Э-э-э .. инструменты." .. -"?!? какие?" -"Ну там, канц. нож, плоскогубцы, круглогубцы, кусачки, пинцет, шило, ножницы .. и о, это - паяльник" ..-"Всё это надо сдавать в багаж".
Афигеть! Билеты невозвратные, безбагажные, куда и как это все теперь оформлять, доплачивать .. в общем у меня тихая истерика: "Э-э-э, оно все же мелкое, Вы же видели .. ребенок в Москву едет на общероссийские соревнования по робототехнике, ну вы же видели там робота в коробке .. первый раз .. куда нам теперь двигать, да как эту, одну коробочку "сдать багаж"?" -"Ладно, идите. В следующий раз - сдаете в багаж" .. Уф. Повезло таки.
Полет, приземление, поездка в гостиниицу, заселение .. в общем прошло "без эксцессов"... идем в номер и .. упс. В коридоре, на ковре сидит команда и разбирает на поле ситуации по Ардуино сортировщику .. конкуренты в соседнем номере, "вот тебе Ваня и Юрьев День" .. -"А тут нас много. Есть из Калининграда, Владивостока...", в общем "приехали". Ребята оказались из Краснодара и их представитель в итоге и взял второе место. Забегая вперед, с нашей стороны, мы бы ещё дали приз за самую красивую тележку. Раскрутив поле, там же в коридоре опробовали наш "медленный" вариант и, к своему удивлению, получили что-то около 14сек. Но потом, обдумав, сообразили что это из-за ковра и успокоились.
Весь московский вечер 15 марта, мы искали место где можно "укромно" покатать тележку на твердом покрытии .. таки нашли: на цокольном этаже, возле уже закрытой столовой был кафельный пол. Недостаточно ровный, но все же "сойдет". И мы начали свои последние тренировки. Тут было обнаружено, что медленная программа (перенос версии 2S на 3S с тупым понижением предельных скоростей ШИМ) на свежезаряженных аккумах вполне устойчиво идет .. 8.5сек. Но дальше снизить время прохождения трассы без подключения "предсказателя поворотов" - никак.
Надо пояснить что за предсказатель поворотов "ойка". Конечный автомат, имеющий переменную состояний с названием "oys" и увеличивающий номер состояния по достижению очередного "критически важного" фактора. Как-бы "ой", "ой-ёй", "ой-ё-ёй" .. :) Первым таким фактором было прохождение по линии со скоростью, выше "критической" времени больше заданного. У нас это время позволяло пройти на предельных скоростях 20-25см трассы. Если срабатывал "первый ой", то автомат переходил к контролю следующего и так далее. Если все "ойки" срабатывали, то последним действием этот КА включал режим "тормози, зараза!" и останавливал машинку на 20-50 миллисекунд за 3 попытки (практически в режиме ABS). Весь автомат придуман ребенком, терминология автора. Забегая вперед: так и не был применен на соревновании ни разу, как оказалось позже.
В общем, с "ойкой" машинка шла по трассе как "влитая" и удалось стабилизировать прохождение трассы за 8-8.5сек, что нас полностью устроило, да и уже валились с ног из-за разницы во времени и перелета. Прокатав 5 или 6 кругов без остановки, посовещавшись, решили прокатить "ещё раз" слегка подняв предельные значения ШИМ, так .. "на всякий случай" .. интересно жеж! Тележка прошла круг за 7.2сек с вылетом за трассу и раздался второй "звоночек": что-то достаточно громко "хрустнуло". Повертев тележку и так и сяк и ничего не обнаружив, мы пошли в номер. Стратегически, поскольку предполагалась только 1 квалификация, я настоял чтобы он оставил на переключателе 2 версии настроек программы: "быстрая с ойкой" (8.5сек) и "медленная без" (9-10сек). И ушли спать.
Утро 16 марта. Подъем по Новосибирскому времени .. блин, рано .. 5 утра .. аккумы заряжены, "а давай проверим" .. тихо, чтобы никого не разбудить, спускаемся к кухне и .. внутреннее колесо едет отдельно от тележки. Вот оно что "хрустнуло" - отклеилось .. ща мы тебя .. возвращаемся в номер, приклеиваем, восьмерит странно, долго мучаемся вдвоем и наконец-то ждем пока высохнет. А пока - сбор. Решили, что никаких инструментов мы не берем (все и так просто отлично) и тут я натыкаюсь на запасную резину для колес .. сравниваем и принимаем решение "пора менять резину". Меняем. Одно колесо (внешнее) смена прошла нормально. Второе колесо .. упс. Оно отваливается и мы смотрим на него остекленевшими глазами: офигеть!
Пластик ступицы колеса рассыпался на 3 части .. запасного диска нет, они собраны из двух разных частей .. *опа. Приплыли, идти некуда.
поморгав оторопевшим взором, приходим к мысли что надо попытаться склеить ступицу, но я очень хорошо понимаю что "центровке" и надежности прохождения трассы пришел легкий пушной зверек .. аккуратно, пинцетом (один держит, второй клеит) собираем ступицу "по частям" заново приклеиваем колесо, борясь с восьмерками и идем завтракать. После завтрака, тупо идем на соревнования "а будь что будет, надоело"..
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Выходим из гостинницы "Катюша" и .. обнаруживаем длинную кавалькаду "идущих вдаль" взрослых вперемежку с детьми и сумками с роботами .. как потом узнал у администратора: -"Вы не поверите! У меня 280 номеров и все заполнены практически только вашими соревнованиями!" :)
Пришли (в таком потоке - не промахнешься). Стойка регистрации, предоставление документов и .. упс:
-"А где приказ на сопровождение?"
-"?!? какой ещё нафиг приказ? Мы - семейная команда, я - отец .. я должен его сам себе выдать что-ли? Да и на форуме было разъяснение что в нашем случае он не требуется.."
-"Извините, но мы не можем Вас зарегистрировать без приказа. Хотя .. подождите". Девушка набирает кому-то, разговариавет, обрисовывает ситуацию .. я "на взводе" уже часа как два .. нормально: "всё что могло случиться - уже случилось" пошло то, что случиться ну никак не могло ..

В конце-концов к нам подходит ещё одна сотрудница и спокойным голосом объявляет: -"Не переживайте, все нормально. Пройдите на стойку информации, возьмите бланк расписки и заполните его. Стойка - там" машет она неопределенно вдаль ко входу .. ну хоть тут "всё учтено могучим ураганом". Прошли регистрацию, пошли искать свое место .. 1,2, ... 33. Наш номер "38" .. упс. А усё, столы закончились, однако. Есть ещё целый ряд столов "без номеров" .. наши? Спрашиваю, и внезапно оказывается что столы переставлены так, что часть ряда "у стены" продолжает последующие номера, а не идет нумерация "последовательно" .. нашлось наше место. Рассаживаемся, последние наставления (в основном по тактике поведения на квалификации), фотаю уже рассевшихся конкурентов (точнее машинки, потом рассмотрим) и выхожу из тех. зоны. НАКОНЕЦ_ТО...

Тренировка. Зона была оформлена очень неплохо: 3 ряда столов для участников и между рядами расположены поля для тренировок. Поля размещены на полу, чтобы не ловить роботов. Очень практично. Жаль только что от этих полей до тех мест, где можно было расположиться слишком далеко, поля на полу и закрываются соревновательной зоной, толпящимися детишками и .. ничего не видно, от слова "почти совсем". Попытка снять кино его первой тренировки оказалась "почти бесполезной" добрую половину пути робота не видно вовсе. Ладно, ходим кругами, курим, сидим .. в общем "ждем-с".

И тут, внезапно вижу что наш герой бодрой походкой идет ко входу (охраняемому) в тех зону и интенсивно машет мне ручкой. Подхожу. Девушки стоят "грудь наперевес", не пускают. Нельзя.
-"Можешь принести зарядник? Я аккумуляторы посадил.."
-"Общаться нельзя"
-"Но зарядник-то ему передать - можно?"
-"Ага".
-"А ещё, папа .. у меня кажется сгорел мотор. Не могу понять: он то работает, а то нет, и его надо крутануть рукой чтобы поехал. Но ты, принеси зарядник, а я пока мотор посмотрю.." (разворачивается и уходит)

... вот когда бьешься башкой о что-то твердое - "искры из глаз" летят .. Знаю, пгобовал. Правда давно уже. :) Но вот чтобы видеть "искропад" вот так, стоя на ровном месте .. не, ещё не приходилось. Это - финиш. Не, теоретически "не совсем" в арсенале запчастей есть пара запасных моторов .. но они же не подготовлены .. как пришли голые с Али так и прихватили "на всякий пожарный" .. в принципе провода есть, кондеры может снять с горелого .. но, блин! ВСЕ ИНСТРУМЕНТЫ - В ГОСТИННИЦЕ!
.. "ноги в руки" и бегом 1.5км "туда и обратно" .. стар уже, да и курилка со стажем .. принес. Прихватил "все", на всякий случай .. там разберемся, что ему понадобится.. Выходит ко входу.. я, понятно, весь "в мыле" .. старая загнанная лошадь с языком за плечом..

-"Пап, он короче точно сгорел, я его разобрал - вот смотри, вместо щеток что у него.."
-"нельзя общаться"
-"А докладывать тренеру тоже нельзя или в присутствии судьи и волонтеров?"
-"Ну .. пусть расскажет" (нам же тоже интересно :) )
-"Ты зарядник - принес?"
... и тут я понимаю, что это "шанс" и отдаю ему ВСЮ СУМКУ: "тут - ВСЁ, можно отдать ребенку то, чего он забыл?".
-"можно".
... передаю ему всю сумку.
-"там есть запасные моторы. Запаяй ТОЧНО ТАКЖЕ как эти. Ничего не перепутай". Герой молча кивает головой и уносит сумку..
-"паять нельзя".
.. далее идет длинная перепалка на предмет "как это? это же Ардуино и вообще у него все контакты запаяны, как же он будет соревноваться" .. в общем, разошлись каждый при своем мнении, и оказалось что это "последнее изменение в регламенте", которое мы пропустили. Посмотреть негде, ладно .. разберется. Забегая вперед - справился и без пайки.

Тут надо дать отступление по мотор-редукторам. Делались они конечно же полностью мною, поскольку монтаж шестеренок редуктора требует точности позиционирования менее 0.1мм, что ребенку в возрасте 10лет как-бы не под силу, да и не входит в программу. Все пользуют тупо покупные мотор-редукторы, а в той гонке по переделке - заказывать что-то было нереально, писал уже. Отдирать лего детали от наших "профи" перемотанных и собранных в т.ч. и его руками "синих моторов" - у меня рука не поднялась. Да, там стоят угольные щетки и имея сопротивление якоря в те же самые 4.3 ома, они не в пример надежней и при меньших габаритах имеют практически параметры даже и получше пожалуй .. но все-таки жалко детский труд. Поэтому для изготовления этих мотор-редукторов были взяты типовые круглые моторы диаметром 24мм (их и было как раз 4шт), купленные на Али "про запас". Проблема заключалась в том, что на 3S (12.6в) моторы получали пусковой ток под 3А, что для них оказалось просто "смертельно". Понадеялся что на соревнование хватит, а дальше тележка все равно не нужна. Не хватило..

Анализируя постфактум всю ситуацию, пришел к выводу что отгорали они уже давненько но "держались"... вот они те самые "звоночки" мать их...

вторая проблема заключалась в том, что к моторам были припаяны старые, советские конденсаторы по 100нф х 50в и они имели "габарит" такой, что лезли в корпус мотор-редуктора только "с пинками" .. положение их установки было единственным. Сумеет ли наш пострел припаять их как надо? А иначе они тупо не встанут в корпус.. в общем, он провозился практически до конца тренировки и пошел на тренировочное поле минут за 10 до окончания .. я все это время "пил валерьянку" (ходил курить, кругами .. нашел где дают и выпил 3 чашки кофе Американо местного розлива .. гадость редкая).. Но, таки успел и тележка даже поехала .. правда нехорошо дергаясь на поворотах. Он до карантина успел прогнать тележку раза 3, не более...
...
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Первая квалификация.
Все тренера, кто присутствовал сумели рассесться перед 2-я соревновательными полями и началось: первый .. мимо, второй .. мимо, третий поехал. Время, блин! какое время? 14.43сек. Уф, плохо. Точнее хорошо. -"Как это плохо? Первый кто проехал, да и 14.5сек - хорошее время." - сосед слева. следующий -мимо, и так далее .. вроде проехал ещё один, но видно что тоже не быстро. Выходит наш герой, спокойный как удав. Ставит свою Адскую колесницу ПМ .. старт. Машинка рвет с места, приподнимая передние колеса, проходит горку, большой поворот .. помошница судьи, расслабленно стоящая для ловли падающих тележек подпрыгивает, подставляет руки пытаясь поймать тележку, но та не снижая скорости уходит через перекресток на вн. круг интенсивно моргая всеми лампочками как новогодняя елка. Разворот, второй разворот, перекресток .. девушка больше не дергается .. второй большой круг, финиш.
Судья объявляет время: 8.72сек. Бурные овации, аплодисменты. Шок. Наш герой забирает тележку и собирается уходить, кричу уже: какая программа? -"медленная" .. среди зрителей стало тихо... :) -"А я аккумуляторы поставил свеже заряженные", поясняет он и довольный произведенным эффектом, уходит ставить тележку на карантин.
.. ну вот как-то в суматохе я даже не успел достать фотоаппарат, чтобы заснять эту квалификацию..
В итоге, первую квалификацию прошло всего 3 робота и было решено что будет 2-я с предварительной тренировкой после обеда.
На обеде: у тебя медленная программа проехала лучше чем мы тренировались - что сделал? -"А я заметил, что на новой резине она лучше держит разворот и немного поднял скорость. А потом, когда поменял мотор, обнаружил что новый мотор тянет значительно лучше внешнего и чтобы выровнять работу моторов увеличил почти вдвое все диф. к-ты в массиве" -"?!? и сколько там сейчас стоит?" -"70/128 .. ну в среднем" -"Ты точно знаешь ЧТО делаешь?" -"Ну ты же видишь - едет. Значит знаю и вообще: не зови меня больше в туалет я - не пойду. Я заню что надо сделать и сделаю, не мешай. Я понял что ты ей сказал, не делай больше так - не пойду".
.. раньше забыл рассказать эту историю про "туалет"... дело было так:
Пока он менял мотор и я нарезал круги, а телефона у него не было и связаться я с ним никак не мог .. меня "осенило": подзываю девушку-волонтерку и прошу: -"там вот мальчик сидит .. я вижу что он очень увлекся, а у него есть проблема .. если он не сходит в туалет, то может случится невероятное, напомните ему пожалуйста" .. пошла, поговорила .. смотрю показывает ему где туалеты .. он встает и идет к выходу. Иду на перехват, чтобы проводить. И, в самый последний момент, этот "паразит" встает сзади охраны и громко так заявляет: -"Я знаю зачем ты сказал про туалет. Я - не пойду, и вообще - не старайся мне больше что-то подсказывать, я знаю что делать и справлюсь сам". Провалиться мне прямо тут.. :)

Вторая квалификация и финал.
Послеобеденная тренировка началась в гораздо менее нервозной обстановке. Дело в том, что все решили что виной плохих проездов было освещение соревновательных полей .. и его "выключили" методом перекусывания проводки. И, кроме этого, ребятишкам разрешили пробоваться на соревновательных полях .. да и требования судей и волонтеров стали заметно мягче... тренерам стало значительно спокойнее, поскольку поля были "в прямой видимости" и дело пошло куда как лучше и веселее.
Ну вот как-то так. Извиняюсь если получилось скучно и длинно.
В кратце остаток: в начале второй тренировки нам с коллегой удалось его убедить что второй мотор надо заменить тоже - "сгорит - будет совсем плохо". В результате, он провозился всю вторую тренировку, меняя мотор и не успел на отладку от слова "совсем". Тележка была поставлена на карантин без обкатки вовсе. Как потом выяснил, он успел только залить "исходную программу", поскольку догадался что раз поменял второй мотор, то они теперь будут тянуть одинаково и надо вернуть программу тоже. Он лишь замедлил тележку, но не проверил насколько "на всякий случай"..
Но, это оказалось "не совсем так". Вторая квалификация показала что тележку мотает по трассе куда как сильнее и внезапно выяснилось (в который раз это "внезапно"?!?) что тренировки перед финалом теперь не будет вовсе .. то есть тележка на финал попадает без какой-либо отладки от слова "совсем".
На первом заезде (четвертьфинал) оно и произошло: потеря линии на перекрестке и уезд не в ту сторону с перекрестка. Только третье место, если повезет .. повезло под конец и ему. :)

Как итог, слова сына после приезда домой и разбора с подарком (плата Амперка "Искра" на базе STM32F405 с прошивкой JavaScript":
-"Ясно, что оно так медленно всё. Подарили то, что самим не нужно."

Вот, из таких вот "мелочей" и сложилось его неприятие "детской робототехники" в итого к концу 2018года ..

P.S. В итоге, на 2018год нами была представлена тележка весом около 130гр, с временем прохождения трассы в 6 секунд, таких представителей оказалось много, мы были далеко не единственными и .. в финал прошли "середнячки", согласно правилам Регламента со временем от 9 секунд и больше.
Шорт-трек как соревнование оказался "пережитком" и уже в 2019-м был заменен на "шагающий шорт-трек", в котором мы также участвовали, привезя очередной "шедевр", но из-за нарушений регламента по отрисовке трассы - прошагали мимо, заняв 1-е место на отборочных и борясь дома на тренировках за 25 секунд прохождения трассы шагающим роботом.
Увы, но это была уже "последняя капля", после которой сын заявил что больше робототехникой он не занимается и ушел в программирование игр на Питон.
 
Изменено:

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@Wan-Derer, Ну .. это несколько условное название, ибо литье пластики (АВС, ПВХ и т.п.) с его нагревом дома - не есть "отличная идея" в силу испарений. Поэтому под таким названием, имел ввиду "холодное литье" на базе эпоксидных смол и прочие варианты, типа "холодная сварка".

Ничего особого нет: из смолы тщательно выгоняются пузырьки мешалкой. Она заливается в форму (силикон + гипс или только гипс), которая имеет стандартные "выпоры", куда допихивается смола через медицинский шприц "под давлением". Собственно все. Шприц - одноразовый, выбрасывается с остатками. Форма вместе со шприцом закручивается резиновым жгутом, который и создает давление в шприце. Всё - просто. :)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Ап. Открыл голосовалку заново. Если тема интересна - пишите, что дополнить (вдруг забыл чего) или пояснить, рассказать детальней "что к чему и как".
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Просто АП темы. К сожалению, наш домашний ремонт затянулся по ряду обстоятельств и добраться до всего барахла пока ещё нет никакой возможности. Поэтому тема пока не дополняется, увы.
Приношу свои извинения..