Управление движением робота с одного джойстика

3.4: Подключение и настройка робота VEX

В рамках блока 2 учащиеся завершат механическую сборку робота VEX Clawbot. Далее учащиеся займутся сопряжением микроконтроллера VEX Cortex и джойстика VEXnet для получения полностью управляемого робота.

Подключение электромоторов и управление ими

Робот VEX Clawbot имеет четыре электромотора, расположенных с двух сторон на ходовой части, электромотор захвата и электромотор руки. Как осуществляется отправка команд определенным электромоторам с помощью джойстика VEXnet? Ранее в блоке речь шла о беспроводном соединении VEXnet, позволяющем отправлять пользовательские команды на микроконтроллер.

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

При подключении следующих электромоторов в соответствующие порты обеспечивается следующее управление.

Электромотор Порт мотора Элемент пульта управления VEXnet
Левый тяговый электромотор         1 Левый джойстик
Электромотор cхвата         6 Левые “курки” на передней части пульта
Электромотор “руки”         7 Правык “курки” на передней части пульта
Правый тяговый электромотор         10 Правый джойстик

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

  • Подключить правый тяговый электромотор в моторный порт 10 на микроконтроллере Cortex. Убедиться, что красный провод расположен с левой стороны.
  • Подключить электромотор захвата к моторному контроллеру 29, при этом удостовериться, что цвета проводов совпадают. Подключить другой конец моторного контроллера 29 к микроконтроллеру Cortex. Это замковое соединение, поэтому существует только один вариант присоединения провода.
  • Подключить электромотор руки к моторному контроллеру 29, при этом удостовериться, что цвета проводов совпадают. Подключить другой конец моторного контроллера 29 к микроконтроллеру Cortex. Это замковое соединение, поэтому существует только один вариант присоединения провода.
  • Боле подробная информация относительно проводного подключения робота VEX Clawbot представлена в инструкции по сборке робота Clawbot, стр. 16. 

Установка батарей и ключей VEXnet

  • Подключить батарею VEX 7,2 В к порту для подключения батарей на передней стороне микроконтроллера Cortex рядом с переключателем «вкл/выкл». Это замковое соединение, поэтому существует только один вариант присоединения провода.
  • Подключить ключ VEXnet к микроконтроллеру Cortex через USB-разъем на верхней стороне микроконтроллера.
  • С помощью крестовой отвертки или торцового ключа VEX 3/32 (в зависимости от версии джойстика) удалить винты, которыми крышка отделения для батарей крепится к джойстику VEXnet. Удалить крышку отделения для батарей.
  • Установить в джойстик VEXnet шесть (6) одинаковых батарей ААА. ЗАПРЕЩАЕТСЯ использовать батареи различных типов.
  • Повторно установить крышку отделения для батарей, вставив два ушка крышки в заднюю стенку отделения, затем повторно закрепить винтами.
  • Подключить ключ VEXnet к джойстику VEXnet через USB-разъем, расположенный над крышкой отделения для батарей. 

С чего начать

  • После проводного подключения робота можно приступать к первым испытаниям! В таблице выше приводится конфигурация управления для робота Clawbot. По умолчанию робот настроен на движение в режиме танкового хода. Это метод раздельного управления левым и правым колесами с помощью отдельных джойстиков, по аналогии с управлением ходовой частью танка. Отжать до упора вверх обе ручки джойстика – чтобы робот двигался вперед. Отжать до упора вниз обе ручки джойстика – чтобы робот двигался назад. Отжать правую ручку вверх и левую ручку вниз – чтобы робот повернул влево. Отжать левую ручку вверх и правую ручку вниз – чтобы робот повернул вправо. Поэкспериментируйте с различными комбинациями для получения нескольких моделей хода. 

Источник: http://vex.examen-technolab.ru/lessons/unit_3_introduction_to_vexnet/51/

Большой боевой робот с программируемым управлением Battle Dancing Intelligent Model Toy

  • Магазины Китая
  • GEARBEST.COM
  • Игрушки и подарки

Небольшой обзор на необычную игрушку — программируемого робота на дистанционном управлении.

Робот имеет множество функций, очень интересный для занятий с ребенком, имеет возможность запрограммировать в память последовательность действий. Дополнительно робот оснащен «ракетницей», что позволяет устраивать игровые баталии))) Игрушка интересная, неоднозначная, за подробностями под кат.

