Своими руками

Симулятор сноуборда своими руками

Приветствую, Самоделкины!
Из этой статьи вы узнаете, как прокатиться на сноуборде дома, что собственно, для этого понадобится и как сделать этот процесс максимально интерактивным.
Симулятор сноуборда своими рукамиДальнейшая инструкция взята с YouTube канала «AlexGyver».
Основная идея этого проекта пришла к автору во время рядовой закупки всяких железок на китайской торговой площадке Аliexpress. Буквально случайно среди множества электронных компонентов на глаза попался вот такой комплект, состоящий из четырех датчиков веса, который ко всему прочему стоил всего сотку.
Симулятор сноуборда своими рукамиОбычные привычные датчики из бруска металла продаются в количестве одной штуки за такую же цену.
Симулятор сноуборда своими рукамиКогда автор увидел 4 датчика рядом, то сразу представил платформу, которая на них опирается.
Симулятор сноуборда своими рукамиИзмеряя сигналы с каждого датчика, при помощи школьной математики можно определить положение груза, который лежит на платформе. Еще можно определить направление момента силы, создаваемого перемещением центра тяжести груза, закрепленного на этой самой платформе. Проще говоря, если закрепить человека на такой платформе, то можно будет определить направление, в котором он наклоняется. Думаю, вы уже поняли, что мы будем делать игровой контроллер для компьютера в виде сноуборда. То есть получим прямо-таки аркадный симулятор горнолыжного отдыха.
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиДля повторения данного проекта понадобятся:
1. Сноуборд с креплениями и ботинками;
2. Показанные ранее 4 датчика веса;
3. Мощный вентилятор, для создания эффекта;
4. Аrduino Pro micro, которая позволит подключить датчики компьютеру и имитировать геймпад;
5. Модули на базе микросхемы HX711;
6. Несколько резисторов на 1кОм;
7. Винтики М6, чтобы в дальнейшем можно было собирать и разбирать всю конструкцию.
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиПодключается это все следующим образом:
Симулятор сноуборда своими рукамиЭто собственно и есть схема сегодняшнего проекта. Ещё можно добавить кнопочку для калибровки веса. Вообще, один модуль способен обслуживать сразу 4 датчика веса, но в этом случае мы получим одно общее значение, то есть по сути получатся цифровые весы.
Симулятор сноуборда своими рукамиВзвеситься после праздников идея конечно хорошая, но нам не это сейчас надо. Нам нужно получить значение с каждого датчика индивидуально, поэтому схема будет вот такая:
Симулятор сноуборда своими рукамиОсновная идея заключается в следующем: кладем 2 деревяшки снизу, на них закрепляем датчики веса, сверху поставим сноуборд и прижмем его другими деревяшками.
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиТаким образом у нас получится платформа с большой площадью опоры. Сноуборд отлично зажался и дополнительных продольных креплений можно даже не городить. И так держит отлично, можно наклоняться во все стороны, что уже не плохо. Конечно ощущения от наклонов совсем не те, которые дает доска на скорости, но в качестве домашнего симулятора очень даже неплохо. Конструкция ведет себя как надо, видно, как загружается и разгружается правая и левая сторона при наклонах.
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиТеперь, что касается крепления датчиков веса. У них с обратной стороны есть выпирающие заклепки, поэтому на плоскость датчик крепить нельзя.
Симулятор сноуборда своими рукамиПоэтому, отступим условный сантиметр от края бруска, возьмем в руки стамеску и сделаем углубление – место для датчика.
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиЗатем просто прижимаем датчик саморезами в трех точках.
Симулятор сноуборда своими рукамиТеперь касаемо электроники. Резисторы паяем прямо на модуль, все в точности как на схеме:
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиИ можно подключать USB.
Симулятор сноуборда своими рукамиТеперь надо немножечко покодить. На изображениях ниже, можно видеть, как происходит опрос датчиков. Имеются 4 графика на каждый датчик и можно посмотреть, как все это дело работает.
Симулятор сноуборда своими рукамиМожно собирать установку и тестировать ее в деле.
Симулятор сноуборда своими рукамиДля визуализации сигналов с датчиков, автор решил написать простенькую программку на processing. Выбираем порт, жмем «подключить» и видим показания датчиков.
Симулятор сноуборда своими рукамиВсе нагрузки отрабатываются правильно, можно работать дальше. Итак, у нас есть 4 сигнала с датчиков веса, но при управлении с джойстика используются всего 2 сигнала, то есть две оси вперед-назад и влево-вправо. Нам необходимо перевести данные с датчиков в позицию джойстика. Сперва может показаться, что здесь будет какая-нибудь геометрия/тригонометрия, но все оказалось очень сильно проще. Для определения горизонтального направления момента с верхних датчиков, достаточно вычесть показания правого датчика из левого. Для нижних датчиков делаем то же самое и получим две горизонтальные оси. Чтобы сделать из них одну, достаточно вычислить среднее арифметическое, то есть просто их сложить и поделить на два.
Симулятор сноуборда своими рукамиДля вертикальной оси делаем все то же самое и это все, никакой тригонометрии здесь не будет.
Все работает очень плавно, распознается замечательно.
Симулятор сноуборда своими рукамиКасаемо калибровки. У нас есть калибровочная кнопочка. Первый этап калибровки такой: встаем ровно на доску, центр тяжести по центру доски, и кликаем на кнопочку. Таким образом мы откалибровали центр.
Симулятор сноуборда своими рукамиДалее удерживаем кнопочку около секунды и у нас появляется 10 секунд на то, чтобы проверить все максимумы и минимумы, то есть мы совершаем наклоны по всем направлениям на такой угол, который должен быть в игре максимальным.
Симулятор сноуборда своими рукамиВсе, 10 секунд прошло, калибровка закончилась, кнопочку можно вообще убрать, потому что все данные записались в память, и при последующих запусках все установится автоматически.
Небольшая заметка для тех, кто захочет повторить проект. Все исходники, инструкции, схемы и прочая информация, есть на странице проекта.
Симулятор сноуборда своими рукамиТакже более подробно ознакомиться с проектом можно, посмотрев оригинальный видеоролик автора:

