Allgemein

Беспроводной pc Control с Nintendo Wiimote (ru) Игорь Ретро

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

Как красиво, как контроль через гироскопический датчик, он не должен быть использован для точного управления мышью. Несмотря ни на что, этот контроль также стоит попробовать свои собственные. Мы моделируем X-оси, прокатWimote вокруг его продольной оси, Y-оси простым вверх и вниз из Wiimote или wiimote. Вращение вокруг короткой оси X.

В качестве напоминания, еще раз управления осей. Со значениями точности, конечно, что-то можно играть, в зависимости от вкуса и площади применения. И будьте осторожны: не забудьте запястье петли!

Мышь управления без ИК-датчик бар непосредственно через гироскоп:

var.x – Wiimote.RawForceX – 6 значений от калибровки
var.y – Wiimote.RawForceY No 20
var.z – Wiimote.RawForce
Точность

var.sense0 и 500
var.thresh0x 5
var.thresh0y 2

первая настройка чувствительности
ксаксис
если var.x и var.thresh0x
  mouse.x – 1/var.sense0
Эндиф
если var.x< -var.thresh0x
  mouse.x – mouse.x 1/var.sense0
Эндиф

ясис
если var.z и var.thresh0y
  mouse.y – mouse.y – 1/var.sense0
Эндиф
если var.z< -var.thresh0y
  mouse.y – mouse.y 1/var.sense0
Эндиф

Теоретически, вы уже можете построить на этом и имитировать рулевое колесо эквивалентным вращением вокруг оси. Это делается в следующем скрипте, с помощью которого вы можете играть Trackmania Nations с помощью Wiimote "рулевое колесо". Wiimote держится как руль, ИК-датчик указывает влево в горизонтальном базовом положении

Трекмания сценарий:

var.led – 0 /1 – Leds on ; 0 – Leds off
Var. Базон No 30
Var. Аддон No 4
Var. BaseOff No 20
Var. AddOff No 0
var.zБаза 0,20
var.zAdd 0.04

Панель управления
Клавиатура.Enter и Wiimote.A /Введите ключ
Клавиатура.Вниз – Wiimote.One
Клавиатура.Up – Wiimote.Two
Клавиатура.Побег – Wiimote.Home /ESC ключ
Клавиатура.NUMPAD1 – Wiimote.Up
Клавиатура.NUMPAD2 – Wiimote.Right
Клавиатура.NUMPAD3 – Wiimote.Down

Рулевое управление вправо
если Wiimote.g.< (var.zBase + var.zAdd)
   Клавиатура.Право No 1
   ждать (var.baseon ms)
   Клавиатура.Право No 0
   ждать (var.baseoff ms)
Эндиф

если Wiimote.g) (var.zBase и var.zAdd) и< (var.zBase + var.zAdd * 2)
   Клавиатура.Право No 1
   подождать (var.baseon и var.addon ms)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff ms)
Эндиф
 
если Wiimote.g) ( var.zBase и var.zAdd 2) и< (var.zBase + var.zAdd * 3)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 2 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 2 мс)
Эндиф
   
если Wiimote.g) ( var.zBase и var.zAdd 3) и< (var.zBase + var.zAdd * 4)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 3 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 3 мс)
Эндиф
   
если Wiimote.g) ( var.zBase и var.zAdd No 4) и< (var.zBase + var.zAdd * 5)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 4 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 4 мс)
Эндиф
   
если Wiimote.g) ( var.zBase и var.zAdd 5) и< (var.zBase + var.zAdd * 6)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 5 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 5 мс)
Эндиф
     
если Wiimote.g) ( var.zBase и var.zAdd 6) и< (var.zBase + var.zAdd * 7)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 6 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 6 мс)
Эндиф
   
если Wiimote.g) ( var.zBase и var.zAdd 7) и< (var.zBase + var.zAdd * 8)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 7 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 7 мс)
Эндиф
   
если Wiimote.g) ( var.zBase и var.zAdd 8) и< (var.zBase + var.zAdd * 9)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 8 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff 8 мс)
Эндиф
   
если Wiimote.g) (var.zBase и var.zAdd) и< (var.zBase + var.zAdd * 10)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 9 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff – 9 мс)
Эндиф
   
если Wiimote.g) ( var.zBase и var.zAdd 10) и< (var.zBase + var.zAdd * 11)
   Клавиатура.Право No 1
   ждать (var.baseon и var.addon 10 мс)
   Клавиатура.Право No 0
   ждать (var.baseoff и var.addoff – 10 мс)
Эндиф

если Wiimote.g) (var.zBase и var.zAdd No 11)
   Клавиатура.Право No 1
Эндиф
 