Всем доброго времени суток! Хотелось бы рассказать всем о моей покупке – о роботе Alpha Smart Robot или, как его уже назвал мой ребенок — робот Никитос))) Честно говоря, когда ребенок в очередной раз попросил купить ему робота, я задумался т.к.

до этого были три неудачные покупки некачественных и дешевых роботов в магазинах города, а тратить более крупную сумму на очередную игрушку не очень хотелось… Решено было искать на просторах интернета, а выбор то огромный! Когда наткнулся на данную модель на китайском сайте, взгляд остановился сразу, потому что подобный, который я видел в магазинах, был с меньшим количеством функций, но почти в два раза дороже. Решено было брать)))

Дополнительная информация – скрин из личного кабинета

Характеристики с сайта: — Type: intelligent robot — Frequency: 2.4GHz — Charging Time: 2 — 3 hours — Charging Way: USB cable — Active Time: 30 — 40mins — Control Distance: 30m — Battery for Robot: 1 x 3.7V 600mA li-po battery ( built-in ) — Battery for Transmitter: 2 x AA battery ( not included ) — Product weight: 1.004 kg — Package weight: 1.581 kg — Package size (L x W x H): 45.

50 x 32.00 x 13.50 cm Посылка шла чуть больше двух недель. Упаковка была из плотного картона, которым так же было обложено прозрачное окно самой упаковки игрушки для дополнительной защиты от нашей почты. Габариты коробки 44 х 30 х 12 см.Коробка чуть помялась, но не критично, вверху нее удобная для переноски ручка
На коробке присутствует название робота Alpha Robot.

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

В коробке так же прилагались инструкция на английском языке, пульт, отвертка для открытия пульта, 5 стрел с присосками для ракетницы (хотя для заряда требуется три, видимо, пара запасных) и… о, чудо!!! USB-зарядка для самого робота, эту информацию я пропустил, при выборе игрушки, потому и был приятно удивлен, что робот не на пальчиковых аккумуляторах и не батарейках.

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

Сзади на спине находится переключатель on/off, индикатор окончания зарядки батареи и входное отверстие, собственно говоря, для самого USB-проводаСпереди на груди присутствует основная кнопка включения дистанционного режима управленияВ ногах у робота присутствуют колесики для передвиженияГлаза имеют несколько режимов мигания, в зависимости от активированной функцииВот фотография катапульты на правой руке робота. можно зарядить до 3х стрелОбе руки сгибаются помимо трех положений (по бокам, прямо на уровне груди и вверх), так еще и в плече и локтевом суставе. Вот несколько положений суставов рук для оценки возможностей робота

Можно разводить руки в стороны…… поднимать их вверхТак как робот «боевой», то можно устроить бокс ))) Правда нужен второй робот для спарринга)))Можно сделать прикольный жест руками типа «увы…»На правой руке зеленый световой сигнал размещен сбоку, а в самой конечности руки есть ракетница на три отверстия, для заряда пульками-стреламиНа левой руке световой эффект так же зеленый, но находится он спереди, подсвечивая перчатку. При включении переключателя питания сзади, робот начинает работать в Demo-режиме, при этом он сначала на английском произносит, какие конкретно команды он будет выполнять (соответственно названиям кнопок на пульте управления), после чего их выполняет. Для того, чтобы управлять роботом, нужно нажать большую кнопку спереди на груди робота. Далее подробно опишу пульт. Надеюсь станет понятно, на что собственно способен этот прикольный робот. Для работы пульта необходимы 2 батарейки типа АА (пальчиковые), которые в комплект не входят. Не забывайте выключать пульт и робота по окончанию игры. Пульт выглядит как большой джойстик с увеличенным количеством кнопокБатарейки для пульта устанавливаются сзади, крышка батарейного отсека сделана под винт, отвертка есть в комплектеСпереди расположен красный индикатор, который загорается при нажатии любой из кнопок. Кнопок, кстати целых 27 шт!!! На фото крупным планом передняя панель пульта. Кнопки сгруппированы в два блока наподобие крестовин джойстика, плюс нижний блок кнопок в три ряда. В центре есть кнопка режимов демо и программированияРассмотрим каждую из них.

MEMO — запуск Demo версии;

Читайте также:  Автополив на arduino: схемы подключения, программный код

