Как подключить педали к компьютеру без руля

Обновлено: 05.07.2024


Буквально месяц назад я натолкнулся на эту статью, где повествуется о педалировании Vim. Чуть позже, после своего длительного трёхминутного исследования, я выяснил, что что тема эта уже не новая и довольно популярная. Сам я Vim использую только в случае крайней необходимости (если уж и приходится работать в консоли, то предпочитаю Nano), но ведь можно сделать подобное и под другие приложения.

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

А зачем оно мне?

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

Во все времена программисты и дизайнеры старались сделать удобный и дружественный интерфейс, чтобы пользователь мог без лишних заморочек работать с приложением используя мышь и клавиатуру, так зачем же нам ещё один манипулятор? Что же, заглянем немного в историю, а точнее, в начало XVIII века, когда был изобретён такой музыкальный инструмент, как фортепиано. Как известно, это слово буквально переводится как «громко-тихо», но мало кто задумывается, что такой инструмент умный итальянский мастер получил, фактически «запедалировав» существовавший тогда клавесин, что и позволило в какой-то степени управлять громкостью звука, при этом не отнимая руки от клавиш.

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

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

Необходимые ресурсы

  • Собственно, педали. Тут сразу же возникли некоторые сложности из-за того, что я никак не мог придумать название для такой педали. Я знал лишь то, что подобные вещи используются в швейных машинках. В общем, по запросу electric pedal мне всё же удалось найти то, что нужно, на Aliexpress, и я, недолго думая, заказал 3 штуки.
  • Контроллер. Педалборд должен эмулировать работу клавиатуры и, возможно, мыши для возможности подключения к ПК без лишних драйверов. Для этого отлично подойдёт плата Arduino Pro Micro, которая хоть и не имеет некоторых выводов, но зато сделана максимально компактно. Идём на тот же Aliexpress, и покупаем китайскую версию этого чуда.
  • Провода. Чтобы поместить 3 педали под стол, нужен как минимум четырёхжильный провод длиной не меньше метра. Тут, думаю, проблем возникнуть не должно.
  • RGB-светодиод и кнопка. Первый нужен для индикации режимов, а вторая — для их переключения.
  • Ну и, понятное дело, нам нужны Arduino IDE, паяльник и прямые руки.

Схема устройства

Ещё до того, как мне пришли посылки, я приступил к созданию схемы устройства. Хотя это сильно сказано, так как мне надо было всего лишь подключить педали, диод и кнопку. Получилось как-то так:


Для педалей я решил выделить сразу 4 порта PB1-PB4, то есть две для левой, и две для правой ноги, хотя пока педали у меня только 3. К тому же, они все находятся в одной группе и расположены в одном месте. Под светодиод я отвёл выводы PD0, PD1 и PD4, под кнопку — PD7.
При этом нам не понадобятся никакие подтягивающие резисторы, если использовать те, что встроены в контроллер. Правда, тогда, при нажатии кнопки или педали, на входе будет низкий уровень, а при отпускании — высокий, то есть, нажатия будут инвертироваться, и об этом не стоит забывать.

Написание кода

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

Подготовка

Для начала нам нужно понять, что вообще такое педаль с точки зрения программы. Я решил сделать возможность задания педали одного из двух режимов — реального времени и триггера. Каждая педаль при этом имеет две программы: первая выполняется при удержании педали в режиме реального времени или при нечётных нажатиях в режиме триггера, вторая — при отпускании педали в режиме реального времени или при чётных нажатиях в режиме триггера. Так же у педали есть порт, состояние, и две переменные — текущие позиции в программах 1 и 2. У меня получилась вот такая структура:

Так же нам понадобится стандартная библиотека Keyboard для работы в качестве клавиатуры.

Обработка нажатий

Сейчас нам нужно сделать интерпретатор, который будет читать данные из массива и отправлять их в виде нажатий клавиш на машину, а так же выделить несколько значений под различные внутренние команды. Открываем страницу с кодами клавиш, и смотрим что и как мы можем нажать. Я не стал глубоко копать и изучать всякие стандарты клавиатур, так как информации здесь мне показалось вполне достаточно для такого проекта. Первая половина отведена под стандартные ASCII-символы (хотя некоторые из них и непечатаемы или не используются), вторая же — под различные клавиши-модификаторы. Есть даже отдельные коды для левых и правых клавиш, что очень порадовало, а вот специальных кодов для цифр с нампада я не увидел, хотя, насколько я знаю, они немного по-особому воспринимаются в системе, нежели обычные цифры. Возможно, их коды находятся где-то в «дырах», между диапазонами, но сейчас не об этом. Итак, самый большой код имеет клавиша «вверх» — 218, а значит, диапазон 219-255 можно считать свободным, ну или по крайней мере там нет каких-то важных клавиш.


