Найти тему
Smart home Russia

Коробка передач (МКПП) для компьютера на Arduino

Данный проект стал для меня полной неожиданностью. Ничем подобным заниматься я не планировал. Просто ребенок подошел и говорит: "Хочу коробку передач для компьютера". Так все и началось....

Translation to English is here. Также основной канал в telegram.

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

Поиск по интернету показал мне отличный вариант, который я и купил в последствии:

Комплектующие для руля Logitech G Driving Force Shifter — купить по выгодной цене на Яндекс Маркете

Вот только есть маленький нюанс, эта МКПП не работает ни с чем, кроме своего комплекта руля, а он стоит прямо как автомобиль, но настоящий:

Руль Logitech G G29 Driving Force — купить по выгодной цене на Яндекс Маркете

Спору нет, руль восхитительный. Если бы у меня в подвале стоял бы станок для печатания денег, то я бы его купил непременно, а так - дороговато для покупки выходного дня....

Поиск дешевых аналогов привел на много вариантов, похожих на это:

Руль Dialog GW-135VR Gran Tourismo — купить по выгодной цене на Яндекс Маркете

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

Руль Defender Challenge Mini LE — купить по выгодной цене на Яндекс Маркете

Обсуждать конкретно этот руль я в статье не буду, для этого есть много других профильных мест.

Вот мы попадаем в дилемму, есть хорошая МКПП, но она не работает самостоятельно, а комплектом дорого, есть дешевые аналоги, но платить за них не хочется, т.к. подобное уже и так имеется. В долгих поисках, где-то на "авито" я нашел объявление о продажи б.у. варианта МКПП от Logitech, что не имеет ценности, но в тексте объявления была фраза, что-то типа "могу продать отдельно коробку передачи и переходник". Меня очень заинтересовал вопрос и поиск вывел меня на проект, где действительно собирают переходник на Arduino. Позже я нашел на Али уже готовые комплекты, но ценник там явно завышен. Что-то около 2к за Arduino Leonardo в коробочке. Я уже привык, что у нас товары с Али продают с наценкой, но даже купить здесь и сейчас тут и не ждать, получается в 2 раза дешевле, чем в красивой коробочке с Али, да еще и ожидать доставки:

Контроллер совместимый с Arduinо Leonardo — купить по выгодной цене на Яндекс Маркете

Заканчиваем с теорией. Очевидно, что нужно покупать вариант от Logitech и пилить переходник. Это не реклама, все честно, купил за свои и подтверждение ниже:

Leonardo я заказал с али, т.к. там был миниатюрный вариант, который удобно встроить в саму МКПП, у нас такого не продают, а я бы купил, чтобы не ждать 2 месяца. Еще дополнительно была "найдена в долг" на период доставки плата по ссылке выше.

Сборка занимает 10 минут, не более. Дольше прошивать Arduino.

1. Крепим к столу руль и МКПП

2. При помощи проводов папа-папа соединяем разъем и Arduino. Чтобы провода не вылетали из разъема, иголку нужно пассатижами сложить вдвое. Для гарантии все обматываем синей изолентой. Повторюсь, такой метод используется только потому, что плата чужая, а руль гарантийный. Как только придет другая версия платы, я покажу, как все переделать нормально, да еще и гарантию не потерять.

Номера пинов на разъеме DB9 у руля подписаны, нужно присмотреться.

DB9 Arduino
2 ------------- D2
3 ------------- 5V
4 ------------- A0
6 ------------- GND
7 ------------- 5V
8 ------------- A2

Так как я использовал игольчатые контакты, то воткнуть в Arduino две иголки - не выйдет, зато получится в DB9. Поэтому в контакте 3 втыкаем иголку провода, сложенную вдвое. В контакт 7 иголку провода из контакта 3. Второй провод питания иголкой в 7 контакт, а вторым концом в Arduino. На фото эта петелька видна.

Коробка передач выглядит прекрасно и работает приятно, но с точки зрения электрики — это кнопка и два резистора. Переключение передач - это 6 позиций в координатной плоскости →x↑y, которая выставляется резистором, а задняя передача — это кнопка. Поэтому, кроме питания, к контроллеру подключаются всего 3 провода. Два аналога и один цифровой вход.

Почему используется Leonardo? Тут тоже все просто, это уже не mega328p, у микроконтроллера аппаратный USB и плата сразу определяется как устройство ввода. Это очень просто, удобно и работает из коробки.

Сам код доступен на сайте проекта и копия у меня, а требуемую библиотеку можно скачать тут:

GitHub - MHeironimus/ArduinoJoystickLibrary: An Arduino library that adds one or more joysticks to the list of HID devices an Arduino Leonardo or Arduino Micro can support.

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

Как я и говорил, все максимально не сложно, дольше покупки делать.

Надеюсь, данная статью кому-то поможет сэкономить денег и порадовать себя/детей, другим откроет путь к идеям на плате Arduino Leonardo. На этом все, всем добра.

P.S. Для Euro track simulator придется заготовить еще одну кнопку, т.к. там еще нужен переключатель "половинки", тогда МКПП становится на 12 передач. Надо подумать, как это сделать, когда придет плата.

Подпишитесь, чтобы не пропускать следующий контент.
Нажмите лайк, если интересно, так я пойму какие публикации больше нужны моей публике.

Также публикации можно найти на других площадках: Instagram, telegram (RU, EN, DE), Medium, LiveJournal, YouTube.

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