Program — при первом нажатии запускается режим программирования, после чего ты нажимаешь любые кнопки, затем вторым нажатием завершаешь программирование, и робот выполняет все команды поочередно, что ты задал;
Volume+ — прибавить громкость;
Volume– — убавить громкость;
Stop — остановить все команды. Группа кнопок езды:

Slide Forward – робот едет вперед;

Slide Backward – едет назад;
Turn Left – разворачивается влево;
Turn Right – разворачивается вправо;
Mode Switch – при нажатии этой кнопки можно ускорить или замедлить выполнение команд езды. Группа кнопок ходьбы:

Forward – робот идет вперед;

Backward – идет назад;
Turn Left – поворачивает влево на 90 градусов;
Turn Right – поворачивает вправо на 90 градусов;
Mode Switch – при нажатии этой кнопки можно ускорить или замедлить выполнение команд ходьбы.
Left Hand (стрелка вверх) – левая рука поднимается вверх, работает в трех положениях;
Left Hand (стрелка вниз) – левая рука опускается вниз соответственно;
Right Hand (стрелка вверх) – правая рука поднимается вверх, работает в трех положениях;
Right Hand (стрелка вниз) – правая рука опускается вниз соответственно;
SHOOT 1 и SHOOT 2 – два разных режима стрельбы, при которых он выполняет разные движения и звуки;
Fight 1 и Fight 2 – так же два разных режима боя, при которых он едет в разные стороны, издает звуки, поднимает и опускает руки, имитируя сам бой;
Patrol – включается сирена, совсем новый звуковой эффект, не похожий ни на какой из других режимов, робот ходит, патрулирует по всем сторонам;
Machine Language – разговорная речь становится похожа на звуки инопланетян из мультфильмов;
Music – играет красивая музыка (сколько всего песен, так и не смогла понять), при этом робот хаотично двигается;
Dance – играет музыка, робот танцует в ритм. Как вы уже поняли, движений очень много, игра долгая и интересная получается. Пара фотографий робота при игре. Вид справаВид слеваРобот патрулирует в поисках цели, вооружен и опасенУстранили нарушителя в виде стиральной машинкиРобот поднял руки вверх — сдается. Боекомплект расстрелян))))Робот заряжен опятьАнимация подъема и опускания шлемаАнимация мигания глаз роботаНебольшое видео, иллюстрирующее функциональность роботаКак вы уже поняли, движений очень много, игра долгая и интересная получается. У нас с ребенком всегда были проблемы с игрушками на дистанционном управлении, вечно они не вписывались в поворот, с трудом обходили препятствия и т.д. Но с этим — другое дело)) Во-первых, робот очень устойчив перед препятствиями, во-вторых, способен маневрировать, как говорится, на высшем пилотаже. Не смотря на большое количество кнопок, ребенок с ним разобрался легко и быстро. Особое веселье у моего ребенка вызывает то, что у этой модели робота можно стрелять прицельно. То есть, не просто запускаешь режим стрельбы, и он стреляет в одну точку, а наводишь руку и имеешь возможность прицелиться в то место, куда тебе нужно попасть. Это хорошо просматривается на видео. Так что этот робот по всей квартире охотился за мной))) Еще его преимущество для меня, как для родителя, заключается в том, что звук можно регулировать от тихого режима до существенно громкого. А плюс в том, что ребенок, проснувшись и схватив свою любимую игрушку с самого утра, все-таки дает мне время еще чуток поспать))) Так же хочу отметить, что полного заряда нам хватило на три дня игры, при этом передвигается робот по ковру так же хорошо, как и по линолеуму/ламинату. Мы с ребенком в полном восторге, особенно если учесть, что я долго не отдавал ребенку в первый раз пульт, увлеченный игрой, то еще не известно кто больше в восторге))) Подведу итог.

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

Минусы: несколько сложное управление (много функций), перед игрой надо разбираться что к чему Всем пока! Хороших вам игрушек и занимательных игр))) Планирую купить +17 Добавить в избранное Обзор понравился +40 +52

Источник: https://mysku.ru/blog/china-stores/54434.html

Разработка роботов

Иногда встает необходимость управлять роботом или другими устройствами удаленно.