Думаю, даже у человека с не самым высоким уровнем знания Си не возникнет вопросов о том, что тут происходит. Сначала функция выбирает нужную педаль и определяет в зависимости от режима и состояния педали, какую программу стоит выполнять. При чтении каждого элемента массива, если он не является управляющим символом, вызывается функция Keyboard.write(), которая эмулирует нажатие и отпускание клавиши. Управляющие же символы обрабатывются отдельно и нужны для зажатия комбинаций клавиш и навигации по программе.

Некоторые особенности работы в режиме клавиатуры

Итак, у нас есть интерпретатор и примерное понимание того, как наш педалборд взаимодействует с компьютером. Теперь надо всё это довести до состояния полноценной прошивки и проверить работоспособность на одной педали. Если создать экземпляр педали и циклично вызывать pedalAction(), то по идее у нас будет выполняться заданная в структуре программа.


Кстати, никогда не забывайте про нуль-терминаторы в данных «программах», если их длина меньше размера массива и если они не цикличны, потому что Arduino будет не только пытаться интерпретировать не заданные данные, но и будет отправлять их в машину с огромной скоростью, а это всё равно, что дать клавиатуру обезьяне.

Одна педаль хорошо, а две — лучше

Теперь пришло время разобраться с обработкой сигналов с нескольких педалей, а также добавить переключение режимов. В начале статьи было выделено 4 порта под педали, каждой из которых надо позволить работать в семи режимах. Почему 7? Потому что без использования ШИМ наш светодиод может давать всего 7 цветов, и восьмой — выключенный. Такого количества вполне хватит обычному пользователю, ну а в крайнем случае его легко можно увеличить. Значит педали будем хранить двумерном в массиве 7 х 4. Чтобы не засорять память, общие для нескольких структур значения, такие, как номер порта можно вынести в отдельные массивы. В итоге мы получаем что-то такое:

Вы наверное заметили, что в статье уж больно часто фигурирует число 255, там, где логичнее было бы ставить 0. Забегая вперёд, скажу, что это нужно для удобства сохранения педалей в EEPROM, так как с завода каждая её ячейка содержит не 0, а как раз таки 255, а значит это число будет намного удобнее использовать для обозначения не заданных переменных, чем 0, чтобы каждый раз не перезаписывать память.

Для нас важно знать только тип педали и две программы, поэтому только их мы оставим непосредственно в структуре, остальными же вещами пусть занимается автоматика. Методы prepare и loop теперь будет выглядеть следующим образом:


Контроллер буде считать режим неиспользуемым, если в нём не объявлено ни одной педали (mode=255), а значит при попадании на него сразу перейдёт к следующему, но при этом первый режим всегда будет существовать. При переключении режима все значения в массивах зануляются, так как сохранять их для каждого режима нам не требуется (верно?), а затем цикл обходит все педали и вызывает pedalAction для них.

Также в начале метода pedalAction() нужно добавить следующую строчку, чтобы он понимал, с какой из структур надо иметь дело:


Уже существующую структуру pedal1 можно удалить за ненадобностью.

Всё это так же вполне работает, однако я столкнулся с одной проблемой: некоторые программы не успевают принимать нажатия с такой скоростью, с которой их отправляет Arduino. Самое очевидное решение — добавить возможность устанавливать задержки между действиями там, где это необходимо. Вот только когда мы садимся писать программы под микроконтроллеры, все фишки, вроде аппаратной многопоточности, остались где-то там, в высокоуровневых ЭВМ, у нас же при добавлении задержки останавливается вся программа, пока контроллер не отсчитает нужное количество циклов. Раз многопоточности у нас нет, то придётся её создать.

Тяжело сказать, да легко сделать

Я не стал изобретать велосипед, а взял готовую библиотеку ArduinoThread. Здесь можно немного почитать о том как она работает и скачать её. Загрузить библиотеку можно и из самой Arduino IDE. Кратко говоря, она позволяет периодически выполнять функцию с определённым интервалом, при этом не позволяя уйти в бесконечный цикл в случае, если выполнение займёт больше времени, чем интервал. То, что нужно. Создадим ещё один массив с потоками для каждой педали:


Теперь у нас есть 6 одинаковых виртуальных потоков, но при этом являющихся разными объектами.

Немного перепишем цикл обхода педалей для работы с новым функционалом:


Теперь значение 252 в массиве программы, которое соответствует «ничегонеделанию», будет давать задержку в 10 миллисекунд (хотя на самом деле чуть больше, так как выполнение кода тоже занимает время). Добавив несколько строк в интерпретатор, получится сделать возможным установку задержки в несколько таких «квантов», потратив всего 2 байта массива:

Теперь, при возможности установки задержки до 2.55 секунд проблем с определением клавиш программами возникать не должно.

Программирование «на ходу»


