Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

MultiTouch Maison... avec une simple web cam !

Quel Geek n'a pas rêvé de piloter leur ordinateur avec un périphérique multitouch genre MS Surface ou ceux de Jef Han?

Matériel :

Alors ici, pas de matériel onéreux juste quelques éléments que vous pourrez p-e même trouver dans votre garage :)

  • une caisse en carton
  • une feuille de papier plus grande que la caisse
  • une plaque d'un matériau transparent (genre verre, plexi, ou même boite de cd ... ca a marché pr mes tests :p )
  • un ordi (évidemment...)
  • une webcam (de préférence reconnue sous linux ^^)
  • une vieille disquette ou du film photo développé

et accessoirement :

  • des tournevis d'horloger
  • du papier collant

de l'ordre de 20-30€ pour le tout maximum.

Bon commençons....

Préparation de la webcam :

Cette opération est facultative mais permettra d'accentuer les résultats de la caméra. Elle a comme inconvénient de risquer de rendre votre webcam inutilisable pour un autre usage.

img_1309.jpg

Dévissons les quelques vis de la webcam afin d'ouvrir le capot. Nous pouvons remarquer des circuits électriques et une sorte d'objectif qui contient la lentille.

img_1306.jpg

Dans certaines webcam, "l'objectif" est dévissable et dans d'autres, il vous faudra l'attaquer à la pince (heureusement chez moi c'était dévissable).

A l'intérieur de "l'objectif" se trouve un petit carré transparent - rougeâtre ... c'est ça que vous devez enlever!

C'est un filtre pour les infra-rouge.

img_1307.jpg

Remontez ensuite votre webcam. Maintenant votre webcam est plus sensible aux infra-rouges!

Pour tester, regardez votre télécommande TV à travers les images de votre webcam et constatez que lorsque vous pressez un bouton, votre webcam capte de la "lumière".

Prenez ensuite la disquette et ouvrez-là. Récuperez le disque magnétique et découpez un morceau.

img_1312.jpg

Fixez celui-ci sur l'objectif de la webcam afin de filtrer une partie de la lumière.

img_1313.jpg

Montage de la caisse

Faites un trou dans votre caisse afin de faire passer le cordon usb de votre webcam. Fixer la webcam dans le fond de la caisse, objectif vers le haut et faites passer le cordon hors de la boite!

img_1311.jpg

Collez la feuille de papier sur la plaque transparente avec du papier collant et déposez l'assemblage sur la caisse (feuille vers le haut).

img_1314.jpg

img_1315.jpg

Le Principe est que lorsque vous allez toucher la feuille de papier, vos doigts vont engendrer de la chaleur et des ombres qui seront détectées par la webcam et interprétées comme des curseurs.

touchimg.jpg

 

L'installation logicielle sous linux :

Mise en Garde :

dialog-warning.png!! Attention !! Bien que follement passionnant (...hem ...) ce billet décrira quelques manipulations qui risquent de mettre à mal votre système. Si vous ne savez pas précisément ce que vous faites, veillez à ne pas prendre de risque inutile!! On vous aura prévenu!!

Intro :

Après le Hardware, la partie software, le plus difficile! Nous allons utiliser pour ça une librairie Opensource, j'ai nommé : "TouchLib".

Cette librairie bien que portée sous linux a principalement été développée pour windows. Nous, linuxiens, subirons donc quelques effets de bord de ce fait (moins de démos, impossible d'interfacer avec flash,...). Mais, n'oublions pas que si le projet vous plaît, vous êtes libre (oui oui) de contribuer à votre manière!

Voici d'ailleurs le lien vers le projet : http://code.google.com/p/touchlib/.

L'article ne passera pas en revue l'étape pendant laquelle vous installez votre webcam sur votre système préféré. Nous supposerons donc que celle-ci est parfaitement reconnue ;)

Compilation et installations :

Comme Indiqué dans le wiki du projet, installons la touchlib sur notre système grâce aux commandes magiques :

svn co http://touchlib.googlecode.com/svn/trunk/ multitouch cd multitouch cmake . make

pour les détails, regardez le wiki du projet.

il se peut que vous deviez aussi installer oscpack :

svn co https://www.smartelectronix.com:9000/repos/osc/trunk oscpack cd oscpack make sudo make install

ou

sudo checkinstall make install

Configuration :

Rendez vous dans le répertoire "src" de votre touchlib fraîchement compilée, ensuite, lancez la commande :

./configapp

Cette commande permettra de créer un fichier de configuration pour la touchlib. Plusieurs fenêtres seront ouvertes et vous demanderont des réglages afin d'ajuster au mieux les filtres pour rendre les points plus nets.... moins vous avez de bruits et de taches (autre que vos doigts) et moins vous avez l'effet des ombres de votre main avec la lumière, mieux ce sera!

Plusieurs filtres sont à votre disposition pour arriver à vos fin : mono, rectify, highpass, invert, smooth, brightnesscontrast, backgroundremove, resize et quelques autres plus ou moins utiles.

Chacun de ces filtres possèdent une ou plusieures options de configuration voyez pour ça la documentation officielle sur les filtres. Pour les utiliser, ajoutez juste les lignes correspondantes dans le fichier de configuration sous la balise "filtergraph" et dans l'ordre qui vous convient le mieux (l'ordre est donc important).

