Je tiens à remercier Daniel pour ces renseignements et schémas de souris, et Totor le Butor pour ces renseignements technique sur le protocole d'échanges de données entre la souris et l'UC, sans votre aide je n'y serais pas arrivé encore Merci.
Tout d'abord l'idée de départ:
Utiliser une souris PC (plus courante que les souris THOMSON TO8), avec un ordinateur THOMSON TO8/D ou TO9 ou TO9+ facilement et pour un cout réduit.
Version Compact:
Version Deluxe:
Matériel nécessaire:
VERSION COMPACT: (proposé par Daniel)
Si on ne compte pas la soudure, le fil de câblage et le temps passé, mon montage est revenu à 3,25 € port compris :
VERSION DELUXE:1,73 € : Arduino Pro Mini (copie chinoise)
0,17 € : Connecteur PS/2 (achetés par 10)
0,11 € : Connecteur DB9 femelle (achetés par 10)
0,20 € : Circuit d'essai à bandes cuivrées (5 circuits dans une plaquette à 1 €)
1.04 € : Un convertisseur USB-RS232
Le montage revient à 10/15 euros, ce n'est pas très excessif
et bien sur une souris PC PS/2.Arduino Pro Mini (5V) ... [2,09 Euros sur Ebay] un Arduino Nano convient très bien aussi il est juste un peu plus gros
Rallonge PS/2 femelle ... [1,41 Euros sur Ebay en version neutre]
Rallonge Joystick entièrement câblé (9 points) ... [3,85 Euros sur Ebay (china restricted) ]
...> ou câble d'un ancien joystick ou joystick neuf megadrive ... [ 4 euros sur Ebay (china restricted) ]
Boitier Plastique ... [ moins de 5 euros ]
Schémas définitif:
VERSION DELUXE:
Schéma HD
Les LED et bouton RESET ne sont pas obligatoire pour le fonctionnement.
Code Arduino de l'adaptateur:
SOURIS PS/2 POUR TO8/TO9/TO9+
Librairie PS/2 à décomptacter dans le répertoire libraries de l'IDE Arduino :
PS/2
Etiquette à coller pour la version Deluxe:
HOW TO USE:
- Connecter l'adaptateur sur le port manette 1 du TO8/9/9+
- Allumer l'ordinateur (on peut aussi brancher à chaud l'interface au cas ou)
- La souris est active et reconnu par le TO
Réglage de la vitesse de la souris (uniquement avec une souris à mollette) :
-défilement de la roulette vers l'avant : augmente la vitesse.
-défilement de la roulette vers l'arrière : diminue la vitesse.
Pour activer le mode Turbo (déplacement très rapide) 2 solutions:
Si vous avez une souris 3 boutons vous appuyé sur le bouton du milieu et le mode turbo est activé les déplacements sont très rapide.
Si vous avez une souris avec seulement 2 boutons : Maintenez le reset de l'Arduino et maintenez le bouton droit de la souris relâcher le reset de l'Arduino et après 5 secondes vous pouvez relâcher le bouton droit de la souris vous êtes en mode Turbo.
.
.
.
.
.
.
.
.
Premiers tests en vidéo :
J'ai programmé l'Arduino pour respecter le protocole expliqué par Totor, et ca fonctionne du premier coup
C'est pas très explicite sur la vidéo mais demain je refait des test avec une application ou un jeu pour tester le comportement 'in live' et comparer avec une souris TO
Pour ce test j'avais utilisé ce principe :
Du coup j'ai réajusté les delay à 5 et c'est déjà beaucoup mieux.Au repos toutes les lignes sont maintenues au +5V.
les delay en millisecondes.
Cx = coordonnées X de la souris PS/2
Cy = coordonnées Y de la souris PS/2
PINxa = pin TO8 xa
PINxb = pin TO8 xb
PINya = pin TO8 ya
PINyb = pin TO8 yb
INIT
PINxa > +5V
PINxb > +5V
PINya > +5V
PINyb > +5V
idem pour les boutons
MAIN
Si Cx>0 alors PINxa >0V | delay(25) | PINxb >0V | delay(25) | PINxa > +5V | delay(25) | PINxb > +5V
Si Cx<0 alors PINxb >0V | delay(25) | PINxa >0V | delay(25) | PINxb > +5V | delay(25) | PINxa > +5V
idem pour les Y
Pour les boutons je n'applique aucun delay mais uniquement un changement d'état +5V / 0V, donc si on maintien un bouton appuyer la pin reste au 0V en permanence !
et ca fonctionne mais je trouve que ca n'était pas très fluide et les déplacements très courts...
J'ai aussi essayé de tenir compte des valeurs lu de la souris PS/2 déplacements -127/+127 (dans un boucle de pulse) mais ca ne donne rien de fonctionnel (latence), a moins que je mis suis mal pris ??
Demain je ferais des tests plus concret en vidéo .....
Après reste à proposer soit un montage avec un Arduino Nano soit un schéma avec un ATMEGA