roboforum.ru

Технический форум по робототехнике.

Есть ли готовые библиотеки по работе с USB джойстиком?

Есть ли готовые библиотеки по работе с USB джойстиком?

nsk-racer » 04 мар 2011, 12:50

Есть ли готовые библиотеки по работе с USB джойстиком? Хочу через геймпад управлять роботом по комп порту :) Ардуиной :)Не могу найти нигде! Только что-то про питон и всё, давно что-то я делал с нокией 5800 по блютусу с помощью питона, можно было акселерометром играть в игры.

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

dccharacter » 04 мар 2011, 12:59

nsk-racer писал(а):Есть ли готовые библиотеки по работе с USB джойстиком? Хочу через геймпад управлять роботом по комп порту :) Ардуиной :)Не могу найти нигде! Только что-то про питон и всё, давно что-то я делал с нокией 5800 по блютусу с помощью питона, можно было акселерометром играть в игры.

я напрямую к Orduino nano цеплял джойстики от PS2 (280руб в любом магазе) и аксели

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

boez » 04 мар 2011, 13:04

а какая разница - usb или какой джойстик? На компе винда? Дрова есть? Значит работать будет.

Google('примеры работы с джойстиком directinput') - там и примеры, и обсуждения на форумах, и все подряд.

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

dccharacter » 04 мар 2011, 13:08


Re: Есть ли готовые библиотеки по работе с USB джойстиком?

=DeaD= » 04 мар 2011, 13:18

Я делал в ORFA-терминале под Qt Creator'ом через SDL 1.2 ( http://www.libsdl.org/ )

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

AndreiSk » 04 мар 2011, 14:44

Я делал через DirectInput на C# для GamePad Logitech F710.
Работает :Yahoo!:

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

nsk-racer » 04 мар 2011, 20:12

я что-то сотворил :)) нашёл чужую программу вот, она данные шлёт допустим в ком 3, ардуину тоже на ком 3 или на другой ставить?

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

=DeaD= » 04 мар 2011, 20:26

nsk-racer, ваши сообщения крайне непонятны.

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

nsk-racer » 04 мар 2011, 21:05

с чем не поспоришь так это с этим :)
Нашёл программу, которая вроде шлёт изменения на осях в com 3 или любой другой, вопрос ардуина и джойстик должны быть на одном порту? или на разных? просто вместе с ардуиной на этом порту, у меня вылетает ошибка

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

Angel71 » 04 мар 2011, 21:48

:) сами хоть поняли что написали?

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

dccharacter » 04 мар 2011, 22:37

Да все у него понятно. Отвечаю: НЕТ. должны быть на разных компортах.

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

Angel71 » 05 мар 2011, 00:41

к компу подключено 2 девайса, ардуина и джойстик. тогда они сидят на разных ком портах. если попытаться открыть уже открытый порт, то или эксепшн "порт занят" или зависание или или или. это тоже не новость. :) а вот что за программа, которая в ком3 шлёт некие "изменения"? где она вообще, на ардуине или на компе? если эта чудная программа не на ардуине, то что она вообще отсылает и куда? инфу от джойстика в ардуину? может он вообще, как и было изначально задумано купил юсб джойстик. к ардуине его явно проблемно прикрутить, т.е. джойстик сейчас подключен к компу. и не факт, что он на виртуальном коме висит, вполне реально, что он хидовский. и т.д. :pardon:

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

nsk-racer » 05 мар 2011, 14:21

Джойстик USB, потому как связь по Wi-fi, мне джойстик от PS2 не подходит для этих целей, я его подключал к ардуине и всё работало...) Программа создаёт ком порт и в него уходят цифры, а ардуина эти цифры должна читать, Вот скетч:
Код: Выделить всёРазвернуть
int incomingByte = 0;
int dirbpinB = 7; // up&down Direction pin for motor B is Digital 12
int speedbpinB = 6; // up&down Speed pin for motor B is Digital 9 (PWM)
int dirbpinA =4; //left&right Direction pin for motor A is Digital 13int
speedbpinA = 5; //left&right Speed pin for motor A is Digital 10 (PWM)
int speedB = 255;  //Speed  up&down
int speedA = 255; //Speed left&right
int up = 0; //up 
int dw = 1; //dw
int lf = 0;  //left
int rg = 1;  //right
void setup()
{
pinMode(dirbpinA, OUTPUT);
pinMode(dirbpinB, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{    // read the incoming byte:   
incomingByte = Serial.read();       
switch (incomingByte)
{   
case '1': // up     
digitalWrite(dirbpinB, up);     
analogWrite(speedbpinB, speedB);     
delay(100);     
break;   
case '2': //down     
digitalWrite(dirbpinB, dw);     
analogWrite(speedbpinB, speedB);     
delay(100);     
break;   
case '3': //left     
digitalWrite(dirbpinA, lf);     
analogWrite(speedbpinA, speedA);     
delay(100);     
break;   
case '4': //right     
digitalWrite(dirbpinA, rg);     
analogWrite(speedbpinA, speedA);     
delay(100);     
break; 
}
}
else
{   
analogWrite(speedbpinA, 0);
analogWrite(speedbpinB, 0);
}
}


и отрывок из программы:

Код: Выделить всёРазвернуть
// start updating positions
tmrUpdateStick.Enabled = true;

if (!sp.IsOpen)
{
sp.PortName = "COM12";
sp.BaudRate = 9600;

try
{
sp.Open();
}
catch
{

}

}
}

private void tmrUpdateStick_Tick(object sender, EventArgs e)
{
// get status
jst.UpdateStatus();

// update the axes positions
foreach (Control ax in flpAxes.Controls)
{
if (ax is Axis)
{
switch (((Axis)ax).AxisId)
{
case 1:
((Axis)ax).AxisPos = jst.AxisA;
break;
case 2:
((Axis)ax).AxisPos = jst.AxisB;
break;
case 3:
((Axis)ax).AxisPos = jst.AxisC;
if (jst.AxisC == 65535)
{ sp.Write("4"); }
if (jst.AxisC == 0)
{ sp.Write("3"); }
break;
case 4:
((Axis)ax).AxisPos = jst.AxisD;
if (jst.AxisD == 65535)
{ sp.Write("1"); }
if (jst.AxisD == 0)
{ sp.Write("2"); }
break;


Добавлено спустя 3 часа 10 минут 44 секунды:
Ошибка "Порт закрыт"

Добавлено спустя 41 минуту 24 секунды:
На com 1 заработало :) Только вот ардуина их не читает :)

Добавлено спустя 51 минуту 38 секунд:
Тему можно закрывать :)

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

boez » 05 мар 2011, 17:43

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

Re: Есть ли готовые библиотеки по работе с USB джойстиком?

papami » 07 мар 2011, 23:04

Если кому-нибудь понадобится готовая библиотека, погуглите "joystick.ocx" Это ActiveX. Работает с любым USB-джойстиком(координаты ручки и кнопки вроде тоже.) Года 3 назад использовал ее для управления поворотными камерами.


cron
Rambler\'s Top100 Mail.ru counter