Помогите создать таймер с обратным отсчётом на 7-ми сегментном индикаторе.

Андрей Чемезов
Offline
Зарегистрирован: 01.12.2018

Помогите изменить скетч чтобы он заработал. Программа проверяет и находит ошибки. Исправьте пожалуйста.

// LED pins
int aPin = 9; 
int bPin = 2;
int cPin = 3;
int dPin = 4;
int ePin = 5;
int fPin = 6;
int gPin = 7;
int dpPin = 8;

// digits pins
int y1 = 10;
int y2 = 11;
int y3 = 12;
int y4 = 13;

// pins arrays
int ledArray[] = {aPin, bPin, cPin, dPin, ePin, fPin, gPin, dpPin
int yArray[] = {y1, y2, y3, y4

// timer value
int test = 20;

void setup() {

  pinMode(LEDPin, OUTPUT
  
  // pinMode OUTPUT for all LED pins
  for (int i = 0; i < 8; i++
    pinMode(ledArray[i], OUTPUT
  }


  // pinMode OUTPUT for pins that control digits
  for (int i = 0; i < 4; i++
    pinMode(yArray[i], OUTPUT
  }

}

void loop() {
  
  int thousand = test/1000;
  int hundred = (test - thousand*1000)/100;
  int ten = (test - thousand*1000 - hundred*100)/10;
  int one = test - thousand*1000 - hundred*100 - ten*10;
  
  // OFF all digit pins at start
  for (int y = 0; y < 4; y++
    digitalWrite(yArray[y], HIGH
  }
  
  // check that number to display is not zero
  if (test > 0) {

    // loop for display digits
    for (int i = 0; i < 50; i++
      
      // display first digit
      if (thousand != 0) {
        digitalWrite(yArray[0], LOW
        LEDDisplay(thousand
        delay (5);
        digitalWrite(yArray[0], HIGH
 } else {
        digitalWrite(yArray[0], LOW
        LEDDisplay(0);
        delay (5);
        digitalWrite(yArray[0], HIGH
      }

      // display second digit
      if (hundred != 0) {
        digitalWrite(yArray[1], LOW
        LEDDisplay(hundred
        delay (5);
        digitalWrite(yArray[1], HIGH
 } else {
        digitalWrite(yArray[1], LOW
        LEDDisplay(0);
        delay (5);
        digitalWrite(yArray[1], HIGH
      }

      // display third digit
      if (ten != 0) {
        digitalWrite(yArray[2], LOW
        LEDDisplay(ten
        delay (5);
        digitalWrite(yArray[2], HIGH
 } else {
        digitalWrite(yArray[2], LOW
        LEDDisplay(0);
        delay (5);
        digitalWrite(yArray[2], HIGH
      }

      // display last digit
      if (one != 0) {
        digitalWrite(yArray[3], LOW
        LEDDisplay(one
        delay (5);
        digitalWrite(yArray[3], HIGH
 } else {
        digitalWrite(yArray[3], LOW
        LEDDisplay(0);
        delay (5);
        digitalWrite(yArray[3], HIGH
      }
    // close for loop
    }

    
    // decriment number for count down
 test = test - 1;
 } else {
    digitalWrite(dpPin, HIGH); // use this dpPin for LED
  }


}

void LEDDisplay(int x

  switch(x
    case 0:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, HIGH
      digitalWrite(ePin, HIGH
      digitalWrite(fPin, HIGH
      digitalWrite(gPin, LOW
      digitalWrite(dpPin, LOW
      break;
    case 1:
      digitalWrite(aPin, LOW
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, LOW
      digitalWrite(ePin, LOW
      digitalWrite(fPin, LOW
      digitalWrite(gPin, LOW
      digitalWrite(dpPin, LOW
      break;
    case 2:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, LOW
      digitalWrite(dPin, HIGH
      digitalWrite(ePin, HIGH
      digitalWrite(fPin, LOW
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    case 3:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, HIGH
      digitalWrite(ePin, LOW
      digitalWrite(fPin, LOW
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    case 4:
      digitalWrite(aPin, LOW
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, LOW
      digitalWrite(ePin, LOW
      digitalWrite(fPin, HIGH
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    case 5:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, LOW
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, HIGH
      digitalWrite(ePin, LOW
      digitalWrite(fPin, HIGH
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    case 6:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, LOW
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, HIGH
      digitalWrite(ePin, HIGH
      digitalWrite(fPin, HIGH
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    case 7:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, LOW
      digitalWrite(ePin, LOW
      digitalWrite(fPin, LOW
      digitalWrite(gPin, LOW
      digitalWrite(dpPin, LOW
      break;
    case 8:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, HIGH
      digitalWrite(ePin, HIGH
      digitalWrite(fPin, HIGH
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    case 9:
      digitalWrite(aPin, HIGH
      digitalWrite(bPin, HIGH
      digitalWrite(cPin, HIGH
      digitalWrite(dPin, LOW
      digitalWrite(ePin, LOW
      digitalWrite(fPin, HIGH
      digitalWrite(gPin, HIGH
      digitalWrite(dpPin, LOW
      break;
    default:
      digitalWrite(aPin, LOW
      digitalWrite(bPin, LOW
      digitalWrite(cPin, LOW
      digitalWrite(dPin, LOW
      digitalWrite(ePin, LOW
      digitalWrite(fPin, LOW
      digitalWrite(gPin, LOW
      digitalWrite(dpPin, LOW
  }
}

void dp () {
// digitalWrite(aPin, LOW
// digitalWrite(bPin, LOW
// digitalWrite(cPin, LOW
// digitalWrite(dPin, LOW
// digitalWrite(ePin, LOW
// digitalWrite(fPin, LOW
// digitalWrite(gPin, LOW
      digitalWrite(dpPin, HIGH
}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Какие ошибки? 

 

SLKH
Offline
Зарегистрирован: 17.08.2015

sadman41 пишет:

Какие ошибки? 

 

Тоже интересно.

Ибо отсутсвие закрывающих скобок, похоже, не ошибка, а принцип.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

интересно, это как/чем надо было так закопипастить ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вам сколько лет?

И где Вы взяли .... эээ ... то, что Вы называете кодом?