Wii-Stuff: Difference between revisions

From Chaosdorf Wiki
(→‎Videos: audio example)
mNo edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:WiiBoard1.jpg|200px|thumb|right|Neverball with Balance Board]]
{{Project
|name=Wii-Stuff
|description=Wiimote & Balanceboard hacking
|project category=Software
|image=WiiBoard1.jpg
|status=obsolete
|people={{U|derf}}
|source=https://github.com/derf/wii-sensors{{!}}wii-sensors
}}
[[File:WiiDraw1.jpg|200px|thumb|right|Graffiti or something]]
[[File:WiiDraw1.jpg|200px|thumb|right|Graffiti or something]]


Because motion controls are awesome.
Because motion controls are awesome.


= I/O =
== I/O ==


See also the [http://wiibrew.org/wiki/Wiimote Wiibrew article].
See also the [http://wiibrew.org/wiki/Wiimote Wiibrew article].


== Accelerometer ==
=== Accelerometer ===
3x 8 bit, for X, Y and Z. The readings include earth gravity (1G).
3x 8 bit, for X, Y and Z. The readings include earth gravity (1G).
Supported range is about -6G .. 6G, giving us a pretty bad precision of 0.04G.
Supported range is about -6G .. 6G, giving us a pretty bad precision of 0.04G.
Line 14: Line 22:
Useful for determining the absolute wiimote tilt state (pitch/roll/yaw) and throws (x=y=z=0 ⇒ "zero gravity" at the tip of a throw)
Useful for determining the absolute wiimote tilt state (pitch/roll/yaw) and throws (x=y=z=0 ⇒ "zero gravity" at the tip of a throw)


== tilt sensors (MotionPlus) ==
=== tilt sensors (MotionPlus) ===


[[File:Rotations.gif|200px|thumb|right|Axis names]]
[[File:Rotations.gif|200px|thumb|right|Axis names]]


Roll, Pitch and Yaw, 16 bit per value. ''Only'' reports relative motion, earth gravity doesn't matter. Also, it only reports motion around the Wiimote's own axis. Moving the wiimote up/down/letf/right on a straight line doesn't really affect the readings.
Roll, Pitch and Yaw, 16 bit per value. ''Only'' reports relative motion, earth gravity doesn't matter. Also, it only reports motion around the Wiimote's own axis. Moving the wiimote up/down/left/right on a straight line doesn't really affect the readings.


Useful for pointing devices (works as good as infrared pointing) and detecting rotation (augmented reality).
Useful for pointing devices (works as good as infrared pointing) and detecting rotation (augmented reality).


== Speaker ==
=== Speaker ===


See [http://wiibrew.org/wiki/Wiimote#Speaker Wiibrew].
See [http://wiibrew.org/wiki/Wiimote#Speaker Wiibrew].


== LEDs ==
=== LEDs ===


Four LEDs. The bluetooth connection is fast enough to implement software PWM with 10 brightness levels.
Four LEDs. The bluetooth connection is fast enough to implement software PWM with 10 brightness levels.


== Buttons ==
=== Buttons ===


Can be read via Polling and Interrupts.
Can be read via Polling and Interrupts.


= Done =
== Done ==


* Neverball: Wiimote is already supported, use [https://github.com/derf/wii-sensors/blob/master/neverball/tilt_wii.patch tilt_wii.patch] for balance board + wiimote support. Note that the patch is unstable and may crash while syncing.
* Neverball: Wiimote is already supported, use [https://github.com/derf/wii-sensors/blob/master/neverball/tilt_wii.patch tilt_wii.patch] for balance board + wiimote support. Note that the patch is unstable and may crash while syncing.
* pointing device: [http://abstrakraft.org/cwiid/wiki/wminput wminput] supports infrared and button controls. Using the MotionPlus, one can have infrared-behaviour without actual infrared LEDs. Todo: publish the patch (and perhaps clean it up first)
* pointing device: [http://abstrakraft.org/cwiid/wiki/wminput wminput] supports infrared and button controls. Using the MotionPlus, one can have infrared-behaviour without actual infrared LEDs. The patch is available in the [https://github.com/derf/cwiid/tree/mplus-pointer mplus-pointer branch] on github
* Audio output with MPD interface (low quality)
* Audio output with MPD interface (low quality)
* interactive blinkenlights using the LEDs
* interactive blinkenlights using the LEDs


= Ideas =
== Ideas ==


* Stepmania via Balance Board? (if it is precise enough)
* Stepmania via Balance Board? (if it is precise enough)
* Minecraft: Movement via Balance Board, wiimote as pickaxe
* Minecraft: Movement via Balance Board, wiimote as pickaxe
* Use Wiimote as lightsaber (already possible for smartphones, but... whatever :p )


= See also =
== See also ==


* [http://wiibrew.org/wiki/Wiimote Wiibrew article] about wiimote (more detailed)
* [http://wiibrew.org/wiki/Wiimote Wiibrew article] about wiimote (more detailed)
* [https://github.com/derf/wii-sensors wii-sensors] git repo
* [https://github.com/derf/wii-sensors wii-sensors] git repo


== Videos ==
=== Videos ===


* Neverball with balance board: [http://finalrewind.org/interblag/entry/neverball-balance-board/bboard2.mkv mkv] / [http://youtu.be/cIIBW7j1lAQ youtube]
* Neverball with balance board: [[Has video::http://finalrewind.org/interblag/entry/neverball-balance-board/bboard2.mkv|mkv]] / [[Has video::http://youtu.be/cIIBW7j1lAQ|youtube]]
* Testing Minecraft "Augmented Reality": [http://lib.finalrewind.org/v/wiimote_minecraft.mp4 mp4] / [http://www.youtube.com/watch?v=9rj07tBJbyc youtube]
* Testing Minecraft "Augmented Reality": [[Has video::http://lib.finalrewind.org/v/wiimote_minecraft.mp4|mp4]] / [[Has video::http://www.youtube.com/watch?v=9rj07tBJbyc|youtube]]
* Audio example: [http://lib.finalrewind.org/v/wmsp_im.mp4 Imperial March]
* Audio example: [[Has audio::http://lib.finalrewind.org/v/wmsp_im.mkv|Imperial March]]


[[Category:Projects]]
[[Category:Projects]]

Latest revision as of 19:31, 30 June 2020

Wii-Stuff obsolete
WiiBoard1.jpg
Wiimote & Balanceboard hacking
Beteiligt derf
Quelltext wii-sensors
Graffiti or something

Because motion controls are awesome.

I/O[edit | edit source]

See also the Wiibrew article.

Accelerometer[edit | edit source]

3x 8 bit, for X, Y and Z. The readings include earth gravity (1G). Supported range is about -6G .. 6G, giving us a pretty bad precision of 0.04G.

Useful for determining the absolute wiimote tilt state (pitch/roll/yaw) and throws (x=y=z=0 ⇒ "zero gravity" at the tip of a throw)

tilt sensors (MotionPlus)[edit | edit source]

Axis names

Roll, Pitch and Yaw, 16 bit per value. Only reports relative motion, earth gravity doesn't matter. Also, it only reports motion around the Wiimote's own axis. Moving the wiimote up/down/left/right on a straight line doesn't really affect the readings.

Useful for pointing devices (works as good as infrared pointing) and detecting rotation (augmented reality).

Speaker[edit | edit source]

See Wiibrew.

LEDs[edit | edit source]

Four LEDs. The bluetooth connection is fast enough to implement software PWM with 10 brightness levels.

Buttons[edit | edit source]

Can be read via Polling and Interrupts.

Done[edit | edit source]

  • Neverball: Wiimote is already supported, use tilt_wii.patch for balance board + wiimote support. Note that the patch is unstable and may crash while syncing.
  • pointing device: wminput supports infrared and button controls. Using the MotionPlus, one can have infrared-behaviour without actual infrared LEDs. The patch is available in the mplus-pointer branch on github
  • Audio output with MPD interface (low quality)
  • interactive blinkenlights using the LEDs

Ideas[edit | edit source]

  • Stepmania via Balance Board? (if it is precise enough)
  • Minecraft: Movement via Balance Board, wiimote as pickaxe
  • Use Wiimote as lightsaber (already possible for smartphones, but... whatever :p )

See also[edit | edit source]

Videos[edit | edit source]