Я хочу обсудить дистанционное управлении с помощью джойстика, когда обработчик команд висит на компьютере и команды передаются на робота через канал передачи данных или команды обрабатываются непосредственно на самом устройстве, если он PC совместимо. Очевидные плюсы – дешевая цена джойстика от 300 руб. Удобно – джойстик зарекомендовал себя в играх.

Я написал небольшой класс VJoystickAdapter на С++ для Qt. Он взаимодействует с SDL дает пользователю удобный интерфейс работы с устройством и генерирует Qt сигналы при изменения состояния кнопок, аналоговых осей или других элементов джойстика. Связка SDL Qt делает код переносимым между разными OS. Рассмотрим UML диаграмму нашего  класса.

Читайте также:  Бумажное пианино ардуино: пошаговая инструкция

Для подсоединения к джойстику используется метод open(int id) принимающий в качестве параметра id — идентификатор джойстика.

В классе есть два вспомогательных статических метода getNumAvaliableJoystick() возвращающий число доступных в системе джойстиков и getAvaliableJoystickName() возвращающий список строк имен доступных в системе джойстиков.

Для закрытия джойстика используется метод close() при вызове деструктора происходит проверка на закрытие джойстика и если вы забыли это сделаеть — это будет выполнено автоматически.

Как можно заметить что внутри основного класса VJoystickAdapter описан класс VJoystickThread в котором запускается отдельный поток, класс VJoystickThread принимает указатель на базовый класс VJoystickAdapter и генерирует сигналы из метода run(). Генерируются следущие сигналы:

signals: void sigButtonChanged(int id, bool state);
    void sigAxisChanged(int id, int state);    void sigHatCanged(int id, int state);
    void sigBallChanged(int id, int stateX, int stateY);

Названия сигналов говорят сами за себя: сигнал изменения состояния кнопки(Button), аналоговой оси(Axis), перекрестья(hat), и шарика(ball). Все сигналы передают два(три) параметра: id и состояние.

Также в классе VJoystickAdapter есть методы для определения числа кнопок, аналоговых осей и других частей джойстика, метод возвращающий id и имя текущего джойстика. Значения возвращаемых параметров аналогичны тем что используются в SDL. Для аналоговых осей возвращаемая величина изменяется от -32768 до +32768.

Значение кнокок — нажат, ненажат. Значения с перекрестья могут принимать значения из перечисления HatPosition:

enum HatPosition    
{        
JOYSTICK_HAT_CENTERED = SDL_HAT_DOWN,        
JOYSTICK_HAT_UP = SDL_HAT_UP,      
JOYSTICK_HAT_UP_RIGHT = SDL_HAT_RIGHT,        
JOYSTICK_HAT_RIGHT = SDL_HAT_RIGHT,        
JOYSTICK_HAT_RIGHT_DOWN = SDL_HAT_RIGHTDOWN,        
JOYSTICK_HAT_DOWN = SDL_HAT_DOWN,        
JOYSTICK_HAT_DOWN_LEFT = SDL_HAT_LEFTDOWN,        
JOYSTICK_HAT_LEFT = SDL_HAT_LEFT,        
JOYSTICK_HAT_LEFT_UP = SDL_HAT_LEFTUP    
};

Для Ball сказать ничего не могу — ибо у меня на джойстике нет такой штуки и в документации к SDL об этом ничего не сказано. Наверное по классу все.

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

Вот такое применение.Хочется отметить что за основу класс использует библиотеку SDL в текущей стабильной версии на момент написания статьи 1.2.14 отсутствует поддержка вибрации и обратной связи.

Что немного печалит игроманов, но в целом на управлении не сказывается. Так как SDL портирована на множество операционных систем, то класс можно использовать везде где есть Qt и SDL.

Точно могу сказать, что в Linux, Windows, MacOS этот код будет работать, все что нужно для работы его в других ОС это наличие SDL и Qt.

В прилагаемом архиве класс тестировался в Linux. Все что вам будет необходимо если вы используете не linux это подредактировать makefile.

Скачать Класс, GUI и UML.

В скором веремени планируется создать обработчик команд для управления роботом TurboT. Следите за темой !!!

На моей страничке в github http://github.com/proydakov/vJoyQt я написал gui и обновленный класс по этой статье. Самую свежую версию можно скачать именно оттуда.

Источник: http://robot-develop.org/archives/1537

Программка для управления роботом через UART

