[Tutorial] Transform any surface into a touchscreen

Moderators: mdrjr, odroid

[Tutorial] Transform any surface into a touchscreen

Unread postby qkpham » Sat Apr 13, 2013 3:55 am

Image

This project is not entirely new, it was first experimented by John Chung Lee. The goal of it is to transform any non-touchscreens into multitouch screens by using the combination of a Wiimote and an IR pen. The Wiimote is communicating with the computer (ODroid in our case) via Bluetooth and it is used to track the IR LED located on the pen. We can use more than 1 pen in order to support multitouch. This is a cheap solution for people who want to get touch input. The cost is approximately 30$.

:arrow: Required materials :

- An ODroid running under Ubuntu Linaro
- A compatible Bluetooth USB key
- A Wiimote
- 1 IR pen (Vishay LED) i.e. : http://www.ebay.com/itm/Infrared-IR-LED-Pen-Wiimote-Interactive-Whiteboard-/280888523309?pt=LH_DefaultDomain_0&hash=item416642ba2d
- Any type of screen (LCD or Projection screen)

:arrow: Optional

- Wiimote battery + charging adapter i.e. : http://www.amazon.com/Wiimote-Wii-Rechargeable-Battery-3600Mah-Nintendo/dp/B0055OO3NG/ref=sr_1_2?ie=UTF8&qid=1365792033&sr=8-2&keywords=wiimote+battery
- Clamp tripod


:arrow: Steps

Before you begin, make sure your Bluetooth dongle is correctly installed on your system. OpenJDK or Oracle JDK should be installed on it as well.

You will need Wiimote Whiteboard in order to manage the touch input. This is a cross-platform java version :

Code: Select all
wget http://www.uweschmidt.org/files/WiimoteWhiteboard.zip
unzip WiimoteWhiteboard.zip
cd WiimoteWhiteboard
java -Xms1024M -Xmx1024M -jar WhiteBoard.jar


You will then have to pair & calibrate your Wiimote with the ODroid by touching the 4 dots on each corner :

Image

Make sure that your wiimote is correctly positioned at a certain angle so that the IR led is always visible.

[Developing...]
Last edited by qkpham on Wed Apr 17, 2013 7:56 am, edited 4 times in total.
ODroid U2 8GB eMMC + Sandisk Ultra 64GB SDXC UHS-1 - Ubuntu Linaro 12.11 // Motorola Lapdock Bionic setup
User avatar
qkpham
 
Posts: 49
Joined: Mon Feb 25, 2013 12:41 pm
languages_spoken: english

Re: [Tutorial] Transform any surface into a touchscreen

Unread postby venkatbo » Sat Apr 13, 2013 9:16 am

Neat idea...

Another variant of this can be, to use a regular multi-touch tablet itself as an input device... and you can easily modify it to be a multi-user geographically dispersed virtual meeting, where the U2 projects the image on to the wall/display area at each location. The U2 talks to the tablet (say a 7" one for ~the same price). You get to implement multi-touch easily...
venkatbo
 
Posts: 77
Joined: Mon Feb 25, 2013 3:10 pm
languages_spoken: english
ODROIDs: odroid-u3

Re: [Tutorial] Transform any surface into a touchscreen

Unread postby odroid » Sat Apr 13, 2013 9:00 pm

Great idea :o

Is it possible to implement dual-point touch with 2 x Wiimote controllers and 2 IRs?
If it is feasible, I want to port it to Android !!
I already have 2 WiiMotes :D

Keep sharing your development !
User avatar
odroid
Site Admin
 
Posts: 4301
Joined: Fri Feb 22, 2013 11:14 pm
Location: Seoul Korea
languages_spoken: english
ODROIDs: ODROID

Re: [Tutorial] Transform any surface into a touchscreen

Unread postby qkpham » Sat Apr 13, 2013 11:37 pm

Of course you can ! You can also make a multitouch glove for air gestures !

[youtube=http://www.youtube.com/watch?v=0awjPUkBXOU][/youtube]

The main advantage of this solution is of course the cost.
ODroid U2 8GB eMMC + Sandisk Ultra 64GB SDXC UHS-1 - Ubuntu Linaro 12.11 // Motorola Lapdock Bionic setup
User avatar
qkpham
 
Posts: 49
Joined: Mon Feb 25, 2013 12:41 pm
languages_spoken: english

Re: [Tutorial] Transform any surface into a touchscreen

Unread postby odroid » Sun Apr 14, 2013 10:50 pm

Thank you for the link of video.

It's time to make a IR pencil.
But I don't know how to implement the click. Shake IR pen quickly?
User avatar
odroid
Site Admin
 
Posts: 4301
Joined: Fri Feb 22, 2013 11:14 pm
Location: Seoul Korea
languages_spoken: english
ODROIDs: ODROID

Re: [Tutorial] Transform any surface into a touchscreen

Unread postby qkpham » Sun Apr 14, 2013 11:45 pm

The IR pens have a button embedded on it to turn the led on & off. Just point your pen to the element you want to click then push that button.

Right click should be hold button.

http://johnnylee.net/projects/wii/
ODroid U2 8GB eMMC + Sandisk Ultra 64GB SDXC UHS-1 - Ubuntu Linaro 12.11 // Motorola Lapdock Bionic setup
User avatar
qkpham
 
Posts: 49
Joined: Mon Feb 25, 2013 12:41 pm
languages_spoken: english

Re: [Tutorial] Transform any surface into a touchscreen

Unread postby robroy » Wed Jun 26, 2013 6:51 am

I tried this last night on my copy of 13.04 with Kernel 3.8.13, but was unable to get the WiimoteWhiteboard application to run.

I have the Bluez stack installed, as verified in Synaptic.

I followed the Linux instructions from the WiimoteWhiteboard site (http://wiki.uweschmidt.org/WiimoteWhiteboard/FAQ), downloaded and copied the bluecove files into the /lib directory and re-created the WiimoteWhiteboard.jar as recommended.

However, I can't get WiimoteWhiteboard.jar to run, because it complains about not being able to find the bluecove library.

The FAQ addresses this problem, however the posted fix can't be performed because /usr/lib/libbluetooth.so doesn't exist:
Code: Select all
sudo ln -s /usr/lib/libbluetooth.so.3.5.0 /usr/lib/libbluetooth.so


Is this a problem with not including a bluetooth driver when I compiled the kernel? I thought the /usr/lib/libbluetooth.so would be installed as part of the Bluez stack.
Rob Roy, Editor-in-Chief of ODROID Magazine (submit an article) | Donate to support new ODROID community images and software
User avatar
robroy
 
Posts: 2285
Joined: Mon Feb 25, 2013 2:29 am
Location: San Francisco, California
languages_spoken: English
ODROIDs: 14 Odroids (Q2, X, X2 x 2, U2 x 3, U3 x 5, XU-E x 2) running Dream Machine, Quiet Giant, Kali, Particle, Whisper, Code Monkey, Smooth Groove and Pocket Rocket


Return to Ubuntu (All Linux'es)

Who is online

Users browsing this forum: Google [Bot] and 2 guests