Что делает этот код поясняет содержащаяся в нём справка: через пробел вводится номер режима, номер педали, и команда, которых существует 3 — чтение, запись и выполнение удаление программы. Все данные о педалях хранятся друг за другом в виде последовательности из 33-х байт, то есть тип педали, и две программы, и того мы занимаем 7*4*33=924 из 1024 байт EEPROM. Вариант использования динамического размера педалей в памяти я отбросил, так как в этом случае при перепрограммировании одной педали придётся перезаписать почти все ячейки, а циклов перезаписи эта память имеет конечное количество, поэтому рекомендуют делать это как можно реже.

Ещё хотелось бы обратить внимание на строки вида:

Благодаря данной библиотеке, с точки зрения программиста, энергонезависимая память является обычным массивом char, но, как «ардуинщикам», нам нужно понимать, что запись в ПЗУ — очень тяжёлая операция, которая занимает у контроллера целых

3 секунды, и желательно не прерывать этот процесс. Данная конструкция заставляет диод светить красным во время таких операций, а затем возвращает обратно «безопасный» зелёный цвет.

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

С сохранением структур разобрались, теперь надо наши данные как-то оттуда вытащить и преобразовать к «педальному» виду:


Здесь так же не происходит ничего сверхъестественного: контроллер считывает данные из памяти и заполняет ими уже существующие структуры.

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

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

Как подключить педали

  • Для того что бы подключить педали вам понадобиться руль и немного навыка пользования панелью управления.

Подключите педали к рулю. Осмотрите свой руль и найдите на нем вход для педалей. Обычно его делают справа или сзади руля.

Как подключить <strong>педали</strong>

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

Установите драйвера для игрового устройства, если имеются.

Если их нет, открываете пуск, кликнете левой кнопки мыши по ярлыку: панель управления. Открыв панель управления, кликните по ярлыку игровые устройства. В вылетевшем окне нажмите свойства.

Перед вами откроется окно настройки игрового устройства. Понажимайте педали и при этом смотрите на окно. Если крестик в этом окне двигается, то компьютер распознал ваше игровое устройство.

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

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

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

а у меня нет у руля не чего ?куда педали подключить ??помогите плиззз

Если вы желаете следить за своими сотрудниками, но при этом не хотите идти по нескольким.

Как подключить руль к компьютеру с Windows?

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


Автомобильные симуляторы, конечно, не так популярны, как, например, шутеры, но тем не менее поклонников у них достаточно. Разумеется, без руля с педалями тут не обойтись. Самый простой игровой манипулятор стоит очень недорого: например, этот Defender предлагают всего за 2400 руб.

Осталось только понять, как правильно подключить руль с педалями к компьютеру. Но перед тем, как заниматься подключением, нужно понять: поддерживает ли ваш симулятор такие устройства. В принципе большинство симуляторов (в том числе и не новых, типа Colin M’cray Rally) успешно с ними работают. Раз так — беремся за дело.

Как подключить руль к компьютеру?

У руля есть два исполнительных устройства: это сама «баранка» и блок с педалями. Педали обычно подключаются к настольному блоку, а уже он — в разъем USB компьютера. Собираем эту нехитрую схему, причем не забываем, что руль должен надежно фиксироваться на поверхности. Дальше у вас два пути:

  • настроить руль с использованием драйверов от производителя,
  • сделать то же самое средствами операционной системы.

Разумеется, первый вариант гораздо надежнее. Чем больше у вас кнопок и рычагов, тем меньше вероятности, что все это заработает сразу и без драйверов. CD-диски вкладывать в упаковку давно перестали, так что за «дровами» нужно будет сходить на сайт производителя. Найдите там свою модель, выберите версию Windows и скачайте софт. После его установки, как правило, проблем не возникает: на ваш компьютер устанавливается утилита, в которой все можно подключить и настроить легко.

Немного повозиться придется в том случае, если вы так и не нашли нужный драйвер у производителя. Такое случается, например, с устройствами, снятыми с производства. Ничего страшного: Windows сама может подыскать нужный софт. Для этого делаем следующие операции:

  • Заходим в «Панель управления», открываем «Панель управления\Оборудование и звук\Устройства и принтеры».