Всем привет.
Давным-давно, года три назад, я прочитал серию статей на хабре «Строим гусеничного Bluetooth-робота с камерой».

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

Я купил китайское шасси и сделал простенькую схему – микроконтроллер Atmega16, с одной стороны общающийся с компом по UART через блютус модуль, а с другой – рулящий парой коллекторных двигателей через H-мосты.

Написал элементарную программу для мк – при получении символа через UART проверялось, что это за символ, и если это символ ‘w’, то робот едет вперед, ‘a’ – влево, ‘d’ – вправо, ’z’ – назад, ‘s’ – стоп.

Если запустить putty и открыть в ней нужный ком-порт, то можно нажимать клавиши на клавиатуре и управление получится почти как в компьютерной игрушке при помощи WASD, благодаря тому, что putty немедленно отправляет вводимые символы, не дожидаясь «Enter», как многие другие терминальные программы. В принципе, эта система на тот момент меня вполне радовала.

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

Во-вторых, не регулируется скорость, в частности, нельзя «подруливать», робот либо едет на полную мощность вперед, либо влево, и так далее – движения получаются очень дерганными, а управление – неудобным.

Последние полтора года я регулярно преподаю электронику и робототехнику школьникам (возможно, участникам сообщества с детьми будет интересно, школа называется «Ланат»), и они частенько строят всякие ездящие, ползающие и водоплавающие тележки с управлением через UART, короче столкнулся я с этой проблемой на регулярной основе – неудобно управлять через putty. Тем более, школьникам неинтересно просто сделать робота и поездить на нем – им подавай какие-нибудь соревнования, а какие соревнования могут быть, если робот кое-как управляется.

В общем, давно я хотел научиться писать GUI приложения, и кажется этот момент настал. После не очень длительного выбора остановился на QT, ибо писать умел только на C, и понравились обещания кросплатформенности, да и отзывы неплохие.

Попутно пришлось раскурить C++ и вообще ООП, чему я очень рад, и просто влюбился в этот подход =). Сходу было не так легко переломить в себе закостенелое «процедурное» мышление, мне очень помог курс «Объектно-ориентированное программирование» (C++).

МарГТУ [2010 г.]

Итак, в результате родилось приложение, которое позволяет управлять роботом на танковом шасси абсолютно так же, как в какой-нибудь Need For Speed, с плавным разгоном, поддержанием скорости, подруливанием, и автоматическим плавным торможением при отпускании.Расскажу для начала, как работать с интерфейсом программы, а потом опишу протокол общения с роботом.

Интерфейс программы
Связь у нас через UART, поэтому в левом верхнем углу в разделе «Connection» есть необходимые для этого инструменты, а именно – выбрать порт, скорость, подключиться, отключиться. Ну и обновить список портов.

Далее в левом нижнем углу, в разделе «Robot’s status», показывается фактическое состояние двигателей, в какую сторону они крутятся и с какой силой.

Если быть точнее – показывается мощность, вкачиваемая в мотор, а если еще точнее – просто OCR ШИМ-а от 0 до 255, ну и направление. Отображение уровня заряда батареи пока не работает, не дошли руки, хотя допилить очень легко.

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

Читайте также:  Система контроля качества воздуха внутри помещений

Посередине, в разделе «Robot’s control», показывается логическое состояние робота – в какую сторону и с какой скоростью едет, с какой интенсивностью поворачивает. Я до конца не разобрался в QT, но сейчас для успешной работы программы необходимо, чтобы фокус был на одном из ползунков, и стояла английская раскладка.

Справа блок настроек.

