Go Down

Topic: LED Matrix MAX7219 (Read 989 times) previous topic - next topic

cblais

Bonjour,

J'ai un Arduino Uno avec lequel j'aimerais faire un projet de LED matrix avec un Maxim 7219CNG. Par contre, je n'y arrive pas. Mon problème est que toute les del s'allument ou se ferme. Pas moyen d'en allumer une à la fois. Je n'arrive pas à déceler le problème. J'utilise la bibliothèque LedControl.h sur la version 1.0.3 d'Arduino. Voici mon code et mon shéma. Mon LED matrix est un ARK SZ420788K (common cathode). Si vous pouvez m'aider, j'apprécierais énormément. Merci.



Code: [Select]
#include "LedControl.h"

/*
pin 12 is connected to the DataIn, PIN 1
pin 11 is connected to the CLK, PIN 13
pin 10 is connected to LOAD, PIN 12
We have only a single MAX72XX.
*/
LedControl lc=LedControl(12,11,10,1);

void setup() {
  /* The MAX72XX is in power-saving mode on startup, we have to do a wakeup call */
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,8);
  /* and clear the display */
  lc.clearDisplay(0);
}

void loop() {

// fait clignoter un pixel
// en réalité l'écran change d'intensité !!?

  lc.setLed(0,2,7,true);
  delay(1000);
  lc.clearDisplay(0);
  delay(1000);
 
}



bonsoir Cblais

je me permet de vous répondre en esperant de vous aider
tout d'abords j'ai aussi un montage a base de MAX7219 et sur mon montage le MAX7219 n'est pas alimenté par l'arduino
j'ai peur que l'arduino ne puisse pas fournir toute la puissance demandée par le MAX7219
donc pour moi une alimentation separée reglée sur 5V et tout fonctionne tres bien

ensuite dans votre code 

Code: [Select]
lc.setLed(0,2,7,true);

vous allumez la led  mais par contre vous ne l'éteignez pas
par contre vous effacez l'affichage
essayez d'eteindre votre led avant effacer la matrice
Code: [Select]
lc.setLed(0,2,7,false);

si cela peut resoudre votre probleme

cordialement
Jean-Pierre
Si ton travail n'est pas à la hauteur de tes espérances sache que le grand chêne lui aussi a été un gland...

cblais

J'ai trouvé !

Le code est bon. Je pourai m'amuser avec et trouver plein de possiblilités. Par contre, je penses m'être fait avoir sur mes 8x8 display. Ils sont peut-être "common annode". Si j'interchange les pins dig0 pour dp, dig1 pour A, dig 2 pour B... ça fonctionne. Donc, je change les "rows" pour les "cols". Avec mon anglais de niveau élémentaire, j'ai trouvés cette solution sur un autre forum. Il ne me reste plus plus qu'à les mettre en cascade maintenant. Merci à ceux qui ont essayé.

Go Up