Официальный сайт компании Arduino по адресу arduino.cc
Не могу понять как задать смену матриц с помощью потенциометра
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 28/05/2016 - 19:42
Нужно задать смену светодиодных матриц с пощью потенциометра. Не могу понять как сделать смену матриц.
вот код
#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); }