//Allumer la première led //Propager un niveau 0 #include "panneauLeds2.h" int main() { pulse(RESET); //Index pour les colonnes int j = 0; //tableau de booléens bool tab1D_L0[NCOLONN] = {0,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,0,}; bool tab1D_L1[NCOLONN] = {0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,}; bool tab1D_L2[NCOLONN] = {0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,}; bool tab1D_L3[NCOLONN] = {0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,1,0,0,1,0,}; bool tab1D_L4[NCOLONN] = {0,1,1,1,1,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,}; bool tab1D_L5[NCOLONN] = {0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,}; bool tab1D_L6[NCOLONN] = {0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,}; bool tab1D_L7[NCOLONN] = {0,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,}; configPanel(); clearPanel(); //Initialiser le compteur de ligne //Pour commencer à la première ligne while(1) { //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L0[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L1[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L2[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L3[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); //On pousse les valeurs du tableau sans activer les sorties for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L4[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); //On pousse les valeurs du tableau sans activer les sorties for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L5[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); //On pousse les valeurs du tableau sans activer les sorties for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L6[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); //Mémoriser les états des leds avec les valeurs du tableau digitalWrite(STROBE1,HIGH); //On pousse les valeurs du tableau sans activer les sorties for(j = 0; j < NCOLONN; j++) { //On pousse un niveau 1 if(tab1D_L7[j] == 1) { digitalWrite(DATA_V1,LEDON); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } //On pousse un niveau 0 else { digitalWrite(DATA_V1,LEDOFF); digitalWrite(DATA_R1,LEDOFF); pulse(HRD1); } } //On active les sorties digitalWrite(OE,HIGH); delay(DELAY); //On change de ligne digitalWrite(OE,LOW); } return(0); }