Загрузка данных


// 6 колонок
const byte columns[6] = {2, 3, 4, 5, 6, 9};

// 2 ряда
const byte rows[2] = {7, 8};

void setup() {
  // Колонки
  for (byte i = 0; i < 6; i++) {
    pinMode(columns[i], OUTPUT);
    digitalWrite(columns[i], LOW);
  }

  // Ряды
  for (byte i = 0; i < 2; i++) {
    pinMode(rows[i], OUTPUT);
    digitalWrite(rows[i], LOW);
  }
}

void showLED(byte row, byte column) {
  // Сначала всё выключаем
  for (byte i = 0; i < 2; i++) {
    digitalWrite(rows[i], LOW);
  }

  for (byte i = 0; i < 6; i++) {
    digitalWrite(columns[i], LOW);
  }

  // Включаем нужную колонку
  digitalWrite(columns[column], HIGH);

  // Включаем нужный ряд
  digitalWrite(rows[row], HIGH);

  delay(150);

  // Выключаем
  digitalWrite(rows[row], LOW);
  digitalWrite(columns[column], LOW);
}

void loop() {

  // Первый ряд слева направо
  for (byte c = 0; c < 6; c++) {
    showLED(0, c);
  }

  // Второй ряд слева направо
  for (byte c = 0; c < 6; c++) {
    showLED(1, c);
  }

  // Второй ряд справа налево
  for (int c = 5; c >= 0; c--) {
    showLED(1, c);
  }

  // Первый ряд справа налево
  for (int c = 5; c >= 0; c--) {
    showLED(0, c);
  }
}