Bon, j'ai beaucoup de taf en ce moment et j'ai du mal à trouver du temps pour avancer le 128x32
Je vais donc envoyer la version actuelle à Iro pour qu'il la mette en ligne. Ce n'est pas fini, mais ça suffit déjà pour se faire une horloge fonctionnelle (en stockant les animations dans la Due)
Tout d'abord, un petit topo sur la différence entre la dalle 128x16 et la 128x32. C'est pas compliqué, c'est juste deux dalles l'une au dessus de l'autre
Donc, A,B,C,D,Latch,Clock et Output Enable ne changent pas. Par contre les "entrées" de données sont plus nombreuses, pour la moitié haute, et pour la moitié basse...disons D1 et D2.
Et pour la couleur
...zut...j'avais oublié, donc en réalité, on a R1,G1,B1 pour la moitié haute de l'image et R2,G2,B2 pour la moitié basse.
Si vous avez bien suivi, vous venez de comprendre que l'on peut tres facilement utiliser le programme du 128x16 sur un écran 128x32. D'ailleurs, ça donne ça
Il suffit pour obtenir ce résultat de connecter les entrées R1, R2 et B2 (Bleu + Rouge = Violet) sur la sortie Data de la Due
Cet exemple permet aussi de comprendre que si la Due n'est pas assez puissante pour gérer la couleur, on peut quand même choisir la couleur générale de l'image en mixant les entrées.
Bon, maintenant le problème suivant
Pour obtenir un rafraichissement correcte de l'image (obligatoire pour les nuances), on utilise la sortie SPI de la due pour envoyer les données à 10 MHz dans le DMD. Malheureusement pour nous, la Due ne dispose que d'une seule sortie SPI la ou il nous en faudrait deux (une pour la moitié haute et une pour la moitié basse)
L'astuce que j'ai trouvé consiste à rajouter un petit composant, un 74HC08, qui va aiguiller le signal SPI soit vers la dalle supérieur, soit vers la dalle inférieur (le contrôle se fait par deux sorties sur la Due). On va donc balayer l'écran ligne par ligne (comme avant) en commençant par le haut de la dalle supérieur et en terminant par le bas de la dalle inférieur.
Les modifications sur le code source sont donc réduites, et principalement du au fait que l'on passe à une image deux fois plus grande.
Voici le schéma de câblage.
ça devrait donner un truc comme ça.
Voila, si vous avez des questions...
Programme à injecter dans l'arduino : http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x32/Big_DMD_Clock_V0.1.rarFicher gerber pour le module décodeur écran http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x32/DMDRGB-CADCAM.ZIPLe connecteur IN permet de câbler coté Arduino, le connecteur OUT est directement compatible avec l'écran.