Все готово, теперь можно перейти к игре. Выбор пал на “Steep”, потому что в ней есть вид от первого лица.
Симулятор сноуборда своими рукамиИгра установлена, симулятор сноуборда настроен и подключен к компьютеру, поехали!
Симулятор сноуборда своими рукамиВ принципе, все управляется нормально. Теперь попробуем вид от первого лица. Не забываем поставить вентилятор.
Симулятор сноуборда своими рукамиСимулятор сноуборда своими рукамиПомимо направления, в игре также нужен прыжок, чтобы скакать с трамплинов. На геймпаде это правый триггер, который нужно зажать, чтобы присесть и отпустить, чтобы подпрыгнуть. Это уже третья ось – ось Z. Давайте добавим возможность прыгать и в наш самодельный контроллер.
Итак, что происходит во время прыжка? Игрок плавно приседает и фиксируется в нижней точке. Сигнал со всех датчиков резко идет вверх, показывая скачок нагрузки.
Симулятор сноуборда своими рукамиВо время отталкивания наблюдается следующая картина: сначала скачок нагрузки по всем датчикам, то есть это отталкивание ногами, а затем резкое падение, так как скорость уже набрана и буквально доска идет вверх следом за игроком, и нагрузка на датчиках уменьшается.
Симулятор сноуборда своими рукамиНо так как во время управления доской значения постоянно меняются, отследить такой прыжок будет непросто. Но обладая некими познаниями в математике, мы можем искать скорость изменения значения, то есть производную. Достаточно вычитать предыдущее значение с датчиков из текущих. Таким вот не хитрым образом получаем отличный стабильный график, прыжок на котором выглядит как одновременное изменение всех скоростей.
Симулятор сноуборда своими рукамиВ свойствах контроллера это будет выглядеть следующим образом:
Симулятор сноуборда своими рукамиПрыжок засчитывается и вроде все шикарно работает, но в игре данная фишка к сожалению, не заработала. Так что с прыжками к сожалению напряг, и прыгать в симуляции не получится.
Благодарю за внимание. До новых встреч!
Симулятор сноуборда своими рукамиСимулятор сноуборда своими руками

Подборки: Arduino Спорт

Apr

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

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.