Cet article est un sous article du plan de développement de la souris sans fil. Vous pouvez retrouver le plan de développement principal ici.
Voici le stade fondamental du développement de la souris wireless. Choisir les composants.
Vous savez, ce n’est pas différent d’équiper une salle de bain. Vous devez choisir le ballon d’eau chaude, le robinet, le lavabo, les WC, la baignoire et connecter le tout à l’arrivée et l’évacuation d’eau.
Eh bien, c’est exactement ce que nous sommes en train de faire.
I. Choix du capteur
Le Demon Hunter est une souris wireless, j’ai donc décidé de me baser sur le tout dernier capteur de Pixart, le 3370. Le Pixart 3370 est une mise à jour du 3389 qui équipait toutes les souris haut de gamme de 2016 à 2021.
Le 3370 offre exactement les mêmes performances que le 3389. On se retrouve avec une capacité de tracking allant jusqu’à 400-450 IPS (Inch Per Second ) soit 10-11 m/s en terme de vitesse maximale et une accélération max de 50G ( 50m/s² )
Cependant Pixart a fortement optimisé la consommation énergétique. Contrairement au 3389, le 3370 n’a besoin que d’un ridicule 1.5 mA avec une tension de 2V environ pour fonctionner. Ce qui signifie une consommation de 3mW à pleine puissance, en incluant la consommation de la LED infrarouge.
Cette consommation est 14 fois inférieure à celle du 3389.
Honnêtement, sans un tel gain de consommation sur le capteur, je ne pense pas pouvoir construire une souris sans fil avec une autonomie convaincante.
Ce capteur se base sur une lentille LM19-LSI, qui est exactement la même que celle équipant la 3360 et la 3389 et dieu merci, ça nous facilitera la tâche pour la suite. (Je vous explique en quoi juste après. )
II. Choix du microcontrôleur
Le choix du microcontrôleur n’est pas prioritaire à ce stade du développement. Mon ingénieur s’est bricolé une plateforme de prototypage, permettant d’intervertir à souhait le microcontrôleur.
Comme vous pouvez le voir, le prototype ci-dessus possède les emplacements pour les switches, le capteur et des pins de connexion vers un kit de développement.
“Hey, Christophe, c’est pas dangereux pour toi de dévoiler le circuit imprimé de tes prototypes? “
Non, pas du tout. Ce prototype est une coquille vide. Vous voyez à l’endroit où il y’a écrit “P1 ” et “P2” ? Ce sont des emplacements qui permettrons de brancher des câbles et de le relier à un kit de développement.
III. Choix des switches
“ON VEUT DU OMRON, PARCE QUE C’EST LES MEILLEURS SWITCHES DE L’UNIVERS!”
Bullshit. x)
Point commun avec les claviers (d’ailleurs je sais que vous allez encore dire que je suis fou mais pour moi, un clavier et une souris, c’est la même chose ), les switches ont le même format physique.
Regardez :
Comme vous pouvez le voir, le format ainsi que le principe de fonctionnement de ces switches sont communs. Il est donc possible de changer simplement et facilement de fournisseur de switch au cours du projet.
Pour moi, il est prématuré de choisir le switch dès maintenant. On se contentera alors d’en prendre un au hasard et de tester rapidement.
IV. La plateforme de prototypage
Vous vous souvenez de ce que je disais à propos de la lentille permettant de faire fonctionner le 3370?
“Non, quoi donc? “
La lentille permettant de conduire la lumière de la LED jusqu’au capteur est une LM19-LSI… qui est commune avec le Pixart 3360, 3389 et 3370…
“Je vois toujours pas de quoi tu parle? “
Je reprends donc depuis le début 😀
La lentille est commune aux trois capteurs. Il est donc possible de réutiliser une base d’une souris acceptant les Pixart 3360 et de l’utiliser pour prototyper avec. On a ainsi une base qui est déjà correctement calibré en terme de distance par rapport à la surface du tapis. Ce qui nous soulage alors d’une bonne partie du travail de calibrage du capteur à faire à postériori.
Comme vous pouvez le voir, sur les emplacements P1, P2 et P3 viendront s’installer des pins à connecter à un kit de développement. Ce qui permettra alors de pouvoir facilement changer de microcontrôleur selon nos besoins.
Bref, plateforme de prototypage terminé!
V. Principes de fonctionnement
Je ne pense pas pouvoir vous montrer un prototype et vous dire “Wallah faites moi confiance. ” et je vais désormais vous expliquer le principe de fonctionnement.
Le Pixart 3370 possède 16 pins, à souder sur le circuit imprimé.
Cependant toutes ces pattes n’ont pas une utilité, et je vais désormais vous montrer le diagramme de fonctionnement.
Comme vous pouvez le voir, le capteur possède 16 pattes. Mais toutes les pattes n’ont pas forcément une fonction.
En fait, le capteur en lui même embarque un ensemble d’instruments permettant de simplifier la vie à ceux qui vont développer un produit dessus.
On peut grosso modo séparer le capteur en 3 parties :
- L’alimentation électrique
- L’éclairage
- La connectique
En haut à gauche, nous avons le circuit d’alimentation, c’est par ces pins là que l’énergie va arriver et donc alimenter la puce.
Un peu plus bas, nous avons le LED DRIVE, la LED de 850 nm est ainsi piloté par un driver, qui va gérer l’éclairage.
Enfin, à droite, nous avons le plus intéressant, la connectique des informations avec le microcontrôleur.
Le capteur se connecte avec le microcontrôleur avec une liaison SPI (Serial Peripheral Interface). C’est une interface permettant d’échanger des informations avec le MCU.
Pour être exact, le pin “MOSI”, pour Master Output Slave Input, c’est ce qui nous permettra par la suite de faire les réglages DPI, de changer le Lift Off Distance, d’initialiser le capteur, etc etc. en faisant descendre des informations depuis l’ordinateur jusqu’au capteur.
Le pin “MISO”, pour Master Input Slave Output, c’est ce qui permettra au capteur de renvoyer les informations traités par le capteur. Notamment… *roulement de tambour* le ΔX et ΔY, en gros le mouvement quoi, qui remontera jusqu’à l’ordinateur.
Conclusion
Dans ce premier article sur le développement de la souris, nous avons donc vu comment le prototype fonctionne, et comment on le branche à un kit de développement.
Comme vous pouvez le voir, j’ai réussi à gagner un peu de temps, en réutilisant une base de souris existante, m’économisant encore plus de temps par rapport au calibrage du capteur.
La prochaine étape consistera à faire fonctionner un microcode (firmware) de souris sur un microcontrôleur. Enfin, nous pourrons tester les différents protocoles de communication.
Oh! Au fait, si vous voulez vous inscrire aux précommandes, c’est par ici :