Прошу помощи в светодиодных матрицах

Нет ответов
Kelean
Offline
Зарегистрирован: 26.05.2016

Есть программа для светодиодной матрицы нашел ее на форуме


#define TEST { \
     {0, 1, 0, 1, 0, 0, 0, 1},  \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0} \
 }
 #define TEST2 { \
     {0, 0, 0, 1, 1, 0, 0, 0},  \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0}, \
     {0, 0, 0, 0, 0, 0, 0, 0} \
 }
byte col = 0;
byte leds[8][8]; 
int pins[17]= {-1, 5, 4, 3, 2, 14, 15, 16, 17, 13, 12, 11, 10, 9, 8, 7, 6};        
int cols[8] = {pins[13], pins[3], pins[4], pins[10], pins[06], pins[11], pins[15], pins[16]};       
int rows[8] = {pins[9], pins[14], pins[8], pins[12], pins[1], pins[7], pins[2], pins[5]};
int pattern = 0;
const int numPatterns = 2;
byte patterns[numPatterns][8][8] = {
   TEST2,TEST
};
void setup(){
  for (int i = 1; i <= 16; i++) {
     pinMode(pins[i], OUTPUT);
   }
 setPattern(pattern);
}
void setPattern(int pattern) {
   for (int i = 0; i < 8; i++) {
     for (int j = 0; j < 8; j++) {
       leds[i][j] = patterns[pattern][i][j];
     }
   }
}
void loop(){
  display();
   pattern = ++pattern % numPatterns;
}
void display() {
   digitalWrite(cols[col], HIGH);
   col++;
   if (col == 8) {
     col = 0;
   }
   for (int row = 0; row < 8; row++) {
     if (leds[col][7 - row] == 1) {
       digitalWrite(rows[row], HIGH); 
     }
     else {
       digitalWrite(rows[row], LOW);
     }
   }
   digitalWrite(cols[col], LOW);
}

Как сделать чтобы матрицы менялись, но не бегущей строкой а простой сменой. На подобие слайдов