Wiimote as Multi-Touch Display Controller
Tmack writes "While hard-hacks with the Wiimote are somewhat old news, this particular implementation is quite interesting. Using the infrared camera on the Wiimote, pens with LEDs instead of ink, and an LCD projector, Johnny Chung Lee of Carnegie Mellon University has created software to use them as a (relatively) cheap multi-touch display. Any surface onto which you can project becomes an interactive multi-touch display, as demonstrated in the video at the link. He has the software available for download, along with some other neat projects.
Lee has also documented another impressive Wiimote hack.
What's this...a way to pass time until the demand for the Wii consoles goes down enough that I don't have to crawl over people to get one? Sign me up!
Oh...the Wiimotes are out of stock too? *walking away, hanging head*
...you can even get a Wii for the holidays. :P
:) )
(yeah I know you could just get a Wiimote and not have to fight for your Wii-unit.
The Wii-mote is actually a sensor that is used as a remote. It doesn't just send a signal, but rather it 'sees' the location of the 'motion detection' bar. In the traditional usage, it has only 1 point that it detects - the bar. But if you have 'many of these bars' the Wiimote is used as a detector of multi-inputs.
Wonder if someone has made software to use Wiimotes for motion capture. =)
I am currently working on using a wii controller as primary pointing-device for my livingroom. The goal is to make it the only device needed to controll the projector + PC i use for DVD, TV, and Music playback in my home. I will post info when i've figured it all out.
Pure awesomenes
I presume you're making a joke on this part, and you've been accordingly modded +2 funny. But I thought I'd mention that by my own experiences, the wiimotes have been consistently well stocked, even with the wiis sold out constantly. Apparently it is nowhere near as difficult for nintendo to make the wiimotes as is it to make the wii itself...
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
or Nintendo predicted a higher demand for the Wiimotes
either
(A) the Wiis are used less for multiplayer than Nintendo expected
or
(B) the Wiimotes have a higher survival rate than Nintendo expected
or
(C) A+B
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
My own trival "hack". I'm using Darwiinremote to read xyz accelerometer data and Octave to make/graph ffts of Parkinson's tremors. It's remarkably sensitive!
Nice hack but that's pretty much how some existing surface computing devices work anyway. That a mass produced device is cheaper is nothing new.
When Johnny Lee posted his last hack, it seemed like a cool idea to track your fingers in the air, but not all that practical, as was discussed at length. This hack however could actually have very practical applications for discussion and presentation, without the $5000 price tag of many interactive white board products. I'd like to see if anyone ever attempts to implement this in a small business environment, such as a design studio.
I am Jack's complete lack of surprise.
(D) Nintendo predicted all the cool ways people were going to use wiimote to hax0r the plan3t, and manufactured extras to keep the market happy.
I bet the Wiimote is really an SNES controller in sheep's clothing.
"Engineering is doing for one dollar what anyone else would do for two." "Ten cents holding up the dollar."
(B) the Wiimotes have a higher survival rate than Nintendo expected
Since this could imply that perhaps Nintendo expected more people to (inadvertently) send their wiimotes crashing through their TVs or sailing across the room...
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
I'm so going to have to try this. The software isn't complex and with some work I'll finally have a giant digital canvas with the infrared pen acting as pen/airbrush.
I've got to believe that using this with photoshop is the best use...
... you see how big/close they are as well, so it's not just position.
The only problem, when you use this with a projector-based system, you're always casting shadows. It would be better as the presenter if you had a tablet PC replicating the screen display and you multi-touched on the tablet. Touch-sensitive screens are always ridiculously expensive so this might be a good way to keep it cheaper.
I'm still waiting for the large-format flexy-screens that are as cheap as rolled paper. I love my LCD screens but they're just too damn expensive and fragile right now. I want 100" wall displays, 200" wall displays, and piles of smoking machines trying to drive them!
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
inadvertantly, or intentionally.
I have to admit, I'm quite annoyed with the detection on mine. I keep wanting to bash the thing against my coffee table because it won't detect that it is pointing at the screen.
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
You suck at trolling. There is no distended anus in that website.
You forget about D and the release of Nintendo's plan to push
Unfortunately, I cannot relate to this, as I have not been able to buy a wii for myself thus far. Your comment does remind me of my days with the good ol' NES, however. I know I intentionally swung those controllers around by their cords and bashed them on the floor for not working correctly.
I know there were many times where poor Ryu Hayabusa fell into one of many bottomless pits because the timing just wasn't right for the A button on those controllers. Even the "slow motion" feature on the "NES Advantage" couldn't save him...
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
The code to connect the Wiimote to your PC was already written by some other guy (you can find out who if you follow the links on the first guys website). The Wiimote was already capable of detecting IR light. The only hardware that he "hacked" was to make a pen light. Which is simply a power source, a current limiting resistor, a switch, and an IR LED. I haven't seen the white board software. Is there a video on the blog? There is an error loading the page for me. But I am guessing it turns the output of the Wiimote driver into a mouse. I think the usefulness of multi-touch displays is limited. Try writting with two pens (one in each hand) at the same time and tell me if you are writting faster and more accurately than if you only have one pen. Or try the old, rub your stomach while patting your head. It seems to me humans are much more efficient at moving one hand at a time.
I suspect that the original poster may be in a different country to yourself.
I live in the UK and have bought both a Wii and a Wiimote in the last week. The Wii was hard to get hold of, but nowhere near as hard to get hold of as the Wiimote. Eventually I found one in stock in a store 150 miles away. They only had one in stock. During that time, I've seen three online stores with Wiis in stock, totalling about 2,000 units.
parent a troll link to to that minicity
semi OT, but...
A few notes if you're having trouble:
First, make sure your IR sources don't confuse the wiimote. Example: Opening my drapes on the window behind the TV on a warm, sunny day, made the wiimote useless.
Second, set the proper height for the "sensor" bar in the Wii console itself. It does make a difference, especially if you have a large TV
Third, make sure your batteries are properly charged. Don't wait for the warning to go to red. When it gets to 1 bar, put the batteries in the recharger.
The "IR Pollution" is the biggest factor affecting the performance of your wiimote, in addition to distance. If you're standing 20ft away, you may wish to get a separate wireless IR emitter ($6 on amazon)that you can mount somewhere closer in your room.
Hope this helps
I think it gets interesting to be able to have multiple people writing at once. Win, lose, or draw?
It also might be interesting to use for zooming purposes. You can see the big picture as well as a box showing a portion of the big picture zoomed in to work on details...but moving that portion to where you want can be a pain in a lot of programs. While I couldn't write with two pens I think I could accurately move my one hand to the general area that I want to work on and hold it there or slide it occasionally while my other hand did the drawing. This could allow me to keep my drawing hand steady and in place as I drew beyond the field of the zoomed in display.
Check that there are no bright IR light sources nearby. Sunlight and Christmas lights are two common ones that confuse the Wii Remote. Also make sure that your Sensor Bar is far enough forward that it isn't blocked at certain angles.
An easy way to figure things out is to go into the Wii Remote settings screen. There's a black and white image there that effectively shows you exactly what the Wii Remote "sees". You should see a few dots that do not flicker or go away as you move the remote around. If the dots disappear at any point during your tests, you may need to adjust your sensor bar.
If the lights appear to be working okay, but the remote is still confused, try turning down the sensitivity of the remote. That will encourage the remote to ignore light sources other than the sensor bar.
Javascript + Nintendo DSi = DSiCade
Of course it's not precise, but still it does work if you want to track just one IR source. You need one that sends a constant amount if IR in all direction (lighter will work). It worked pretty well for me in the 30cm-90cm rangre..
But using just x/y is just fine, and a lot more precise..
That's useful, thanks.
Actually, my problem is how close I have to be. They should make a smaller "nearsighted" bar.
Since I got my replacement contact lenses (and can focus at larger distances), it's better, though still not perfect. They need to make a sensor-bar mini, that's half the width, designed for closer use.
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
You've probably already tried this, but if not, try going into your Wii's settings and adjusting the Wiimote's sensitivity.
You can get other kinds of data, it's just not that usefull as the x/y coordinates.
Won't work for a long while, AFAIK photoshop doesn't have multitouch support.
You can have three paintings on the wall, a phone, a radio and a TV, which all have different IR patterns. Then when you point you Wiimote on the phone painting, the Wii mote will see the pattern and tell your computer what you are pointing at. The computer will then activate the Twinkle (sip) on your computer and you can interface with it.. :-)
Using the motion sensors to answer calls might be a bit awkward (some minutes into the clip).
Or perhaps a sensor mini-bar, so those tired sensors can kick back and have a drink.
I played a gig on sunday night, electronic peices with software synths. The venue manger moaned that my performance wasn't visual enough. This wiimote tracker could be better than Jarres laser harp!
Ah, I see how that could be a problem. The minimum distance is really about 4-5 feet from the screen. Even then, you pretty much need to be in a chair to play effectively.
Possibly the best advice I can give you is this: Get a bigger TV.
Javascript + Nintendo DSi = DSiCade
this guy forgot to mention a couple things about this hack:
* it can not distinguish between the different pointers
* wiimote can only track up to 4 sources
* nothing can get inbetween the line of sight of a pointer and the wiimote
if you watch the video carefully the author carefully does not cross his arms, this is because if he does he will line of sight (LOS in wow speak) the other pointer.
a fix to this could be to put the projector below a table and project upwards (inverted) on a glass surface so there is no change of LOSing any of the pointers.
If you have two wiimotes, one located 45 degrees to your left, one 45 degrees to your right, wouldn't the appropriate math be able to locate the position of your pen in 3 dimensions?
Normally I just nod and appreciate these hacking projects from a distance, but I think I'm going to jump in and do this for myself. Wish me luck, everybody.
The bar itself is nothing but two IR LEDs, so it shouldn't be difficult to build or modify an existing bar to be any length you wish. I've even seen someone who managed to get the Wii to work with two candles placed on top of the TV :)
My friend at work has bought 5 Wii at Walmart (not all at once of course). You simply need to know when the delivery takes place and hang out at the store until they bring them out. Actually, he got six. He got one for me and then GAVE IT BACK when he couldn't contact me on my cell to see if I wanted it! No problem; he just got another one for me the following week. This morning he picked one up for our boss to give to his son. Now that's job security!
Sorry, but gray text on gray background is making my eyes bleed.
People always joke about this, and I see that it doesn't. The c# gave me a little hope thinking maybe it could run with mono but it uses direct x. I'm wondering if there are any wii mote hacks for linux.
I can't believe I'm the only person who sees the infinite applications of this!
If this code were ported to Linux (which it will be soon) and you were using MPX, you could have a multi input computer!
The thing about this is that now there is ONLY software standing between me and this!
I made something similar in using python and a webcam. My hack was pretty simple:
1) IR webcam
2) IR-pen, similar to this guy's
3) software in python to track the IR light
4) demo-apps in pygame (tracking, swinging, 2 player pong)
It worked pretty well to be honest. I also atached some LED's to a wireless mouse and controlled the mouse from distance (similar to but not as good as the wii-mote).I tried to add multiple inputs using one cam by using color video input and color LED's instead of IR LED's, but then school started and I had to stop my project (lack of time).
It's a fun but useless project: the wiimote is so cheap that there is no need for a homebrewn version like this. It also suffered from the same things the Wii did, mainly IR pollution. I stil have the source code lying around but I don't know what to do with it.
"The majority is always sane, Louis." -- Nessus
http://slashdot.jp
47" is already particularly absurd for my living room... And about the top of my budget
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
47" is definitely a good size. Exactly how close are you to the TV? If you used your Wii Remote at the same distance I do during development (I have a 15" LCD Monitor), you're going to have a fully-immersive experience! :-P
If your TV is big enough and you're standing at least 4 feet away, then its probably your sensor bar. Either there is too back background IR light, or the bar is becoming invisible at certain angles. If it's the latter, you can try one of two things:
1. Move the sensor bar closer to the edge of the television. Mine has a lip protruding slightly over the edge of my monitor. (If you're not already aware, there are sticky strips on the bottom of the sensor bar! Just peel back the edges of the "feet".)
2. Mount the sensor bar underneath the television. This will give the Wii Remote a different angle of view. Just remember to recalibrate in the Wii Remote settings screen.
Good luck!
Javascript + Nintendo DSi = DSiCade
The problem with being too close is not that the bar is too big, but rather that the field of view of the camera in the Wiimote is too small.
Imagine a cone growing out from the front of the Wiimote. The further you are away from the sensor, the more likely that the sensor is seen within this cone. The closer you get, the more likely the sensor is outside of the cone.
For most pointing applications, the Wiimote only needs to see one end of the bar or another. Some applications might use the sightings of the two ends to calculate how far away you are from the TV, or what the rotation of the Wiimote is with respect to the bar, but I'd imagine these are rare.
Perhaps what you need is "glasses" for the Wiimote to increase the field of view of its camera.
1) old news...i finished building mine a week ago 2) i hate 4 point orientation, i need to tear apart his source so i can make it read 9 points as opposed to 4.
So be careful how you set up your Wii sensor bar with respect to any TiVos that control external tuners with IR signals.
Before the Wii, another source of this problem was wireless IR repeaters that would turn any radio noise they receive into IR signals. Use wired-only solutions for media closets containing TiVos utilizing IR control of external tuners, or faraday-cage your home and do without cell phones.
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
D) people are hoarding Wii base systems to ebay them and not play them. Nintendo is making balanced shipments based on the titles they know are selling, say, 2 extra wiimotes per system. Extras are on the shelf because Wiis are not being bought by players. Note in the early days, separate Wiimotes went about as fast as Wiis as most people bought a Wii then went back a few days later for the extra remotes. I'd doubt Nintendo is making MORE than 4:1 extra wiimotes.
Oh man I used to throw my 64 controllers in hissy fits of rage. Whoever the fuck had to play as Oddjob every god damn time was nothing short of a cheater! (Yes, the pun was intended!)
I bought one of those candy fan pens from blockbuster last night and converted it to an IR pen by replacing the motor with an IR led. Cost: $3 pen plus $1.50 LED. Works great! I put up instructions here: http://jordanbalagot.com/blog/2007/12/19/converted-diy-ir-pen-from-candy-toy/
No, they just didn't expect the Wiimotes to survive.
They've made a secret deal with Sony. Sony doesn't compete with them in the console business, Nintendo creates an artificial demand for new televisions. Win-win.
If you had multiple wii-motes they could resolve a higher resolution by doing some averaging in the software. Also you would not have to worry as much about blocking the wii-mote.