Maintenant que le fonctionnement de la matrice est confirmé, j'ai décidé de tirer un premier PCB afin de valider le principe de l'électronique de contrôle. Afin de simplifier le PCB (et de ne pas gâcher trop de composants si cela ne marchait pas), j'ai décidé de ne câbler qu'une seule couleur (vert).
Le principe que j'ai choisi est d'utiliser des registres à décalage, qui permettront de chaîner plusieurs matrices sans augmenter le nombre d'I/O utilisé sur le microcontrôleur.
Pour les registres à décalage, j'ai utilisé des 74HC595 (datasheet (139,65 kb)) car ils se trouvent facilement en CMS.
Ces registres n'étant pas capable de fournir/collecter assez de courant, il faut les faire suivre de transistors. Pour les colonnes, il faut des transistors NPN, et pour les lignes, des PNP. Là j'ai fait avec ce que j'avais sous la main :
J'ai utilisé les MIC2514 car je les avais sous la main, et qu'ils facilitent bien les choses pour ce genre de prototype. Il s'agit en fait, dans un même chip, d'un transistor PNP et de son électronique de contrôle (résistance de base,...).
Quelques photos du PCB en cours de soudage :

Petite remarque, je n'avais pas bu avant de percer les trous, mais ma perceuse sur colonne m'a honteusement lâché, j'ai donc du percer à main levée au dremel (pas facile quand on utilise des forets de 0.6mm
). Quant à la soudure des CMS, soyez indulgents, c'était la première fois que j'en faisais
Et le premier test une fois que tout est soudé :

Comme on peut le voir, il y a un énorme effet de ghosting. Bien que le latch des deux registres soit synchronisé, les transistors NPN et PNP ne commutent certainement pas à la même fréquence, ce qui provoque cet effet. Je n'ai pas d'oscilloscope pour confirmer, mais j'espère pouvoir régler le problème en ajustant certaines des temporisations.
Pour le reste, le fait d'utiliser des registres à décalage fonctionne très bien, ce qui est déjà un premier pas