Menu
CoddyTech

Contagem Regressiva até Zero

Parte da seção Displays e sensores do Journey de Arduino da Coddy. Lição 4 de 24.

Assim como na varredura do servo, um laço for pode contar regressivamente: comece com um valor alto, continue enquanto o número for 0 ou maior e subtraia um a cada vez com n--:

for (int n = 5; n >= 0; n--) {
  showDigit(n);
  delay(1000);
}

Isso mostra 5, 4, 3, 2, 1 e 0. Com n > 0, ele pararia em 1 e nunca mostraria 0.

Uma contagem regressiva deve acontecer uma vez, não repetidamente. O código em setup() é executado uma vez, então coloque a contagem regressiva ali e o que deve acontecer em 0 depois dela. loop() pode ficar vazio, e o 0 permanece no visor.

challenge icon

Desafio

Fácil

O buzzer está no pino 9. Faça uma contagem regressiva para o lançamento:

  • em setup(), faça a contagem regressiva de 5 até 0, um número por segundo
  • em 0, toque o buzzer com tone(buzzerPin, 880, 1000)
  • deixe o 0 no visor

Pressione Executar e depois Verificar.

Experimente você mesmo

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

// Um padrão por dígito, lido da direita para a esquerda: o último bit corresponde ao segmento 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);   // aceso
    } else {
      digitalWrite(segmentPins[i], HIGH);  // apagado
    }
  }
}

const int buzzerPin = 9;

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

  // faça a contagem regressiva de 5 até 0 aqui e, em seguida, acione o buzzer
}

void loop() {
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Displays e sensores

Pratique por conta própria: Playground de Arduino