Control packets send interval, ms – периодичность отправки управляющих пакетов роботу.
Keyboard poll interval, ms – периодичность опроса клавиатуры программой.
Speed user change step – параметр, определяющий, насколько быстро скорость будет нарастать при зажатии кнопки «W» и «S».
Speed auto back change step – параметр, определяющий, насколько быстро скорость будет спадать при отпускании кнопок «W» и «S».
Steering user change step – параметр, определяющий, насколько быстро «руль поворачивается» при зажатии кнопки «A» и «D».
Steering auto back change step – параметр, определяющий, насколько быстро «руль возвращается в центральное положение» при отпускании кнопок «A» и «D».
Engines PWM deadzone – параметр, определяющий величину заполнения ШИМ, которой едва хватает для того, чтобы сдвинуть робота с места. Например, для моих моторов при питании от 12V этот параметр – 100. Когда я нажимаю «вперед», скважность не набирается от нуля, а сразу прыгает на 100, и дальше уже регулируется плавно до максимума, таким образом управление получается без провалов. Эта мертвая зона отрабатывается также при любых других сценариях, не обязательно старте с места. И тут наверное стоило бы ввести еще один параметр – величину заполненения ШИМ, которой достаточно для поддержания уже крутящегося двигателя, и при снижении скорость вращения использовать другую мертвую зону на основе этого параметра, но пока не стал заморачиваться.
Left/right engine using power, % — параметр, нужный для корректировки несимметричности двигателей. Зачастую при подаче одинаковой мощности, двигатели крутятся немного с разной скоростью, и это мешает ехать вперед прямо. Данный параметр, как вы наверное уже догадались, вводит понижающий коэффициент для более скоростного мотора, что помогает решить проблему.

Протокол общения.

Программа периодически шлет в UART простенький пакет из 6 байт0x0F, LEFT_SPEED, LEFT_DIRECTION, RIGHT_SPEED, RIGHT_DIRECTION, 0x0E

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

Скорость левого — от 0* до 255.
Направление левого — 0 или 1.
Скорость правого — от 0* до 255.
Направление правого — 0 или 1.
Финишный байт — 0x0F *Скорости теоретически задаются от 0 до 255, но, как я писал выше, функция PWM deadzone приводит к тому, что значения ниже некоторой планки никогда не придут. Я принудительно ограничил в программе поле ввода на уровне 90, поэтому в качестве стартового и финального байтов смело использую 0x0F и 0x0E. Костыль, велосипед, но уж как сделал =) На этом пока всё. В дальнейшем планирую еще добавить кручение сервомашинок при движениях мышью. Критика и пожелания приветствуются. =) Файлы прикреплены(смотрите под топиком, адски мелким незаметным шрифтом): Архив с уже скомпилированной для Windows программой и необходимыми библиотеками — Robot_control.zip Исходники, проект для QtCreator 5 — com_control2.zip

Проект для Atmel Studio 6 с работающим примером, там все просто, только, возможно, надо будет поменять контроллер на ваш и передефайнить ножки направления двигателей — Control_board.zip

Источник: http://we.easyelectronics.ru/electro-and-pc/programmka-dlya-upravleniya-robotom-cherez-uart.html

Как настроить джойстик

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

1

Быстрое подключение джойстика к компьютеру

Если всё пройдет гладко, то вашего участия практически не потребуется, ведь в джойстиках по умолчанию уже есть драйвера для устройства, они самостоятельно устанавливаются в компьютер при первом подключении.

  • Внимательно посмотрите в какой разъем лучше вставлять джойстик – usb 2.0 или usb 3.0. Последний вариант быстрее, но бесполезен, если джойстик подходит для версии 2.0;
  • Вставьте его в компьютер и подождите, пока система отреагирует;
  • В нижнем правом углу должна появиться табличка “Идет установка драйверов устройства”. Это может занять несколько минут;
  • Как только установка закончится, вы сможете пользоваться джойстиком.

2

Калибровка джойстика

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

  • Зайдите в Мой компьютер и правой кнопкой мыши кликните на геймпад. В появившемся меню выберете строку “Калибровка” или “Откалибровать”.
  • Тут же появится окошко, в котором предстоит выбрать свой джойстик. Нажмите “ок”.
  • Вы увидите небольшую схему с крестиком. Вам нужно нажимать крестец на джойстике, пока символ на экране не сместится в центр.

Теперь можете проверить работоспособность джойстика в специальной вкладке.

3

Установка драйверов для джойстика вручную

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

  • Первый способ установки заключается в ручном поиске драйвера в поисковике интернета. Забейте название вашего джойстика в поисковую строку и поищите драйверы для него сами;
  • Но существует ещё один способ, в котором система сама поищет за вас драйверы.

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

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

Теперь найдите джойстик в диспетчере устройств. Он может находиться в USB контроллерах.

Кликните по джойстику правой кнопкой мыши и выберете раздел “Обновить драйверы”.

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

4

Если калибровка не работает

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

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

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

Источник: https://sovetclub.ru/kak-nastroit-dzhojstik

Ссылка на основную публикацию
Adblock
detector