Beasoin d'aide programmation/materiel

Bonjour à tous!

Voilà mon problème: je veux faire le montage suivant sur un arduino uno

… Avec le code suivant (que j’ai trouvé et adapté, merci VADIM):

int DataPin = 11;
int LatchPin = 8;
int ClockPin = 12;
int clock = 9;
int Reset = 10;
//x,y for the loop
int x;
int y;
// here the definion of all the letter(big ans small) and numbers
#define A
{B00000000,B00111100,B01000010,B01000010,B01000010,B01111110,B01000
010,B01000010,B01000010,B00000000}
#define B
{B00000000,B01111100,B01000010,B01000010,B01111100,B01000010,B01000
010,B01000010,B01111100,B00000000}
#define C
{B00000000,B00111110,B01000000,B01000000,B01000000,B01000000,B01000
000,B01000000,B00111110,B00000000}
#define D
{B00000000,B01111100,B01000010,B01000010,B01000010,B01000010,B01000
010,B01000010,B01111100,B00000000}
#define E
{B00000000,B01111110,B01000000,B01000000,B01111100,B01000000,B01000
000,B01000000,B01111110,B00000000}



#define num_4
{B00000000,B00000100,B00001100,B00010100,B00100100,B01000100,B01111
110,B00000100,B00000100,B00000000}
#define num_5
{B00000000,B01111110,B01000000,B01000000,B00111100,B00000010,B00000
010,B00000010,B01111100,B00000000}
#define num_6
{B00000000,B00111100,B01000000,B01000000,B01111100,B01000010,B01000
010,B01000010,B00111100,B00000000}
#define num_7
{B00000000,B01111110,B00000010,B00000100,B00001000,B00010000,B00010
000,B00010000,B00010000,B00000000}
#define num_8
{B00000000,B00111100,B01000010,B01000010,B00111100,B01000010,B01000
010,B01000010,B00111100,B00000000}
#define num_9
{B00000000,B00111100,B01000010,B01000010,B01000010,B00111110,B00000
010,B00000010,B00111100,B00000000}
#define times
{B00000000,B00000000,B01000010,B00100100,B00011000,B00011000,B00100
100,B01000010,B00000000,B00000000}
const int numPatterns = 17;//this is the number of patterns you want to display
byte patterns[numPatterns][10]=
{space,M,A,D,E,space,B,Y,space,V,A,D,I,M,space};// the patterns order
void setup(){
pinMode(DataPin,OUTPUT);
pinMode(ClockPin,OUTPUT);
pinMode(LatchPin,OUTPUT);
//simple stuff here
pinMode(clock,OUTPUT);
pinMode(Reset,OUTPUT);
//reseting the 4017 IC, you have to do this
digitalWrite(Reset,HIGH);
delayMicroseconds(5);
digitalWrite(Reset,LOW);
}
void display_pattern(int loops)//int loop acts like a delay, it take 8 mSecands to
scan all of the rows so int loops = 15 is a good time for it
{
for(x=0;x<numPatterns-1;x++){ // loop over the patterns
for (int z=0;z<8;z++){ //scrolls one bite at a time
for(int t=0;t<loops;t++){// the delay we get with loops
for(y=0;y<10;y++){// loops over the array of bytes
byte temp = patterns[x][y];
byte temp_2=patterns[x+1][y];
digitalWrite(LatchPin, 0);
shiftOut(DataPin, ClockPin,MSBFIRST,((temp<<z)+(temp_2>>7-z)));//writes
digital outputs, Z is for how much bites it need to scroll
digitalWrite(LatchPin, 1);
delayMicroseconds(800);
digitalWrite(LatchPin, 0);
shiftOut(DataPin, ClockPin,MSBFIRST,0);
digitalWrite(LatchPin, 1);
digitalWrite(clock,HIGH);
digitalWrite(clock,LOW);
}
}
}
}
}
void loop(){
display_pattern(15);// calls for the display_pattern function and says that int loop =
15(if you do more loop the pattern whould scrrol slower).
}

Pour l’instant j’en suis au tout début.

Lorsque je ne connecte qu’une matrice, le texte scroll bien mais avec un décalage d’un pixel, donc je n’ai pas la dernière ligne et la première ligne est vide. Avec d’autres codes, toutes les LED s’allument, donc je ne sais pas si c’est un problème de branchement. En même temps le texte est à 90°, donc j’ai probablement inversé ligne et colonne.

Lorsque je connecte les matrices 1 et 2, la 2ème affiche la même chose que la première mais moins lumineux et décalé d’encore une ligne vers le bas.

Quand j’aurai réussi à en connecter 2 sur la même ligne ce sera bon pour les autres de la ligne mais mon autre problème (et j’ai d’ailleurs laissé un vide sur le schéma) c’est comment connecter la 2ème ligne ? Avec un autre couple CD4017 ULN2803 ?

J’ai penser à utiliser des 74hc595 à la place du/des CD4017…

Une dernière chose: j’ai connecté toutes les masses au pin GND de mon arduino dans la section power. Est-ce une bonne chose?

MERCI BEAUCOUP de m’aider les potes :smiley:

PS:j’ai effacé la majorité des définitions des lettres pour gagner de la place