Afficheur LED VMA419 avec carte Mega

Bonjour, pour un projet de licence pro, on doit faire fonctionner un afficheur VMA419 fait pour une UNO, sur une MEGA.
Après plusieurs essais en essayant plusieurs solutions, nous sommes a court d'idée et ça ne fonctionne toujours pas.
Si quelqu'un à une solution, merci d'avance.

Expliquez comment il se connecte à un UNO et ce que vous avez essayé pour le mega...

Pour la connecter a la UNO on se met sur les pins 9,8,7,6 avec la 13 et la 11 pour MOSI MISO.
Ensuite pour le mettre sur la MEGA on a mis la 13 et la 11 sur 52 et 51 pour respecter le MISO et le MOSI. Sans succès.
Ensuite, on a essayer de changer les pins dans le DMD.h et le SPI.h puisqu'on les appels pour faire marché le programme mais sans succès également.

vma419_a4v02.pdf (635 KB)

Et les GND

Vérifier les clocks aussi

Les GND sont tous bien cablés au même potentiel.
Pour les clocks je m'y connais pas assez mais notre professeur nous à effectivement dis que ca pouvait venir de la mais n'a pas réussi a régler le problème.

Voici la connexion recommandée dans votre documentation avec un UNO

surUNo.png

dans la doc Ils expliquent qu'ils utilisent 2 librairies: TimerOne et DMD419 et le SPI hardware pour aller vite

les 2 pins SPI utilisées sur UNO sont D13_SCK (pour la PIN_DMD419_CLK) et D11_MOSI (pour la PIN_DMD419_R_DATA) et dans le code source il y a aussi une#define PIN_OTHER_SPI_nCS 10
Si vous regardez la documentation SPI sur un UNO on retrouve bien SCK en 13, MOSI en 11 et la pin 10 correspond au SS slave.

Sur une MEGA la SCK en 52, MOSI en 51 et le SS slave correspond à la pin 53

Je serais donc tenté de modifier leur fichier DMD419.h et remplacer dans le code les éléments marqués
** **<== *** FOR MEGA ****** **

#define PIN_DMD419_nOE       9    // D9 active low Output Enable, setting this low lights all the LEDs in the selected rows. Can pwm it at very high frequency for brightness control.
#define PIN_DMD419_A         6    // D6
#define PIN_DMD419_B         7    // D7
#define PIN_DMD419_CLK       52   // D52_SCK  is SPI Clock <== *** FOR MEGA ****
#define PIN_DMD419_SCLK      8    // D8
#define PIN_DMD419_R_DATA    51   // D51_MOSI is SPI Master Out  <== *** FOR MEGA ****
//Define this chip select pin that the Ethernet W5100 IC or other SPI device uses
//if it is in use during a DMD419 scan request then scanDisplayBySPI() will exit without conflict! (and skip that scan)
#define PIN_OTHER_SPI_nCS 53 // <== *** FOR MEGA ****

et bouger les câbles de la pin 13 vers la 52 et de la pin 11 vers 51

Concernant le Timer:

Dans la doc de la librairie TimerOne ils précisent

Note that timer1 can be used on a Mega but does not support all three output pins OCR1A, OCR1B & OCR1C. Only A & B are supported. OCR1A is connected to pin 11 of the Mega and OCR1B to pin 12. Using one of the three calls that specify a pin, 1 will map to pin 11 on the Mega and 2 will map to pin 12.

Le timer1, sur 16 bits est utilisé par exemple pour la PWM sur les broches 9 et 10 sur UNO.

J'ai pas trop le temps de plonger dans leur code pour le moment - ils ne semblent utiliser le timer que juste pour déclencher un rafraîchissement de l'écran par l'appel de la fonction ScanDMD() mais Comme les pin contrôlées par Timer1 sur UNO ne sont pas les même que sur MEGA peut-être que cela aussi crée des conflits. (je ne sais pas s'ils utilisent le fait que D9 en PWM est commandé par timer1 par exemple --> donc contrôle de OE)

3 idées de test:
0/ faites uniquement la modification du code proposé ci dessus (3 N° de pins à changer donc), assurez vous de câbler et alimenter correctement et faites le test.

1/ testez en prenant la dernière version de Timer1 et non pas celle fournie dans leur download. Dans l'absolu vaut mieux toujours prendre une version plus récente.

2/ si ça ne fonctionne pas remplacez Timer1 dans leur code et utilisez Timer3 à la place

Je l'ai fais en changeant les pins et avec le timer3, et ca marche nickel . Merci t'es le boss

Cool ! Bonne chance pour votre projet !!

Hello guys,

I had the same issue than you, i changed the pins in my vma419.h File only not the SS pin, after configuring it too, it worked as it should.
THANK YOU!!
gz