Как подключить руль к компьютеру с Windows?

  • Если вы видите там свой руль — это уже хорошо. Если нет, добавьте его вручную.
      • Нажмите на кнопку «Добавить устройство».
      • Подождите, пока компьютер определит руль.
      • Нажмите «Далее» и дождитесь, когда система подберет подходящий драйвер.
      • Если руль все-таки есть в списке устройств изначально, щелкните по нему правой кнопкой мыши и войдите в «Свойства». Перейдя на вкладку «Драйвер», вы сможете посмотреть список драйверов, которые уже установила система. Если активна кнопка «Обновить» — нажмите ее, хуже не будет.

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

      Как настроить руль на компьютере?

      Чтобы сделать это, необходимо запустить апплет из арсенала Windows. Все просто: открываем командную строку («Выполнить») и набираем joy.cpl. Дальше видим наше устройство и получаем возможность проверить его работу. Кликаем «Свойства» и видим две вкладки.

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

      Параметры — это на случай, если что-то работает не так. Например, вы повернули руль до упора, а крестик в соответствующем поле остановился на полпути. Нужно заняться калибровкой, что тоже несложно. Заходим во вкладку «Параметры», запускаем «Мастер калибровки» и дальше просто следуем по шагам.

      Что делать, если руль не работает?

      Такое тоже бывает: либо он не работает совсем, либо только отдельные функции. Есть несколько советов (в том числе банальных, но они работают!).

      Проверьте порт USB. Чаще всего руль подключают к передней панели, а в ней гнезда USB не всегда подключены. Самый простой способ проверить — вставить флешку. Если компьютер ее найдет — значит, все хорошо. Если нет — попробуйте включить руль в другой порт.

      Проверьте, тот ли вы драйвер скачали? Например, они могут отличаться в зависимости от конкретной версии Windows. Или вы скачали «дрова» для 32-битной системы, а у вас 64-битная.

      Попробуйте удалить, а затем заново установить драйвер. Иногда Windows устанавливает драйверы из своей библиотеки, но не самые свежие. Или вы установили софт с прилагающегося в комплекте диска, а это уже не актуальная версия. Попробуйте удалить драйвер, а потом поставить новый (как это сделать — мы рассказали в самом начале статьи).

      Загляните в настройки автосимулятора. Обычно руль определяется автоматически, но чисто теоретически там может быть по умолчанию установлено использование клавиатуры. Просто поменяйте устройство на руль.

      Как подключить руль с педалями к компьютеру

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

      Подключение руля с педалями к компьютеру

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

      Шаг 1: Подключение проводов

      В первую очередь ознакомьтесь со всеми деталями и проводами, идущими в коробке с рулем и педалями. Обычно здесь присутствует два кабеля, один из них подключается к рулю и компьютеру, а другой к рулю и педалям. Соедините их и вставьте в любой свободный USB-разъем на вашем компьютере.

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

      Шаг 2: Установка драйверов

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

      Скачивание драйверов для руля с официального сайта

      Кроме этого существуют специализированные программы по поиску и установке драйверов. Вы можете использовать такой софт, чтобы он нашел в сети необходимые драйвера для руля и автоматически установил их. Давайте рассмотрим этот процесс на примере Driver Pack Solution:

        Запустите программу и перейдите в режим эксперта, нажав на соответствующую кнопку.

      Режим эксперта в Driver Pack Solution

      Переход в раздел драйвера Driver Pack Solution

      Выбор драйвера для установки Driver Pack Solution

      Принцип установки драйверов с помощью других примерно одинаков и не вызывает сложностей у пользователей. С другими представителями данного софта вы можете ознакомиться в статье по ссылке ниже.

      Шаг 3: Добавление устройства стандартными средствами Windows

      Иногда простой установки драйверов недостаточно для того, чтобы система позволяла использовать устройство. Кроме этого некоторые ошибки при подключении новых устройств выдает и центр обновления Windows. Поэтому рекомендуется выполнить ручное добавление девайса к компьютеру. Осуществляется это следующим образом:

        Откройте «Пуск» и перейдите в «Устройства и принтеры».

      Переход к устройствам и принтерам Windows 7

      Добавление нового устройства в Windows 7

      Поиск новых устройств Windows 7

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

      Шаг 4: Калибровка устройства

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

        Зажмите комбинацию клавиш Win + R и введите туда команду, указанную ниже, и нажмите «OK».

      Переход к настройкам руля через Выполнить Windows 7

      Свойства игрового устройства

      Переход к калибровке руля

      Запуск мастера калибровки руля

      Поиск центра в мастере калибровки руля

      Выполнение настройки осей в мастере калибровке руля

      Калибровка оси Z в мастере

      Окончание калибровки игрового устройства

      Шаг 5: Проверка работоспособности

      Иногда пользователи после запуска игры обнаруживают, что некоторые кнопки не работают или руль крутится не так, как нужно. Чтобы этого не произошло, необходимо выполнить проверку стандартными средствами Windows. Осуществляется это следующим образом:

        Нажмите комбинацию клавиш Win + R и снова перейдите к настройкам через команду, указанную в предыдущем шаге.

      Переход к настройкам руля через Выполнить Windows 7

      Свойства игрового устройства

      Проверка работоспособности руля

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

      Закрыть

      Мы рады, что смогли помочь Вам в решении проблемы.

      Отблагодарите автора, поделитесь статьей в социальных сетях.

      Закрыть

      Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

      Читайте также: