Ce qui donc a permis de résoudre la première étape : Choisir le panneau de bois dans lequel découper le panel.
J'avais depuis 20 ans en stock du contre-plaqué de récupération de 6 mm d'épaisseur pas mal rigide, et justement un morceau d'à peu prés la bonne dimension.
- J'ai donc reporté le patron[1] de l'emplacement des boutons, avec une technique un peu particulière.
En 10 ans, j'ai eu le temps de mater quelques vidéos de menuisier sur tutube et d'emprunter leur manière de tracer, non pas avec un crayon, mais avec une lame de cutter.
Non seulement c'est plus précis, l'épaisseur du trait ne laissant plus aucun doute sur le fait de couper dessus, à droite ou à gauche de celui-ci, ça ne s'estompe pas à force de manipulations, et fraise sur le gâteau, j'ai constaté que si l'on a pris soin d'enfoncer la lame jusqu'à la première couche de bois, les éclats de bois produit par la scie sauteuse sont instantanément neutralisés à cette frontière, laissant une arrête bien nette !
Voilà donc pour le « level up » par rapport au panel de mon joystick tout éclaté à l'époque…
- Du coup, cliquez bien sur les vignettes pour voir ce tracé en grand :
- Pour la découpe des emplacements des boutons, ça se passe simplement en perçant deux trous et en y insérant la lame de scie sauteuse, avant de terminer à la lime.
- La tige des encodeurs étant très courte, j'ai décidé d'utiliser la défonceuse afin de gagner 3 mm de profondeur en y logeant le corps des encodeurs.

Première fois pour moi avec cet outil utilisé à main levée, c'est vraiment intéressant ce qu'on peut faire avec…
- Voici l'ouvrage terminé et les fournitures en place, fixées dans leurs emplacements.

Comme vous le voyez, le bloc micro-switch qui comporte la led s'insère et se verrouille dans le bouton.
Le câblage :
On va pouvoir procéder tranquillement au câblage, directement sur site, ainsi les câbles seront optimisés en longueur.
- On commence par le chemin de masse, puis le raccordement de chaque boutons et leds à l'Arduino Pro Micro :

Le fil souple multi-brun de récupération que j'utilise étant relativement fin, et ne disposant pas de pince à sertir adéquate, je me suis contenté de souder chaque fil sur les cosses, puis de rabattre les ergots. Le petit capuchon de silicone est vraiment pratique et sera très utile pour isoler les contacts et éviter tout accident de court-circuit qui pourrait survenir à la manipulation.
- Une petite vidéo, désolé pour le cadrage tremblant :
- Voilà une fois le chemin de câble attaché :

Après avoir testé le panel, j'ai eu la mauvaise surprise de voir la prise microUSB de l'arduino s'arracher de la plaquette, alors que je branchai simplement le câble USB dessus. J'ai bien entendu ressoudé ça en place, et ceci m'a fait prendre conscience au passage qu'il vaudrait mieux permettre le remplacement de l'arduino facile.
J'ai donc dé-soudé tous les fils et utilisé une plaquette à trous avec ce qu'il faut pour insérer l'arduino dessus. Par la même occasion, ça permet de fixer tout ça avec une vis au panel.
- Et aussi d'en profiter pour raccourcir les câbles des encodeurs et vu qu'ils ne disposent pas de système de cosses, leur confectionner des connecteurs sur mesure à raccorder sur la plaquette à trous.
- Contrairement à mon joystick, le panel sera maintenu en place avec des aimants, c'est pour ça que j'ai fixé sur les rebords, des plaquettes en métal d'aimants à placard, avec de la colle araldite.
On s'arrête ici pour le moment.
Nous avons donc un panel fonctionnel, câblé proprement qu'il suffira de coller dans un boîtier.
Enfin ça, c'est ce que pensais, puis j'ai changé mes plans…
Affaire à suivre :)

Programmation :
Avant de téléverser le firmware dans l'Arduino, j'ai dû modifier le sketch SDVX-SIY.ino afin de réorganiser l'assignation des pins en fonction de ce que j'ai câblé.
Là vous me diriez à juste titre que j'aurais dû regarder le code et câbler en fonction, sauf qu'à priori le code est prévu pour un Arduino Leonardo, et donc une assignation différente.
Par chance l'Arduino Pro Micro dispose de « pile-poil » le nombre de pins nécessaires aux boutons et aux leds… ouf !
/* Button Input Pins */ #define BTA_PIN A2 #define BTB_PIN A3 #define BTC_PIN A0 #define BTD_PIN A1 #define FxL_PIN 4 #define FxR_PIN 5 #define START_PIN 8 /* LED Output Pins */ #define BTA_LED 9 #define BTB_LED 10 #define BTC_LED 14 #define BTD_LED 15 #define FxL_LED 6 #define FxR_LED 7 #define START_LED 16 /* Software Debounce Interval */ #define DEBOUNCE 10 /* Encoder */ #define ENC_1_PIN_A 0 #define ENC_1_PIN_B 1 #define ENC_2_PIN_A 2 #define ENC_2_PIN_B 3
À suivre…
Note
[1] Fichier pour GIMP en annexe ci-dessous