Рулевое управление влево
если Wiimote.g – <= -(var.zbase)="" and="">(var.zBase и var.zAdd)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon ms)
   Клавиатура.Левый No 0
   ждать (var.baseoff ms)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd)="" and="">(var.zBase и var.zAdd No 2)</=>
   Клавиатура.Левый No 1
   подождать (var.baseon и var.addon ms)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff ms)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 2)="" and="">(var.zBase и var.zAdd No 3)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 2 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff 2 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 3)="" and="">(var.zBase и var.zAdd No 4)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 3 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff 3 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 4)="" and="">(var.zBase и var.zAdd No 5)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 4 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff 4 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 5)="" and="">(var.zBase и var.zAdd No 6)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 5 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff 5 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 6)="" and="">(var.zBase и var.zAdd No 7)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 6 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff 6 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 7)="" and="">(var.zBase и var.zAdd No 8)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 7 мс)
   Клавиатура.Левый No 0
   ждать 20ms
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 8)="" and="">(var.zBase и var.zAdd No 9)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 8 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff 8 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 9)="" and="">(var.zBase и var.zAdd No 10)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 9 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff – 9 мс)
Эндиф
   
если Wiimote.g – <= -(var.zbase="" +="" var.zadd="" *="" 10)="" and="">(var.zBase и var.zAdd No 11)</=>
   Клавиатура.Левый No 1
   ждать (var.baseon и var.addon 10 мс)
   Клавиатура.Левый No 0
   ждать (var.baseoff и var.addoff – 10 мс)
Эндиф

если Wiimote.g<= -(var.zBase + var.zAdd * 11)
   Клавиатура.Левый No 1
Эндиф
Конец управления для рулевого управления влево

Нулевая точка (мертвая зона)
если Wiimote.g- -(var.zBase) и< var.zBase
   Клавиатура.Левый No 0
   Клавиатура.Право No 0
   если var.led No 1
      Wiimote.Leds No 6
   Эндиф
Эндиф

Светодиодный контроль
если var.led No 1 и (Wiimote.gz – 0,20 и< 0.50)
   Wiimote.Leds No 3
Эндиф
если var.led No 1 и Wiimote.gz 0.50
   Wiimote.Leds No 1
Эндиф
если var.led No 1 и (Wiimote.gz < -0.20 and > -0.50)
   Wiimote.Leds No 12
Эндиф
если var.led No 1 и Wiimote.gz<= -0.50
   Wiimote.Leds No 8
Эндиф

 


Trackmania Наций с Wiimote управления

Резюме и заключение

Использование Wiimote на настольном ПК, ноутбуке и HTPC в качестве устройства управления и ввода имеет смысл в некоторых отношениях и может даже сэкономить деньги (например. используется в качестве доски). Конечно, подключение к ПК автоматически не предлагает ту же функциональность для игр, как Wii себя. Если вы хотите точную копию в этой области, и у вас есть немного программных усилий слишком много, вы должны купить Wii, потому что почти каждая игра должна быть настроена на ПК. И даже в этом году идеальный результат не всегда гарантирован. Но если вы любите экспериментировать, Wiimote становится незаменимым четвертым блоком управления рядом с мышью, клавиатурой и геймпадом.

Без сенсорной панели, не использовать в качестве замены мыши возможно, поэтому либо самоконструкции или покупка готовой панели датчика является обязательным. Мы использовали контроль Wiimote на домашнем HTPC; Mediacenter можно управлять более удобно, чем с нормальным ИК-пультом дистанционного управления. Кроме того, Wiimote был использован в качестве указателя и управления для презентации PowerPoint через луч. Использование было гораздо более эффективным, чем шарить смесь ноутбука мыши и лазерной указкой. Это, безусловно, где сильные стороны представленной системы управления лежат. И это было также вполне проходимым играть, как только вы привыкли к Wiimote.

С этой точки зрения, не только самостроительство и программирование было весело, но в конце концов действительно годное новое устройство ввода было создано. Кто не уклоняется от усилий и кому причем. 40 евро за Wiimote не слишком много, вы можете только рекомендовать реплики.

Danke für die Spende



Du fandest, der Beitrag war interessant und möchtest uns unterstützen? Klasse!

Hier erfährst Du, wie: Hier spenden.

Hier kannst Du per PayPal spenden.

About the author

Igor Wallossek

Chefredakteur und Namensgeber von igor'sLAB als inhaltlichem Nachfolger von Tom's Hardware Deutschland, deren Lizenz im Juni 2019 zurückgegeben wurde, um den qualitativen Ansprüchen der Webinhalte und Herausforderungen der neuen Medien wie z.B. YouTube mit einem eigenen Kanal besser gerecht werden zu können.

Computer-Nerd seit 1983, Audio-Freak seit 1979 und seit über 50 Jahren so ziemlich offen für alles, was einen Stecker oder einen Akku hat.

Folge Igor auf:
YouTube   Facebook    Instagram Twitter

Werbung

Werbung