Académique Documents
Professionnel Documents
Culture Documents
ESTIA 2007
Projet TactiMod
Tout d'abord merci à Nadine Couture pour premièrement nous avoir permis de continuer le
projet TactiMod en nous prenant comme stagiaire au LIPSI, ainsi que pour ses conseils et son
attention tout au long de ces trois mois de stage. Merci ensuite à Olivier Arrijuria pour avoir pris
sur son temps pour nous assister dans la conception de la partie électronique et grâce a qui ce
stage a été techniquement enrichissant, et à Octavian Curea pour nous avoir accueilli dans son
atelier et nous avoir aidé dans la réalisation des circuits électriques. Je tiens également à
remercier Olivier Zéphir pour ses conseils sur l'ergonomie et ces idées sur les applications du
projet. Merci à Julien Lantiat et David Estrailler également stagiaire au LIPSI qui nous on aidé à
réaliser le circuit imprimé. Enfin ce stage à été réalisé en parallèle avec le projet GyroMod
effectué par Frédéric Saout, avec qui j’ai collaboré bénéfiquement tout au long de ces trois mois
de stage.
p2/72
2 Sommaire
1 Remerciements....................................................................................................................................... ............2
2 Sommaire................................................................................................................................... .........................3
3 Présentation du Projet................................................................................................................................ .....5
3.1 Présentation du LIPSI..................................................................................................... ........................5
3.2 Nadine Couture................................................................................................................................... .......5
3.3 Le projet TactiMod'.............................................................................................................................. ...6
3.3.1 Contexte........................................................................................................................................ .....6
3.3.2 Projet 2° année ESTIA..................................................................................................... .............8
3.3.3 Le stage...................................................................................................................... .......................9
4 Etude du Projet............................................................................................................................... ..................9
4.1 Rappel du sujet de l’étude....................................................................................................... ................9
4.2 Etude du besoin...................................................................................................................... .................10
4.3 Analyse du problème..................................................................................................... .........................10
4.3.1 Schéma de fonctionnement........................................................................................................ ..10
4.3.2 La géolocalisation................................................................................................... ........................11
4.3.3 Les différentes parties ........................................................................................... ...................13
4.4 Etat de l’art.................................................................................................................................... ..........17
5 Conception de la solution.............................................................................................................. .................19
5.1 Electronique.............................................................................................................................. ................19
5.1.1 Micro Contrôleur.................................................................................................................. ...........19
5.1.2 Circuit électrique.................................................................................................... .......................21
5.2 Logiciels.................................................................................................................................. ..................22
5.2.1 Liés au ToothPIC......................................................................................................................... ...22
5.2.2 Lié au TM.................................................................................................................... ...................24
5.3 Le boîtier......................................................................................................................................... .........24
5.3.1 Fonctions .................................................................................................................. ......................24
5.3.2 Solutions ................................................................................................................... .....................25
5.3.3 Elément à prendre en compte :..................................................................................................25
5.3.4 L’enroulage.......................................................................................................................... ............26
6 Réalisation et résultats.......................................................................................................................... .......26
6.1 Electronique.............................................................................................................................................. 26
6.2 Logiciel..................................................................................................................................... .................30
6.2.1 Module 1 : recevoir les commandes d'un autre terminal......................................................30
6.2.2 Module 2 : activateur de la modalité tactile...........................................................................31
6.3 Boîtier................................................................................................................................... ....................34
6.4 Assemblage final................................................................................................................................. ....35
6.5 Le site Internet.............................................................................................................................. ........36
6.6 Manuels d'utilisateur....................................................................................................................... ......37
7 Gestion du Projet...................................................................................................................................... ......37
7.1 Planning........................................................................................................................................ ..............38
7.2 Aspect financier.................................................................................................................... .................40
7.3 Organisation................................................................................................................... .........................40
8 Conclusion............................................................................................................................................... ...........41
8.1 Rappel des objectifs, résultat....................................................................................................... .......41
8.2 Le cadre................................................................................................................................................. ....41
8.3 Le Prototypage..................................................................................................................................... ....41
8.4 Perspectives........................................................................................................................... ..................41
p3/72
9 Bibliographie.................................................................................................................................. ..................42
10 Annexes................................................................................................................................................... ........42
1 Introduction.................................................................................................................................... .................43
2 Déduire la position de l’antenne réceptrice.............................................................................................43
2.1 le WPS................................................................................................................................... ....................43
2.2 RSS : received signal strength...........................................................................................................43
2.3 TOA/TDOA............................................................................................................................................ ..44
3 Les applications................................................................................................................................ ...............44
3.1 Bibliothèque ............................................................................................................................................ .44
3.2 Hôpital.................................................................................................................................................. .....44
3.3 Sécurité........................................................................................................................................ ............44
4 Différentes sociétés :......................................................................................................................... ..........44
5 Conclusion..................................................................................................................................... ....................45
1 Protocole client/serveur............................................................................................................................ ....46
2 Protocole du niveau électronique................................................................................................................46
1 La norme USB............................................................................................................................................. ......47
1.1 Les mots clés...................................................................................................................... ......................47
1.2 Une transaction USB....................................................................................................................... .......48
1.3 Le Firmware........................................................................................................................................ ......48
1 Utiliser TactiMod'....................................................................................................................... ...................49
1.1 Utilisation normale............................................................................................................. .....................49
1.2 Programmation, communication avec le TactiMod'......................................................................49
2 Utilisation du ToothPIC depuis un ordinateur muni d’une clé Bluetooth PEABIRD........................50
2.1 Installation............................................................................................................................. ..................50
2.2 Implanter un programme dans le microcontrôleur à partir d’un " service pack "...................50
2.3 Création d’un programme................................................................................................................. ......51
2.4 Lancer un programme serveur............................................................................................................51
2.5 Mémoire corrompue........................................................................................................................ ........51
3 Description............................................................................................................................................ ...........55
4 Plans................................................................................................................................................... ................56
4.1 Boitier bas.......................................................................................................................... ......................56
4.2 Boitier haut...................................................................................................................................... ........58
4.3 Poulie.......................................................................................................................................................... 59
4.4 Axe poulie.......................................................................................................................................... .......59
4.5 Bloc Vibrant boitier Bas gauche......................................................................................................... .60
4.6 Rondelle bloquante x2..................................................................................................... ......................60
4.7 Bloc Vibrant boitier haut x2................................................................................................................61
5 Les contraintes............................................................................................................................... .................61
5.1 Le bloc principal................................................................................................................................... ....62
5.2 Les blocs vibrant........................................................................................................... .........................62
5.3 La ceinture.............................................................................................................................. .................63
5.4 Le ressort............................................................................................................................................. ....63
5.5 Matériaux isolant.................................................................................................................................... 63
10.1 Annexe1 : Localisation par Wi-Fi.............................................................................................. ...40
10.2 Annexe2 : Protocoles internes................................................................................................. ....43
10.3 Annexe3 : La norme USB..............................................................................................................44
10.4 Annexe4 : Manuel d'utilisation....................................................................................................46
10.5 Annexe5 : lettre APR2..................................................................................................................49
10.6 Annexe6 : Boîtier................................................................................................................. ...........50
10.6 Annexe7 : Code html du site Internet.......................................................................................60
p4/72
10.6 Annexe8 : Programme de test.....................................................................................................63
10.6 Annexe9 : Article BlueEyes................................................................................................... .......68
3 Présentation du Projet
Penchons nous de plus près sur l'axe qui nous concerne ici, celui dans le cadre duquel s'est
effectué le stage : l'axe ingénierie de la conception. Il comprend plusieurs domaines :
• Transformation des organisations - conduite de projets en coopération.
Application : PDM et PLM (Product Data Management et Product Life Cycle Management) ;
conception collaborative ; support aux clients.
• Ingénierie numérique. Méthodes sans maillage.
Application : calcul de structure avion, calcul de réseaux énergie.
• Conception interactive. Conception intégrée inversée
Application : réduction des cycles de conception de produits, automatisation des choix techniques
en bureau d’études (donc : performance et sécurisation du bureau d’études)
• Interacteurs tangibles tridimensionnels - Visualisation et rendu réaliste
Applications : coupler le réel et le numérique (CAO, environnement de réalité virtuelle) pour les
concepteurs de produits mécaniques.
Application : simulateurs d'entraînement, maquettes industrielles de procédés, démonstrateurs
de grands projets.
N. Couture, JM Cieutat, P. Reuter, docteurs. A. Clay, G. Rivière doctorants. C. Paz, ingénieur
Coopération : Bordeaux 1, Inria, Université Joseph Fourier-Grenoble.
C’est précisément dans cette catégorie d’activité que se situe le projet TactiMod, bien qu’il ne
concerne pas les interacteurs tangible, mais plutôt les modalités d’interaction.
p5/72
Tangibles (TUI, Tangible User Interface). De manière générale, elle contribue à l’élaboration
d’outils d'interaction de type interface tangible. Nous nous plaçons donc dans le paradigme de
l’informatique ubiquitaire ou informatique ambiante : « Utiliser des systèmes informatiques sans
s’en apercevoir ! »
Citons notamment l’élaboration d’une interface tangible ESKUA [6] (acronyme d'Expérimentation
d'un Système Kinésique Utilisable pour l'Assemblage) qui ne remplace pas la souris et le clavier
mais les complète pour certaines activités du concepteur dans son usage des logiciels de CAO
(Conception Assistée par Ordinateur).
3.3.1 Contexte
Nous désirons créer un périphérique augmenté de retours tactiles utilisable par un piéton pour
aller d'un point A à un point B tout en restant concentrer sur une tout autre activité que celle de
"trouver son chemin". L'intérêt de pouvoir guider un piéton pour l'aider à trouver son chemin
alors qu'il consacre une attention minimale à cette tâche, donc sans utiliser de carte, a été
illustré en 2005 par le système onTrack de Warren et al. [1]. Il s'agit ici d'un système musical
qui aide les personnes à naviguer. Elles utilisent un terminal de type iPod et la musique qu'elles
écoutent tourne autour de leur tête pour qu'elles restent sur la bonne voie.
Un domaine d'application pour illustrer l'utilité et l'utilisabilité de TactiMod et de cette
technique d'interaction est la visite d'un grand musée où il n'est pas possible de "tout voir". Le
visiteur choisit donc un parcours d'intérêt à son entrée dans le musée. Pour illustrer cette
situation, pensons au musée du Louvre à Paris (France) où à celui de Guggenheim à Bilbao
(Espagne). L'activité principale du visiteur est de regarder les œuvres d'art tout en suivant son
parcours d'intérêt indiqué en temps utile par le terminal mobile (nous utiliserons TM).
L'interaction tactile est couramment utilisée en tant que flux d'entrée. En revanche, l'utilisation
de retour tactile en tant que flux de sortie, ce qui sera le cas de TactiMod, est encore peut
développée. Les travaux [2] de Lecolinet et al. de 2005 qui ont largement inspiré le travail
présenté ici proposent également des retours tactiles pour "toucher du doigt les données" et
ainsi augmenter la compréhension de l'utilisateur sur les informations qu'il est en tain de
consulter sans surcharger sa vision.
Notre objectif est de proposer un périphérique augmenté qui permette d'assister une personne
pour la guider sur un parcours préalablement défini qu'elle effectue en marchant. Ce piéton,
pourra aller d'un point A à un point B tout en restant concentrer sur une tout autre activité que
celle de "trouver son chemin".
Nous proposons d'expliciter l'intérêt d'un tel système sur un exemple qui s'y prête bien : les
parcours de visite au musée du Louvre. Nous allons prendre un parcours de visite particulier :
L'art d'être à table. Rituel et symbolique du repas (figure 1). Ce parcours de visite, décrit dans
[3], se fait en 9 étapes.
p6/72
Partez à la découverte du
repas et de sa représentation
à travers les collections du
Louvre, de l’Antiquité au
XVIIIe siècle. Bien que de
nature et d’époque
différentes, les œuvres
choisies ont en commun les
notions de convivialité et de
partage qui sont attachées au
repas, […]
L'itinéraire est indiqué au visiteur (muni par ailleurs d'une carte s'il le désire) de la façon
suivante :
Point de départDepuis la pyramide, prenez la direction Sully. Traversez le Louvre médiéval,
puis, face au Sphinx, montez l’escalier à gauche. Allez jusqu’à la salle 3 puis tournez à
droite dans la salle 4.
Etape 1.Revenez sur vos pas, passez à nouveau devant le Sphinx et montez l’escalier en face
de vous. Passez devant la Vénus de Milo et continuez tout droit. Après la salle 5, tournez
à gauche et rendez-vous à l’entrée des collections des Antiquités étrusques.
Etape 2.En sortant de la salle, montez la première volée de l’escalier à gauche. Traversez la
salle B et, à gauche, prenez l’ascenseur L. Au 1er étage, tournez à gauche dans la salle 6.
Etape 3.Retournez sur vos pas, continuez à droite jusqu’à la Victoire de Samothrace. Tournez
à gauche, traversez les salles 34 et 74 pour prendre l’ascenseur C à droite. Au 2e étage,
allez tout droit de la salle 65 à la salle 19, tournez à gauche et continuez jusqu’à la salle
5. Allez à droite jusqu’à la salle 10. Tournez à gauche dans la salle 7 et rejoignez la salle
14.
Etape 4.Retournez sur vos pas jusqu’à la salle 9.
Etape 5.Traversez les salles 7 à 11 et continuez tout droit. Dans la salle 16, tournez à gauche
et rejoignez la salle 29.
Etape 6.Descendez dans la salle 32, traversez la salle 33, tournez à droite et allez jusqu’à la
salle 40.
Etape 7.Regardez sur le mur de droite.
Etape 8.Revenez sur vos pas jusqu’à la salle 38 et regardez sur le mur de droite.
Etape 9.Quittez la salle sur la droite. Traversez les salles 43 à 49. Suivez ensuite les
indications de sortie qui vous mènent à l’ascenseur C de la salle 64.
Suivre un tel parcours n'est pas simple et influence négativement le plaisir que l'on peut avoir à
déambuler au cœur des œuvres d'art présentées. Imaginons maintenant que le visiteur en
arrivant dans le musée indique son parcours de visite. Puis, que le parcours de visite est initialisé
dans un TM. Et enfin que le visiteur n'a plus qu'à s'adonner au plaisir de regarder les œuvres
d'art, sachant qu'il sera alerté au moment d'un changement d'orientation (c'est-à-dire tourner à
droite ou à gauche). Ainsi, le système permet au visiteur de pouvoir rester concentrer sur sa
tache principale et minimise le besoin d'attention du visiteur sur le terminal. C'est ce système
que nous voulons réaliser.
Notons, par ailleurs, que le fait d'utiliser un TM a pour conséquence qu'un tel système est non
invasif, léger et peu encombrant. Ces caractéristiques sont fondamentales pour un usage grand
public. De même le système ne doit pas non plus être invasif, voir dérangeant, pour les autres
visiteurs.
p7/72
Enfin, le TM offre également la possibilité intéressante de pouvoir proposer une multi-modalité
en sortie en couplant le signal d'alerte à une interface graphique présentant la photographie de
l'œuvre à découvrir par exemple.
Réalisé à partir d'une voiture téléguidée, il est composé d'une télécommande et d'un TM factice,
ayant la possibilité de faire vibrer son côté droit ou son côté gauche. Grâce à ce système nous
avons pu faire des expérimentations.
Il est courant de considérer la simplicité et l'aspect intuitif de l'utilisation d'un système au
regard de la connaissance, de l'expérience et du niveau de concentration de l'utilisateur. Notre
cas d'application concernait toutes les personnes venant visiter un musée. Le niveau de
connaissance de TactiMod et le niveau d'expérience de l'utilisateur par rapport à lui doivent
donc être considérés comme nuls. On se doit de considérer comme cas général la première fois
où l'utilisateur se rend dans ce musée. Le niveau de concentration quant à lui doit également être
considéré proche de zéro car, et c'est l'objectif premier de TactiMod, l'utilisateur est
concentré sur sa tache principale qui est de regarder les œuvres d'art. En conclusion, TactiMod
doit être particulièrement simple et intuitif pour répondre au cahier des charges. Fortes de
cette contrainte de conception, nous n'avons pas expliqué aux sujets qui ont participé à
l'expérimentation, l'utilisation du TactiMod. Ils ont du découvrir comment l'utiliser. Ils ont du
imaginer les règles d'interprétation des retours tactiles. On remarquera cependant que dans un
usage en situation réelle, on donnera à l'utilisateur les codes d'interprétation. On évitera ainsi
les hésitations constatées au début de chaque passage. Il était cependant important pour nous
de faire les tests dans le pire des cas. C'est-à-dire le cas où le sujet ne connait pas les modalités
d'interaction avec TactiMod. Soit parce qu'on a oublié de lui donner. Soit parce qu'il n'a pas
compris. Soit parce qu'il n'a pas pris la peine d'écouter.
p8/72
Ces expérimentations nous ont permis de valider l'hypothèse suivante : "Il est possible de diriger
et d'orienter un utilisateur muni d'un périphérique possédant des retours tactiles de type
vibratoire pour le faire allé d'un point A à un point B".
Le nom "TactiMod" est un acronyme de Tactile Mobil Device. Ce nom que nous avons choisi pour
notre système, se veut d'ailleurs dans la logique de ceux présentés dans [2] : TactiBall, TactiPen
et TactiTab.
3.3.3 Le stage
Suite à la validation de l'hypothèse selon laquelle il était possible de diriger une personne grâce à
des retours tactiles, Nadine Couture a décidé de poursuivre le projet afin de pouvoir disposer
d'un périphérique fonctionnel et à l'aspect propre destiné à être présenté à des professionnels.
En effet la version 1 de TactiMod était seulement destinée à réaliser un magicien d'Oz. La
réalisation manquait de finition et était défectueuse au niveau de la localisation des vibrations.
TactiMod, dont la version 1 était un faux terminal mobile, prendra ici l'aspect d'un périphérique
afin de ne pas être intrusif sur un TM.
4 Etude du Projet
Système de géolocalisation :
GPS, Wifi, Bluetooth
Information sur
la position
Commande des
retours
Périphérique à
TM + logiciel retour tactile
Utilisateur mobile
Le stage consiste en la réalisation d'un périphérique ayant comme fonctionnalité de pouvoir être
contrôlé par un TM. En effet nous ne connaissons pas encore les applications ultérieures et donc
p9/72
le moyen de géolocalisation. Ceci seront étudiés pendant le stage. Nous portons un intérêt
particulier pour la localisation par Wifi qui fera l'objet d'un dossier : annexe 1.
p10/72
Programme serveur
WIFI
Sortie USB
Programme client
Micro Contrôleur
Boîtier :
Support/physique
Système d’attache
Interrupteur
Alimentation
Vibreurs
On peut également envisager un magicien d’Oz utilisant un PDA muni d’un périphérique à
gyroscope cf. projet Gyrophérique de Frédéric Saout. Le programme client se situera alors sur
un autre PDA ce qui ne devrait pas poser de problème grâce à la portabilité de java.
4.3.2 La géolocalisation
Satellite
Terminal
vibreur vibreur
mobile
Dans ce cas il n’y a qu’un programme à réaliser prenant en compte les informations GPS. Le
problème pour les applications envisagées est la précision. Ceci peut s’arranger avec le DGPS.
p11/72
4.3.2.2 Le DGPS
Satellite
Balise
rectification Terminal
(Calcul de l’erreur) vibreur vibreur
mobile
Le GPS différentiel. C’est une localisation par GPS. On calcule l’erreur grâce à une balise dont on
connaît la position. Il faudra chercher ou faire un programme pour la balise qui serait un autre
terminal mobile. Calcul de la position exacte, par moyenne de plusieurs mesures successives,
envoie des informations au TactiMod par WIFI par exemple.
Intérêt : le système peut difficilement être plus abouti.
4.3.2.5 Conclusion
On choisira un système « magicien d’Oz » en transmettant les informations à partir d’un terminal.
Un dossier sur la localisation par wifi sera également réaliser pour rendre compte des
possibilités offertes par cette technologie.
p12/72
4.3.3 Les différentes parties
Voici les différentes parties du projet telle qu'elles ont été identifiées au début du stage.
Certaines de ces étapes changerons de dénomination en cours de stage.
p13/72
4.3.3.1 Programme du PC
Programme client devant communiquer des informations au programme serveur. On prévoit sans
tenir compte des limitations électroniques pouvoir envoyer :
• L’information sur la direction (droite/gauche)
• L’intensité de la vibration
• La durée de la vibration
• Trois alertes différentes (séquence particulière ou droite/gauche simultanément)
Il faut donc définir un protocole interne de communication cf. annexe 2 : protocoles internes.
Pour la programmation on considère les deux terminaux comme faisant partie d’un même réseau :
on ne s’occupe pas des couches plus basses que TCP/IP donc le fait que les informations soient
transmises par Wifi n’influe pas sur le code.
p14/72
Nous avons également pensé étudier le fait de rajouter une modalité tactile qui se traduirait par
un changement de température. Ceci simplement au moyen d’une résistance.
Le problème est que le principal de fournisseur FTDI Chip ne fournit pas de driver pour Pocket
PC. Celui-ci sera donc à réaliser.
De plus il semble que l’API java ne comporte pas de package destiné à utiliser l’USB.
Un autre point délicat est le fait l’USB peut être actif ou passif sur un PDA la prise est passive
afin de la relier à un ordinateur (actif) or le fonctionnement que l’on souhaite en faire correspond
à un mode actif
Elle fait le lien entre la prise USB du terminal mobile et les interrupteurs du circuit des vibreurs,
ainsi qu’avec un potentiomètre qui commandera l’intensité. Cette carte sera composée d’un micro
contrôleur programmable. Une fonction de ce programme en C :
Prendre en entrée une durée et activer le bit voulu en conséquence.
Une autre fonction sera constituée de séquences correspondant aux alertes. Un point délicat se
situe dans la connectivité du contrôleur et de la sortie USB.
On s’est toutefois aperçu qu’il existait un module BlueTooth qui au moyen d’un soft fournit par le
constructeur pouvait contrôler un micro contrôleur PIC :
Société FlexiPanel : http://www.flexipanel.com/BluetoothModules.htm
p15/72
Les différentes parties ne s'en trouvent pas modifiée, on remplace la trame USB par une trame
Bluetooth. Le fait que ce micro contrôleur possède des programmes tout fait, téléchargeable et
implantable dans le micro contrôleur par bluetooth facilitera la conception du périphérique, en
effet le choix de cette solution a été fortement incité par le fait qu'on pouvait ignorer les
couches trop basses par rapport à nos compétences.
D’après le site internet cité on distingue au moins 5 types de récepteurs cutanés mécaniques. Ce
qui pourrait aboutir sur d’autres modalités de retour tactile, autre que la vibration :
• Les disques de Merkel (superficiels) et les corpuscules de Ruffini (profonds) sont des
récepteurs à adaptation lente, qui codent l'intensité de la stimulation (indentation
cutanée) par la fréquence de leurs potentiels d'action. Ils sont actifs dès le début de la
pression exercée sur le revêtement cutané et ne cessent de l'être qu'à la fin de celle-ci.
Ils codent donc l'intensité et la durée de la pression. Grâce à leur structure (ancrage
mécanique dans le derme), les corpuscules de Ruffini répondent également à des
étirements de la peau. Cette sensibilité à l'étirement est directionnelle, ce qui permet à
ces récepteurs d'informer le système nerveux central sur les forces et les directions
des cisaillements cutanés accompagnant un mouvement articulaire.
• Si l'on incline doucement les poils du dos de la main, sans toucher à la peau elle-même, et
que l'on maintient les poils dans cette nouvelle position, la sensation n'apparaît que
durant le mouvement d'inclinaison des poils. Les récepteurs des follicules pileux sont
p16/72
donc à adaptation relativement rapide et la fréquence des potentiels d'action émis est
proportionnelle à la vitesse d'inclinaison des poils. Les corpuscules de Meissner, localisés
dans la peau glabre, détectent les variations de contact léger des objets avec la peau et
sont sensibles aux vibrations pour des fréquences comprises entre 5 et 200 Hz.
L'adaptation rapide de ces récepteurs, qui en fait des détecteurs de vitesse, explique
que nous ne sentions plus nos vêtements quelques secondes après les avoir mis.
• Nous avons également pensé à la température comme moyen d’interaction.
Le but est de déterminer le principe de solution et de réaliser les premières esquisses. Il semble
évident que la réalisation d’un périphérique indépendant et simplement relié par un fil au PDA
sera plus facile en raison de l’encombrement. Les différents éléments seront :
• Le boîtier, support de la carte micro Contrôleur, prévoir une sortie USB et une sortie
série pour programmer le micro contrôleur.
• Un support des vibreurs permettant l’isolation des vibrations
• Des surfaces permettant l’application d’un matériau à picots
• Un support démontable pour l’alimentation.
Ces éléments seront conçus en gardant toujours en mémoire les contraintes telles que "tenir
dans la main", "permettre de différentier les vibration", "ne pas dégrader le PDA.. "
On peut toutefois envisager de prévoir un système d’attache au PDA afin de garder la possibilité
d’interaction graphique.
• L’AFIL est un dispositif présent sur l’automobile Citroën C4. C’est une alerte de
franchissement involontaire de ligne blanche, jaune ou discontinue. Ce système détecte le
franchissement des lignes sur le sol si le clignotant n’est pas activé. En cas d’oubli ou
d’erreur, le conducteur est averti par le déclenchement d’un vibreur situé dans l’assise du
siège, du côté correspondant au franchissement de la ligne.
p17/72
fig 12Schéma de fonctionnement de l’AFIL
fig 13Sénarii des applications initiales. (a) Sélection dans une liste, (b) Déroulement, (c)
Signalement de direction, (d) Retour d'information
www.cim.mcgill.ca/~vleves/homepage/publications/JL-JP-SL-KM-VL-VH-CHI06.pdf
p18/72
5 Conception de la solution
5.1 Electronique
fig 14ToothPIC
Il s'agit D'une carte micro contrôleur muni d'un micro contrôleur PIC et d'une antenne
Bluetooth.
p19/72
fig 15Pins et dimensions
p20/72
Les Pins CCP peuvent être des sorties PWM (pulse with modulation) ce qui permettra de réaliser
un hacheur série afin de commander les moteurs.
Le circuit imprimé aura en entrée deux sorties du ToothPIC et il devra activer ou désactiver les
vibreurs grâce à une alimentation de 9v (accumulateur PP3 : piles carrées).
Nous utiliserons les sorties CCP2 et 3 que l'on peut régler sur PWM output (Pulse with
modulation) Afin de pouvoir réaliser un hacheur série. Nous pourrons ainsi commander la
fréquence des vibrations en réglant le rapport cyclique de la sortie.
Les moteurs doivent être alimentés avec une tension 1,3V, ils consomment alors 100mA. Il faut
mettre une résistance entre la pile et les moteurs vibreurs :
fig 17
R U
9v
100mA
1.3V
5.1.2.1 L'interrupteur :
Nous utiliserons des transistors MOS car ils sont commandés en tension et qu'il n'y a pas de
courant sur une sortie de microcontrôleur.
On distingue deux types de transistor MOS : Le MOS canal N et le MOS canal P
p21/72
D : Drain
G : Grille
S : Source
5.2 Logiciels
p22/72
Plusieurs programmes destinés à faire fonctionner le toothPIC sont disponible sur le site
internet de la société. Voici une description de ceux-ci :
• FlexiPanel Designer : Possède une interface qui permet de facilement créer une interface
graphique à base de boutons et de monitoring pour contrôleur ToothPIC. Il permet
également de programmer celui-ci par BlueTooth.
• Hello World Bitstream firmware solution : C’est un simple tutoriel pour montrer comment
utiliser ToothPIC il échange simplement des caractères.
• MPLAB C’est un logiciel fournit gratuitement par Microchip. C’est un environnement de
développement pour programmer des micro contrôleurs.
• ToothPIC WFT Ce logiciel permet d’implanter des fichiers .hex créés avec MPLAB de
microchip dans notre micro contrôleur. Il permet aussi de créer des services pack : des
fichiers exécutable qui se connecte au périphérique et affiche l’interface graphique.
• Hello World FlexiPanel Firmware Solution : C’est un exemple d’application réalisable avec
Designer le programme comporte un interface qui se charge dans le ToothPIC
• FlexiPanel Client : Permet de se connecter à l’élément contrôlé. Une fois la communication
établie avec le serveur (périphérique) l’interface de commande s’affiche. Cette interface
est réalisée avec FlexiPanel Designer et est contenue dans un fichier .h.
Le module ToothPIC est un produit aux multiples applications qui pourra être utilisé plus tard
pour de tout autres projets. C'est pourquoi nous avons réalisé une synthèse des différentes
étapes et possibilités pour se servir du ToothPIC : annexe 4, chapitre2.
La solution DARC II semblait la plus intéressante et la plus facile à mettre en œuvre. Toutefois
il y avait des problèmes d'affichages des interfaces. A près quelques mail et le renvoie d'un
ToothPIC à Richard Hoptroff, le responsable du service après vente. Nous avons identifié le
problème : c'est le driver de la clé bluetooth qui était défectueux. Nous avons alors emprunté le
PC portable de Jean-Marc Cieutat muni d'une bluetooth, il s'avérait qu'il n'y avait plus de
problème d'affichage. Un second défaut de cette solution est qu'elle n'est pas flexible. En effet
nous allons créer grâce au FlexiPanel Designer et au FlexiPanel WFP un fichier exécutable qui ne
sera plus modifiable, ceci pose un problème car il est impossible d'intégrer la création d'une
socket TCP/IP destinée à recevoir les informations de commande. C'est pourquoi nous
choisissons la solution DARC I, de plus celle-ci ne présente pas defaut de fonctionnement. Nous
pouvons ainsi configurer et commander ToothPIC en écrivant et en lisant des caractères dans le
p23/72
port COM. Ce qui requiert beaucoup moins de connaissance en programmation que de
programmer le micro contrôleur en lui-même.
5.2.2 Lié au TM
Ce programme est destiné à permettre un magicien d’Oz sur le TactiMod’ à partir d’un PC
portable. Il sera réalisé en java afin d'avoir une bonne portabilité. Le programme sur PDA sera
considéré comme serveur : il se mettra en attente de commande sur un port. Il devra pouvoir
être recevoir les informations d'un autre terminal. D'autres modules devront pouvoir se greffer
afin d'activer les différentes modalités.
5.3 Le boîtier
5.3.1 Fonctions
Voici idéalement les fonctions que devra réaliser le boîtier:
• FS1 : Pouvoir se fixer sur le PDA en permettant à l’utilisateur de garder la modalité
visuelle.
• FS2 : Pouvoir être utilisable sans accaparer les mains.
• FS3 : Permettre de différentier les deux vibrations.
• FS4 : permettre à l’utilisateur allumer le ToothPIC
p24/72
• FS5 : permettre à l’utilisateur de voir la LED ToothPIC
• FC1 : Pouvoir être pris dans la main.
• FC2 : Protéger les composants électriques et électroniques.
• FC3 : Avoir un aspect présentable, fini.
5.3.2 Solutions
FS1 : Pouvoir se fixer sur le PDA en permettant à l’utilisateur de garder la modalité visuelle.
Un système de pince (ressort)
Grâce à la déformation plastique d’un crochet
Faire une attache amovible, puis un second système qui permettra de fixer le TactiMod au pda.
Nous réaliserons dans un premier temps le prototype en prenant compte le fait que les blocs
vibrants doivent pouvoir se séparer du bloc et nous aviserons ensuite sur le meilleur moyen de
transmettre les vibrations.
Nous démarcherons en priorité la société APR2 qui s’était révélée très efficace au cours du
projet ESKUA.
p25/72
5.3.4 L’enroulage
L’enroulage des fils devra se faire au moyen d’une bobine et d’un ressort de torsion. Nous
comptons 50cm de fils de chaque coté, en prenant une bobine de plus grand diamètre possible :
4,5cm, nous devront faire 3 tours et demi soit ce qui semble raisonnable. Pour se procurer un tel
ressort nous pouvons soit démarcher une entreprise spécialisée soit le récupérer sur un produit
existant : boîtier d’écouteurs. Il faudra également prévoir de bloquer l’extrémité du fil qui part
vers la plaque.
Le système d'enroulement des rallonge USB parait convenir. Toutefois notre système devra
comprendre un contact tournant. Il est en effet impossible de déroulé le fil en gardant un coté
fixe. La difficulté est qu'il y a deux fois deux fils (deux par vibreurs) ce qui fait donc quatre
contacts.
6 Réalisation et résultats
6.1 Electronique
J'ai d'abord réalisé le schéma sous DXP en prenant soin d'utiliser des résistances standard:
Nous avons refais le choix des moteurs vibreurs Verdier, les même que pour le TactiMod Version
1. Ces moteurs alimentés avec 1,3 Volt consomment 100mA. A partir d'un accumulateur 9v et des
moteurs vibreurs Verdier et afin de dimensionner les composants, il nous a fallu faire un bilan
énergétique. Ainsi nous aurons au maximum 0,26Watt : 0,13 Watt par Moteur. Durant la
programmation du ToothPIC celui consomme 250mA ce qui fait 1,25Watt mais ceci n'influe pas
sur le reste de circuit.
Nous avons choisi le transistor ZVNL120A, un transistor MOS pour petits signaux dont les
caractéristiques convenaient. L’ESTIA possédait déjà les résistances et les diodes adéquates.
Nous avons donc commandé :
• Une pochette de 5 transistors
• Un accumulateur
• Un connecteur de piles
• Un interrupteur
p26/72
• Une plaque photosensible pour graver le circuit imprimé
Grâce à une plaquette test nous avons pu tester le fonctionnement du circuit ci dessus :
Après avoir validé le circuit nous avons réalisé le circuit imprimé. Le PCB de la plaque a été
modélisé sous dxp. Nous avons du créer une empreinte du ToothPIC grâce au "wizard" de dxp
pour créer des librairies.
Nous avons pris soin de dimensionner les pistes de façon à ce qu'elles soient assez larges pour
laisser passer le courant nécessaire. Nous avons 100mA donc en théorie une largeur de 0,2mm
devrait suffire toutefois nous préférons prendre 0,4mm afin de diminuer les risques de coupure
des pistes. Nous élargissons également les pastilles ce qui facilitera le soudage des composants.
Afin d'éviter les ruptures d'impédance nous évitons les angles à 90°. La datasheet du toothPIC
précisait qu'il ne fallait de circuit sous l'antenne radio.
fig 24 PCB
p27/72
fig 25 PCB 3d
Nous avions prévu de réaliser le circuit imprimé grâce à la fraiseuse numérique possédée par
l'ESTIA. Pour cela nous avons, sous DXP généré un fichier GERBER. Les tâches à accomplir pour
réaliser un circuit imprimé en gravure mécanique sont les suivantes :
Importer un fichier GERBER au travers de PERCIVAL en vue de calculer les contours des pistes
ainsi que les divers perçages.
p28/72
fig 27fraiseuse numérique
p29/72
• Fermer le couvercle de l'insoleuse allumer la pompe à vide (pour immobiliser la plaque et
l'imprimé) mettre la minuterie sur 1min45 et allumer les néons supérieurs (c'est du
simple face)
• Eteindre la pompe et les néons avant d'ouvrir, sortir la carte
• Immerger la carte dans un bain de soude en agitant (moins d'une minute) puis rincer. La
couleur cuivre doit apparaître
• Mettre la carte dans le bain de perchlorate de fer environ 15 min jusqu'à voir le circuit
et que la plaque soit de la même couleur que le dos.
• Essuyer le couvercle du bac (le perchlorure de fer est un produit très tachant).
Dans l'atelier d' Octavian Curea nous avons pu réaliser les perçages et les soudages nécessaires.
J'ai notamment utilisé un support pour connecter le ToothPIC afin que celui-ci puisse être enlevé
pour servir à réaliser un autre périphérique.
6.2 Logiciel
Pour pouvoir le tester, il faut lancer le programme serveur qui se met alors en attente. La
fenêtre ne s’affiche que quand la connexion est établie : après avoir rempli le cadre adresse IP.
Le programme serveur devra également pouvoir communiquer avec le TactiMod mais le problème
du port série est qu'il n'existe pas d'API fonctionnant sur tous les systèmes. Cela fait perdre le
p30/72
caractère multiplateforme de l'application en JAVA. De plus l'API javax.comm qui fonctionne
sous Windows nécessite l'installation d'une dll sur le poste.
p31/72
Connexion établie
Fonction Configuration
TactiMod
Ok
Config = 1
Configuration terminée
Config = 2 Config = 2
Utilisation normale
p32/72
Fonction "activer gauche"
TactiMod
Ok
Rendre le témoin visible
Command = "left"
Variable "Command"
Attendre
Désactiver CCP2
Command = ""
Command = "left"
Description des données envoyées par le port série voir le manuel DARC-I.pdf dans
ToothPICSDK sur http://www.flexipanel.com/BluetoothModules.htm :
• Envoyé par TactiMod' :
• 11444152432D4920332E302E3030303034 : TactiMod' connecté
• 0201 : commande ok
• 0302F1 : erreur
• Commandes :
• 04021D01 : configurer la sortie reliée au moteur gauche en output
• 04021E01 : configurer la sortie reliée au moteur droite en output
• 04031D01 : activer le moteur droit
• 04031E01 : activer le moteur gauche
• 04031D00 : activer le moteur droit
• 04031E00 : activer le moteur gauche
p33/72
fig 32Interface du programme de test
6.3 Boîtier
Rappel des fonctions :
• FS1 : Pouvoir se fixer sur le PDA en permettant à l’utilisateur de garder la modalité
visuelle.
• FS2 : Pouvoir être utilisable sans accaparer les mains.
• FS3 : Permettre de différentier les deux vibrations.
• FS4 : permettre à l’utilisateur allumer le ToothPIC
• FS5 : permettre à l’utilisateur de voir la LED ToothPIC
• FC1 : Pouvoir être pris dans la main.
• FC2 : Protéger les composants électriques et électroniques.
• FC3 : Avoir un aspect présentable, fini.
Le fait qu'il faille enrouler les fils automatiquement nous porte croire que cela nécessitera
l'intervention d'un professionnel. La société APR2 : Application Plastique Régionale s'est occupée
de la réalisation de la plateforme ESKUA deux ans auparavant. Ce projet était également
encadré par Nadine Couture, elle nous a donc orienté vers cette société. Nous avons envoyé un
courrier à cette entreprise que j'ai rédigée et signée par N. Couture cf. annexe 5, ainsi que les
plans CAO, bien qu'il aurait fallu les réaliser après l'entretien, ils pourront toutefois servir si le
projet est poursuivit vers la production en série cf. annexe 6. L'entretien que j'ai eu avec Xavier
Louvel, le directeur, nous a permis de comprendre que le fait faire réaliser un seul prototype par
un professionnel n'était pas approprié. En effet nous avions le choix entre réaliser le boîtier par
moulage ce qui inclus le prix de la fabrication du moule ou bien, l'usinage d'un bloc : meilleur
p34/72
marché mais plus contraignant. L'usinage requiert en effet de concevoir le boîtier de telle façon
qu'il puisse être usiné en limitant le nombre de phase.
A la suite de cet entretien, nous nous sommes posé la question de la pertinence de l'enroulage
automatique. Pour un produit fini il est évident que cela sera indispensable, mais pour notre
prototype, l'augmentation du prix, du temps de conception ainsi que de l'encombrement
(respecter FC1) de ce système ne justifie pas la prise en compte de cette fonction. Nous pouvons
alors commander de simples boîtiers sur radiospares :
Afin que l’utilisateur puisse prendre TactiMod dans sa main nous avons choisi le boîtier le plus
petit pouvant contenir le circuit électrique et disposant d’un compartiment pour mettre
l’accumulateur. De même les blocs vibrants sont les boîtiers les plus petits qui existent sur
radiospares.
p35/72
fig 34TactiMod version 2
p36/72
fig 35ScreenShot du Site TactiMod'
7 Gestion du Projet
p37/72
7.1 Planning
p38/72
p39/72
7.2 Aspect financier
Nous avons essayé de commander le plus possible à la société Radiospares car elle est sous
contrat avec l'ESTIA et que nous étions sur que les commandes sont livrées rapidement. Nous
avons toutefois dû commander les vibreurs et le ToothPIC dans d'autres sociétés. Pour passer
une commande il faut réaliser un bon pour accord à faire signer par le directeur de l'école JR.
Guiresse et le passer ensuite à la comptabilité.
Voici le bilan du projet TactiMod :
*Nous avons acheté le ToothPIC à la société BKTronic qui est le revendeur de FlexiPanel en
France.
Nous avons également acquis une clé bluetooth (11€) que je suis allé cherché à European
Computer à Anglet.
7.3 Organisation
Le stage était ponctué de réunion avec Frédéric Saout et Nadine Couture, durant lesquels nous
devions exposer l'avancement de nos projets respectifs et faire valider nos décisions. Leur
fréquence était d'environ une par semaine.
La prise des décisions se faisait après proposition de ma part et validation par N. Couture, ou si
elle concernait un domaine plus technique par un chercheur ou un thésard. J'avais pour rôle de
contacter les entreprises pour demander les devis ou de les relancer en particulier la société
APR2 mais aussi FlexiPanel en raison des disfonctionnement de leur produit.
p40/72
8 Conclusion
8.2 Le cadre
Le thème de ce stage m'a fait découvrir l'activité des enseignants chercheurs de l'ESTIA, et
ceci dans leur globalité notamment en assistant aux réunions du groupe LIPSI durant lesquelles
les différents chercheurs et leurs thésards exposaient l'état de leurs travaux. J'ai notamment
assisté de près aux activités de guillaume Rivière qui réalise une thèse nommée GEOTUI [7] sur
une interface tangible pour manipuler des coupes géologiques. Il a en effet monté son matériel
dans le bureau ou j'étais et j'ai pu observer son travail et écouter ses commentaires. J'ai été
impressionné par le nombre de déplacement à l'étranger pouvait effectuer les chercheurs. Je
me suis aussi rendu compte que l'aspect administratif est une part importante de leur travail.
8.3 Le Prototypage
Durant ce stage, il fallait réaliser un prototype, c'est-à-dire un produit expérimental destiné à
tester le principe de solution de la modalité tactile. La démarche à adopter est différente de la
conception d'un produit destiné à la production en série car nous avions une idée assez vague du
produit final, de plus j'avais la charge de toute la conception, ce qui mélangeait plusieurs
domaines. La principale leçon que je retiens de ce stage, c'est le fait que la communication avec
les autres : chercheurs, thésards ou stagiaires faisait beaucoup plus avancé le projet que faire
des recherches tout seul. Il est également important de pouvoir déléguer des tâches. Ceci m'a
fait défaut au début du stage et m'aurait permis de gagner du temps.
8.4 Perspectives
Nous avons beaucoup réfléchis aux applications que pourrait prendre TactiMod : diriger des gens
dans des musées, parcs d'exposition ou bien même dans leur voiture pour que les utilisateurs ne
soient pas distraient par la modalité sonore ou visuelle. Nous avons également pensé à TactiMod
comme aide à l'apprentissage de la conduite d'un véhicule, ainsi, par exemple, pour tourner le
volant du bon angle au bon moment sur un parcours.
A la rentrée de septembre 2006 et suite à la lecture d'un article BlueEyes, cf. annexe 9, qui
évoque le projet de la RATP de pouvoir guider des non-voyants dans le métro, le LIPSI va
proposer le projet TactiMod à la RATP comme modalité de retour. La géolocalisation serait ici
faite par des balises bluetooth. Dans cet optique, je me tiendrais, durant l’année scolaire, à
disposition de Nadine Couture pour d’éventuelles modifications ou d’autres travaux.
p41/72
9 Bibliographie
[1] Warren N., Jones M., Jones S., Bainbridge D., Navigation via Continuously Adapted Music. In
Proceedings of the SIGCHI conference on Human factors in computing systems
(CHI ’05) (Portland, Oregon, USA April 2-7, 2005). ACM Press, New York, NY, 2005, 1849-1852.
[2] Lecolinet E., G. Mouret G., TACTIBALL, TACTIPEN, TACTITAB, ou comment "toucher du
doigt" les données de son ordinateur, Proc. of 12ème conférence Francophone sur l'Interaction
Homme-Machine (IHM'05) (Toulouse, France Sept 27-30, 2005). ACM Press, 2005, 227-230
[4] Joseph Luk, Jérôme Pasquero, Shannon Little1, Karon MacLean, Vincent Lévesque, and
Vincent Hayward Department of Computer Science University of British Columbia Vancouver, BC
Canada V6T 1Z4 Center for Intelligent Machines McGill University Montréal, QC Canada H3A
2A7
10 Annexes
p42/72
La Localisation par Wi-Fi
1 Introduction
Pour localiser un élément on a tendance à penser premièrement au GPS mais ce système rencontre des
problèmes en zone fortement urbanisée de plus il est difficile de rendre compte d’une information
concernant l’altitude : quel étage d’un bâtiment. On peut aussi penser au système RFID, toutefois une
étiquette RFID permet essentiellement d’identifier un objet, pour le localiser, il faut que celui-ci passe à
coté d’un lecteur.
La solution pour une localisation précise en ville ou dans un bâtiment réside dans les réseaux sans fil qui
sont en train de se développer dans les zones urbanisées. Il est possible moyennant certains points de
repères de retrouvé la position d’un élément d’un tel réseau.
2.1 le WPS
D'une technologie mise au point par Skyhook Wireless qui, utilise les hotspot Wi-Fi. Grâce à une base de
données contenant les localisations exactes des bornes Wi-Fi, un programme est capable de localiser
précisément l'endroit ou se trouve l’utilisateur.
Les avantages:
• Le programme est capable de fonctionner sur n'importe quel terminal doté d'un émetteur /
récepteur Wi-Fi.
• Très bonne performance et dans les zones à forte densité urbaine : complémentarité avec le
système GPS.
Pour le moment cette technologie n'est disponible qu'aux Etats-Unis et dans seulement 25 villes (qui
comptent tout de même 1.5 million de bornes Wi-Fi). Certaines antennes peuvent être déplacées ce qui
fausserait la position du terminal.
Source :http://www.generation-nt.com/actualites/8058/Le-WPS-ou-la-localisation-par-bornes-WiFi
p43/72
Cette technique semble intéressante mais est encore peu utilisée. Pour une utilisation dans un bâtiment
de 900m2 il faut compter un investissement de 5000€.
2.3 TOA/TDOA
Time of arrival et time difference of arrival. Grace à ces techniques on peut mesurer les différentes
distances entre les balises Wi-Fi afin de déduire la position d’un élément du réseau toujours par
triangulation. Cette technique requiert une parfaite maitrise de l’électronique au niveau des temps de
traitement car l’ordre de grandeur des communications est la nano seconde. Pour plus de précision les
deux dernières technique peuvent être utilisées en même temps : www.merl.com
3 Les applications
3.1 Bibliothèque
Depuis 2003, la Finlande dispose du premier système de navigation interactif à la bibliothèque principale
de l’Université Oulu, en Finlande. Le système est appelé SmartLibrary et aide les usagers à trouver les
livres et le reste du matériel en affichant sur un PDA une carte indiquant le chemin à suivre pour se
rendre à l’étagère visée. Le logiciel de positionnement Ekahau est utilisé Pour repérer l’endroit où se
trouve le client mobile. Le système de guidage est intégré au catalogue en ligne de la bibliothèque, de
sorte qu’il est possible de retrouver sur la carte affichée sur le PDA les cotes que l’on trouve dans le
catalogue.
Source : http://www.altivis.fr/-La-geolocalisation-par-WiFi-.html
3.2 Hôpital
L’hôpital privé Richland, en Caroline du Sud, localise ainsi en permanence 13 000 équipements médicaux
coûteux, ce qui lui permet de réduire ses stocks, de mettre plus rapidement le bon équipement en place
au bon endroit et d’accélérer les opérations de maintenance.
Source : http://www.wifi-art.com/?p=16
3.3 Sécurité
Une raffinerie pétrolière suit ses salariés pour pouvoir les localiser en cas d’accident. Il existe
également un projet de suivi des prisonniers.
http://www.wifi-art.com/?p=16
4 Différentes sociétés :
http://www.aeroscout.com/content.asp?page=SystemOverview (fonctionnement hybride : RSS & TDOA )
http://www.ekahau.com/
http://pangonetworks.com
http://www.espace-mobilite.com/geolocalisation_materiel_interieur.asp (commercialisation de la solution
ekahau en France)
p44/72
http://forum.hardware.fr/hardwarefr/OSAlternatifs/soft-Localiser-point-acces-wifi-sujet-50089-
1.htm
5 Conclusion
Cette nouvelle génération de localisation dans les réseaux sans fils va entrainer de multiples applications.
Les parents pourront par exemple connaitre grâce au terminal mobile de leurs enfants la position de
ceux-ci. On pourra à tout moment connaitre en ville la position d’une personne, ce qui pourra rendre de
grands services mais il faudra veillé toutefois à préserver les libertés individuelles.
p45/72
Protocole de commande des vibrations
1 Protocole client/serveur
Ce protocole servira à coder les trames envoyées par un ordinateur sur un PDA. L’information ainsi codée
servira activer les vibreurs droits ou gauches.
p46/72
Envoie de trame par USB
1 La norme USB
Faut faire un périphérique USB host, USB On-The-Go, ou simplement USB client :
Les PDA sont soit USB client soit USB On-The-Go car ils se connectent a des prise USB host. Si la
norme USB OTG est rependue chez les PDA un système passif suffira sinon il faudra choisir entre host
et OTG.
Un appel a génération PDA (05 62 73 10 01) à Toulouse nous apprend que l’USB OTG n’est pas très
répandu chez les PDA il faudra donc faire un périphérique host ou OTG.
Micro controller (http://www.lvr.com/usbchips.htm)
http://www.transdimension.com/products/semiconductors/index.html
http://www.atmel.com/products/USB/
http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=
209&PageID=215&gid=9&fid=10&category=All&showall=false
p47/72
1.2 Une transaction USB
Quand on veut transmettre ou recevoir des données, le SIE* vérifie d’abord le point limite et la
direction correspondante le bit UOWN du Buffer Description soit à 1. L’USB va transporter la donnée
de ou vers le registre correspondant.
Quand le TOKEN est complet, l’USB met à jour le statut du BD* et met UOWN à 0.
1.3 Le Firmware
Microchip fournit une couche de logiciel qui prend en main le plus bas niveau de l’interface. Cette
interface comprend 3 fonctions :
InitUSB, PutUSB and GetUSB.
• InitUSB : S’occupe de l’énumération immédiatement après le branchement. Toutefois du code
doit être ajouté pour définir les descripteurs ensuite l’énumération est automatique.
• PutUSB : arguments : (pointeur du Buffer, taille du Buffer, point limite). Le pointer du block de
données à transmettre est dans le FSR/IRP, et la taille du bloc et le point limite est passé dans
le registre W. If the IN buffer is available for that endpoint, PutUSB copies the buffer, flips
the Data 0/1 bit and sets the OWNS bit. A buffer not available would occur when it has been
previously loaded and the host has not requested that the USB peripheral transmit it. In this
case, a failure code would be returned so the application can try again later.
• GetUSB : arguments (pointer du Buffer, point limite) : retourne les données envoyé par l’hôte. Si
le out buffer pointé est prêt (bit OWNS), le buffer est copié du port dual RAM à l’endroit
indiqué par le pointeur et reset the endpoint for the next out transaction from the host. If no
data is available, it returns a failure code. Thus the functions of polling for buffer ready and
copying the data are combined into the one function.
Grâce a ces fonctions fournies par le constructeur le début du programme à incérer dans le micro
contrôleur sera par exemple :
; ******************************************************************
; Demo program that initializes the USB peripheral, allows the Host
; to Enumerate, then copies buffers from EP1OUT to EP1IN.
; ******************************************************************
main
call InitUSB ; Set up everything so we can enumerate
ConfiguredUSB ; wait here until we have enumerated.
CheckEP1 ; Check Endpoint 1 for an OUT transaction
bankisel buffer ; point to lower banks
movlw buffer
movwf FSR ; point FSR to our buffer
movlw 1 ; check end point 1
call GetUSB ; If data is ready, it will be copied.
btfss STATUS,C ; was there any data for us?
goto PutBuffer ; Nope, check again.
; Code host to process out buffer from host
p48/72
Manuel d'utilisation
1 Utiliser TactiMod'
Fig 1
p49/72
Pour réaliser un hacheur série :
• Régler la période:
040205+ de 00 à FF = la periode dans la base de temps choisie moins 1
2.1 Installation
Les services packs sont des fichiers exécutables qui contiennent un certain programme. Grace à
une connexion bluetooth ils le téléchargent dans le toothPIC .
• Mettre le toothPIC sous tension en appuyant le bouton : les LED verte et rouge
clignotent simultanément.
• Lancer BlueSoleil et cliquer sur le soleil pour rechercher les périphériques présents
• Quand le toothPIC est détecté cliquer avec le bouton droit et sur " rafraichir les
services ".
• Se connecter au service trouvé : clic droit sur l’icône du toothPIC ou sur l’icône du
service activé en haut de la fenêtre.
• Clic droit sur l’icône du ToothPIC puis " Etat " pour connaitre le port COM de celui-ci.
• Déconnectez le service "porte de communication"
p50/72
• Lancer un service pack de flexipanel, rentrer le numéro du port vu précédemment
• Fermer la fenêtre à la fin du chargement, La LED verte clignote.
• Lancer Flexipanel Client setting>COM ports, rentrer le numéro du port cliquer sur
" connect "
Il peut arriver qu’après l’implantation d’un programme aucune LED ne clignote et le périphérique
n’est plus reconnu par BlueSoleil. Dans ce cas :
• Appuyer sur le bouton en mettant sous tension
• Lancer ToothPIC WFP
• Recherchez le périphérique avec BlueSoleil et connectez le service "porte de
communication"
• Chargez le fichier .hex d’une solution qui fonctionne
• Sélectionnez ” Entered programming mode by button down at power up and access key “
Dans la cadre “Key” entrez "BMSC"
Répétez l'opération plusieurs fois si nécessaire
p51/72
Lettre à APR2
COUTURE Nadine
LIPSI-ESTIA
Technopole Izarbel
64210 Bidart
05 59 43 84 67
n.couture@estia.fr
Monsieur Louvel,
Suite à un entretien téléphonique avec votre collaboratrice, je vous envoie par ce mail l'objet de
notre demande.
Il y deux ans vous avez collaboré de façon très bénéfique au projet ESKUA en réalisant une
plateforme de support de webcam. Nous vous proposons de renouveler l’expérience avec le
projet Tactimod.
Le Tactimod est un prototype destiné à explorer la modalité tactile. Nous comptons plus
particulièrement grâce à un retour tactile pouvoir diriger une personne, par exemple, dans un
musée.
Tactimod est composé de 3 blocs. Le principal contient une carte électronique, une pile et une
poulie munie d’un ressort destinée à enrouler un fil. Les deux autres blocs contiennent des
vibreurs. Il devra pouvoir être pris dans la main ou se loger dans une ceinture en séparant les
blocs vibrant dans deux poches situées sur les cotés. Nous souhaitons vous confier la réalisation
de ces blocs. Dans ce but nous souhaiterions recevoir un devis. Pour vous permettre de l’établir
nous joignons à ce courrier un cahier des charges. Adrien Touzouli en charge de la conception et
de la réalisation de ce projet se tient à votre disposition pour vous préciser nos besoins, soit par
téléphone, soit en venant vous rencontrer à APR2. Des plans (réalisés sous proIng) sont
également joints au cahier des charges, ainsi qu’un fichier zip contenant les fichiers dxf. Pour
nous contacter :
A Touzouli port. : 06 89 03 59 98
05 59 43 84 67 ou 26
[n.couture, a.touzouli]@estia.fr
En espérant réitérer notre fructueuse collaboration de 2004, veuillez croire, Monsieur Louvel à
ma parfaite considération.
p52/72
Couture Nadine
p53/72
ESTIA Téléphone 05 59 43 84 00
Technopole Izarbel Port A. Touzouli 06 89 03 59 98
64210 Bidart Télécopie : 05 59 43 84 05
TactiMod
Le 6 juillet 2006
p54/72
Contexte
Nous avons dans un premier temps validé l’hypothèse suivante : "il est possible de diriger et
d'orienter une personne vers un point d'intérêt en utilisant un Terminal Mobile augmenté de
retours tactiles". La validation de cette hypothèse est essentielle en préalable de la conception
de TactiMod. TactiMod est un périphérique de terminal mobile, type PDA (assistant personnel
numérique) ou téléphone portable, tactile qui est utilisé par un piéton pour aller d'un point A à un
point B tout en restant concentrer sur une tout autre activité que celle de "trouver son chemin".
Nous montrons l'utilité et l'utilisabilité de TactiMod dans le contexte d'un grand musée, où il
n'est pas possible de "tout voir". Le visiteur choisit donc un parcours d'intérêt à son entrée dans
le musée. Son activité principale est alors de regarder les œuvres d'art tout en suivant son
parcours d'intérêt indiqué en temps utile par TactiMod.
3 Description
Le type de plastique reste à définir, vos avis et conseil seront utile pour modifier les plans.
Bloc vibrant
Bloc principal E2
p55/72
TactiMod se compose de trois blocs : un bloc principal et deux blocs vibrants. Les blocs vibrants
pourront se séparer du bloc principal pour se loger dans une ceinture. Dimension max : 113mm
4 Plans
p56/72
D1
p57/72
4.2 Boitier haut
p58/72
4.3 Poulie
Fig 4 : poulie
Cet axe sera monté serré dans l'alésage borgne sur le boitier (cf. 3.1 D1) avec un jeu sur la
poulie.
p59/72
Bloc Vibrant boitier Bas droite
S1
p60/72
Fig 6 : rondelle bloquante
5 Les contraintes
p61/72
5.1 Le bloc principal
• Doit pouvoir s’ouvrir afin d’y intégrer :
• La poulie qui puisse tourner et son axe (cf 3.3)
• La carte électronique dont les dimensions sont données ci-dessous : fig 8.
• Une pile 9v :
Fig 9 : pile 9v
• Doit pouvoir recevoir un interrupteur : trou sur la partie supérieure : 6.9mm x 19.2mm
p62/72
Fig 10 : vibreur
• Afin d’assurer une bonne transmission de la vibration à la main une surface munie de
picots (texture d’un ballon de basket en plus fin) sera collée sur la surface S1 (cf. 3.5)
des blocs vibrants.
Nous sommes conscients que les aspects suivants des spécifications ne rentrent pas totalement
dans le cadre de vos activités, toutefois vous aurez peut être des solutions à proposer et dans
tout les cas votre avis nous serait très utile.
5.3 La ceinture
Un ceinture devra être réalisée en néoprène composée de 2 poches intérieures sur les cotés et
d’une poche extérieure centrale. Ces poches seront destinées à recevoir les différents blocs,
l’utilisateur pourra ainsi recevoir l’information en ayant les mains libres.
5.4 Le ressort
Un ressort enrouleur capable d’effectuer 5 rotations sera fixé entre la poulie et le boitier afin
d’enrouler les fils.
p63/72
Code html du Site internet de TactiMod
</head>
<body>
<div id="container">
<a name="haut"></a>
<div id="intro">
<div id="pageheader" style="width: 700px; height: 54px">
</div>
<div id="quicksummary" style="width: 197px; height: 85px">
Responsable : Couture Nadine
Stagiaires : Touzouli
Adrien<p>
&nb
sp;
Saout Frédéric
</p></div>
<div id="preamble" >
<h3>Le projet TactiMod'</h3>
<p class="p1">Ce projet, initialisé par le
laboratoire LIPSI (Bidart),
à pour but l'exploration du mode tactile et plus
particulièrement des vibrations comme moyen d'action sur les utilisateurs
de
terminaux mobile.</p>
<p class="p1"> </p>
</div>
</div>
<div id="supportingtext">
<h3>Le concept de base<a name="1"></a></h3>
<p>Nous prenons l'exemple d'une personne dans un grand
musée. Celle-ci
doit suivre un itinéraire définit au préalable : par exemple
les œuvres
du XVIII siècle. On souhaite un système lui permettant de
suivre son
parcours sans la distraire c'est à dire sans utiliser ni la
modalité
visuelle, ni la modalité sonore.</p>
p64/72
<p>Nous nous sommes orientés vers un avertisseur tactile
utilisant des
vibrations pour communiquer l'information.</p>
<p>Pour que le projet soit complètement aboutit il faudrait
bien sur un système
de géo localisation. Mais on sait que ceci est possible et a
été
réaliser dans une bibliothèque en Finlande.</p>
<p class="fleche">
<a href="#haut">
<img src="img/fleche%20haut.jpg" width="46" height="28"
alt="haut" /></a></p>
<h3>Hypothèse de départ : <a name="2"></a> </h3>
p65/72
</ul>
<p>Nous sommes en train de réaliser un prototype qui sera présentable au
salon
UbiMob. La période du stage est de mai à fin juillet 2006.</p>
<p class="fleche">
<a href="#haut">
<img src="img/fleche%20haut.jpg" width="46"
height="28" alt="haut" /></a></p>
<p class="fleche"> </p>
<h3>Principe de fonctionnement :<a
name="3"></a></h3>
<p>
<img src="img/schema_fonc.GIF" width="356"
height="286" alt="schema" /></p>
<p>
Un deuxième aspect du projet consiste à réaliser le
magicien d'Oz au
moyen d'un second périphérique celui-ci muni d'un
accéléromètre et
d'un gyroscope.</p>
<p class="fleche">
<a href="#haut">
<img src="img/fleche%20haut.jpg" width="46"
height="28" alt="haut" /></a></p>
<p class="fleche">
</p>
<p>
</p>
<p> <p>
<a href="http://validator.w3.org/check?uri=referer"><img
src="http://www.w3.org/Icons/valid-xhtml10"
alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
</p>
</p>
</div>
<div id="footer">
</div>
</div>
</body>
</html>
p66/72
Programme de Test
End Sub
Private Sub terminal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
End Sub
End If
Catch ex As Exception
Call SetTextInfo("error Com port" & vbCrLf)
End Try
TextCom.Text = ""
End Sub
p67/72
'Call SetTextTerminal(tampon.Contains("0201" & vbCrLf))
If tampon.Contains("11444152432D4920332E302E3030303036") Then
End Sub
p68/72
Me.Invoke(d, New Object() {})
Else
ButtonPanel.Visible = True
End If
End Sub
If Config = 0 Then
Call SetTextTerminal("04021D01" & vbCrLf)
SerialPort.Write("04021D01" & vbCrLf)
i = 0
Config = 1
While (Not (i = 90000000))
i = i + 1
End While
'flag = 0
End If
End Sub
Me.Command = "rightOk"
Dim i As Integer
i = 0
While (i < delay)
i = i + 1
End While
Call SetTextTerminal("04031E00" & vbCrLf)
SerialPort.Write("04031E00" & vbCrLf)
ElseIf Me.Command.Equals("rightOk") Then
rightActive.Visible = False
Me.Command = ""
Me.Command = "leftOk"
p69/72
Dim i As Integer
i = 0
While (i < delay)
i = i + 1
End While
Call SetTextTerminal("04031D00" & vbCrLf)
SerialPort.Write("04031D00" & vbCrLf)
Me.Command = "leftOk"
ElseIf Me.Command.Equals("leftOk") Then
leftActive.Visible = False
Me.Command = ""
End If
End If
End Sub
End Sub
TerminalPanel.Visible = False
Else
TerminalPanel.Visible = True
End If
End Sub
p70/72
End Sub
End Sub
p71/72
Article BlueEyes
p72/72