15 April

Велотренажер #Самоизоляция или как угомонить ребенка на карантине

Developing for ArduinoPeripheryDIY
Sandbox

Весь мир героически борется с «… заразой коронавирусной» (Путин В.В.) Большинство стран закрывают свои границы, своих граждан закрывают на карантин, вводят комендантский час. Вот и Россию не обошла эта гадость стороной.

В сложившейся ситуации с пандемией SARS-CoV-2 (COVID-19) все мы с вами сейчас должны находиться на карантине самоизоляции.

Поэтому вопрос о том, как найти активное развлечение для детей запертых в четырёх стенах стоит как никогда остро. Надо ещё и постараться чтоб эти четыре стены остались, по-возможности, в целости и сохранности.

Обоснование


Сидеть, спокойно и рисовать или собирать конструкторы целый день невозможно, да и активные игры тоже необходимы. Все дети любят гонять на великах, самокатах, бегать и прыгать. Для направления «чрезмерной» энергии детей в полезное русло пришла мысль поставить детский велосипед на станок, но какой ребенок будет сидеть и просто крутить педали, глядя в стену? Никакой! Так родилась идея создания станка и совмещения его с компьютерной игрой.

Сначала ребенка можно увлечь совместным изготовлением, а уж как сделаете, то радости нет предела. Игровой автомат у вас дома!

Поэтому делаем станок для велосипеда своими руками и из того, что найдется в закромах на балконе (Ну или вынимаем из шкафа полку-другую, например).

Механическая часть


В первой итерации велосипед был поставлен на самодельный станок собранный из ЛДСП. Открутили дополнительные колеса, замерили высоту от крепления колес до пола + 20-30 мм… Размечаем, пилим, сверлим, клеим, закручиваем. Всё, вел на станке:





Дети крутят педали, родители довольны.

Но! Просто крутить педали, которые тем более не нагружены, детям наскучило через два-три дня… Переходим к плану Бэ. Как сделать тренировку на велосипеде интереснее? Правильно, надо добавить соревновательный эффект, некоторое визуальное восприятие… Поэтому ставим и переднее колесо на станок и делаем из велосипеда джойстик!

Снова размечаем, пилим, сверлим, клеим, закручиваем… Снова детё занято какое-то время помощью в изготовлении:

Из того же ЛДСП делаем два диска: на один поставим колесо, на другой поставим датчик поворота. Для поворота руля достаточно ±45º. Найденный датчик поворачивается ~270º. Да, придется делать редуктор 1:3, но это позволит разгрузить наш датчик от нагрузок, т. к. ставить датчик на диск с велосипедным колесом и использовать его в качестве оси не лучшее решение. Приводом для нашего редуктора послужит любая верёвка, реп шнур и т.п.

Диаметры дисков выбрали 240мм и 80 соответственно. При помощи винта, шайб и гайки закрепляем диск в патрон шуруповерта и круглым напильником делаем проточку. Проточка позволит шнуру не соскакивать с дисков. В платформу основание присверливаем диски на расстоянии ~10 мм. В качестве оси для подрулевого диска используем винт с шайбами и самоконтрящейся гайкой. В качестве оси для диска с датчиком взяли шпильку М6 (не нашлось в закромах столь длинного винта :) ). Под ось М6 сверлим отверстие 5 мм, зенкуем с двух сторон, вкручиваем ось. Ось дополнительно вклеиваем с помощью секундного клея и соды.

Долго искал решения как закрепить шнур на дисках. Надо сделать и так, чтоб шнур не проскальзывал и чтоб диски свободно крутились, и чтоб шнур не соскакивал с дисков во время активного руления. Поэтому просверлил в торце в каждом диске по глухому отверстию 8 мм. Накинул кусок шнура восьмеркой на диски. В просверленные отверстия забили по мебельному шканту вместе со шнуром.

В подрулевой диск (диаметром 240 мм) в это отверстие заправили концы шнура и потом забили туда шкант, тем самым шкант при забивке дополнительно натянул шнур.





В результате получился надежный редуктор не требовательный к точности изготовления дисков и исключающий проскальзывание.

Ось малого диска с датчиком соединил вот такой муфтой:



Вот что получилось:





Шканты до конца забивать не стал, чтоб можно было их вынуть и заменить шнур. Также они действуют как отличные ограничители углов поворота.

Электрическая часть




В качестве датчика положения руля использовать будем старый, советский переменный резистор (опять же на балконе, нашелся резистор на 5,1кОм). Датчиком скорости берем датчик от китайского велокомпьютера (там стоит обычный геркон), но можно придумать и какой-нибудь микропереключатель на задние перья велосипеда и на спицу приделать винт, который будет нажимать на микрик при вращении колеса. Ставим его на заднее колесо.



Кроме того понадобится пара кнопок без фиксации, три резистора (хотя они и не обязательны) и Arduino Leonardo (или другая плата ардуино на микроконтроллере Atmega32u4). Все это соединяем любыми доступными способами по следующей схеме:


Программная часть


Над прошивкой долго не сидел — надо было как можно скорее проверить работоспособность идеи. Основной код прошивки не мой. Библиотеку HID joystick я тоже взял готовую. Ссылки ниже.

Исходник прошивки (как есть) прилагаю. Оптимизировать и вычистить пока нет времени.

Прошиваем, подключаем (описывать стандартный процесс компиляции и прошивки в среде Arduino IDE смысла не вижу — тема изъезжена вдоль и поперёк).

В Windows 10 в «Принтеры и другие устройства» появляется джойстик «Arduino Leonardo». Правой кнопкой мыши вызываем меню, выбираем «Параметры игровых устройств управления», нажимаем кнопку «Свойства» и, если все сделано правильно, на вкладке «Проверка» поворачивая движок резистора видим перемещение крестика, крутим педали, и видим изменение газа. Нажимая на кнопки (микропереключатели), красные кнопки на экране также должны изменять свое состояние. Также на соседней вкладке «Параметры» можно провести калибровку джойстика.

Ну а дальше ставим любой автосимулятор, NFS например, и вперед!

Демонстрация работы



Выводы


Все работает, необходимые цели достигнуты. Все довольны. Есть идеи о модернизации как конструкции, так и электронной части. Но это позже. Штука получилась огонь. Жалею, что не могу поставить свой велосипед, а то тоже бы погонял. А уж услышать от ребенка: «Ты самый лучший папочка на свете!» дорогого стоит.
Tags:велотренажёрджойстиксамоизоляциякарантинсделай самчем занять ребенка на самоизоляции
Hubs: Developing for Arduino Periphery DIY
+92
15k 49
Comments 44
Popular right now
Top of the last 24 hours