Menu
CoddyTech

Счёт на дисплее

Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 3 из 24.

С помощью showDigit() отображение одной цифры — это один вызов функции. Цикл for может вызывать её по очереди для каждого числа:

for (int n = 0; n <= 9; n++) {
  showDigit(n);
  delay(500);
}

Условие определяет последнее число. n <= 9 выполняется до 9 включительно; n < 9 останавливается на 8.

Помести цикл в loop(), и когда счёт завершится, loop() запустится снова, а счёт начнётся заново с 0.

challenge icon

Задание

Легко

showDigit() готова. Считай на дисплее:

  • покажи 0, 1, 2 и так далее до 9
  • показывай каждое число в течение 500 ms
  • после 9 начни снова с 0

Нажми Run, чтобы посмотреть, как выполняется счёт, затем нажми Check.

Попробуйте сами

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// Один шаблон на цифру; читать справа: последний бит соответствует сегменту a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // горит
    } else {
      digitalWrite(segmentPins[i], HIGH);  // выключен
    }
  }
}

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  // показывать цифры от 0 до 9, каждую по полсекунды
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Дисплеи и датчики

Потренируйтесь самостоятельно: Песочница Arduino