Par exemple :

<invert label="invert3" />

Lorsque vous lancez l'application de configuration et que vos manipulations sont fructueuses, appuyez sur "enter" pour enregistrer le fichier config.xml et passer à la seconde phase (pas indispensable...d'ailleurs elle marche pas terrible chez moi). Sinon, veillez à quitter avec ctrl+c dans la console afin de ne pas écraser votre essai de configuration.....

Après de long chipots, vous devriez avoir un résultat ressemblant à ça :

touch.png

Dans le cas contraire, vous pouvez reprendre mon fichier de configuration et l'adapter à vos souhaits (ou en chercher un autre sur le net) :

Sinon, Documentez-vous aussi sur la configuration de l'application sur le site du projet (bah oui, encore)

Lancement de la démo (enfin!)

Wééé, ça marche! Vous voici enfin à l'avant dernière étape de cet article.... Lançons la seule démo disponible pour notre plateforme à l'heure de l'écriture de ces lignes, grâce à la commande :

../demo/smoke/smoke config.xml

Nous passons donc notre fichier de configuration à celle-ci.

Touchez ensuite votre plaque et constatez les nuages de fumée suivant vos doigts et changeant de couleur.

smoke.png

Conclusion :

Malgré le peu d'application disponible de cette librairie, on voit clairement qu'il ne suffirait que peu d'effort pour fournir des petites démos sympas à la communauté. Alors je fais appel à tout le monde pour contribuer à sa manière au projet :

  • configuration plus user friendly
  • plus de démo
  • traduction de doc
  • plus de doc
  • des paquets pour ubuntu?
  • intégration avec les bureaux kde / gnome /...
  • et bien d'autres choses!

D'autres plateformes ont fait le choix de la "multitouchitude" ... alors pourquoi pas nous!

Billet repris dans son intégralité du blog d'eMerzh, apparu aujourd'hui sur le planet Ubuntu

Pour être informé des derniers articles, inscrivez vous :
A
<br /> <br /> Salut,<br /> <br /> <br /> je souhaiterai avoir un complément d'information sur la réalisation du "multitouch maison".Pour configurer le logiciel...<br /> <br /> <br /> y aurait-il un moyen de vous contacter?<br /> <br /> <br />  <br /> <br /> <br /> <br />
Répondre
M
<br /> <br /> Bonjour,<br /> <br /> <br /> Je dois avouer que je n'ai fait que relayer l'information, je n'ai ni internet, ni webcam sur mon PC perso ;)<br /> <br /> <br /> Par contre si vous avez un souci de configuration de logiciel, n'hésitez pas à me poser vos questions, si je peux vous aider...<br /> <br /> <br /> <br />