Menu
CoddyTech

Um Piscar que Acelera

Parte da seção Primeiros circuitos do Journey de Arduino da Coddy. Lição 17 de 22.

delay(waitTime) espera o tempo que waitTime contém naquele momento. Altere a variável enquanto o sketch está em execução, e o piscar mudará junto com ela.

waitTime = waitTime - 100;   // a próxima piscada dura 100 ms a menos

Coloque isso no final de loop() e cada piscada será mais curta que a anterior.

Observe o que acontece quando ele fica em execução por um tempo. A espera diminui até 0 e, depois, fica abaixo de 0. delay() não pode esperar um tempo negativo: ele interpreta -200 como um número enorme, cerca de 49 dias, então o LED parece congelado. Um sketch precisa decidir por conta própria quando parar de diminuir, e é disso que trata a próxima lição.

challenge icon

Desafio

Fácil

Faça o LED no pino 13 piscar cada vez mais rápido:

  • no início, crie int waitTime = 1000;
  • em loop(), pisque usando delay(waitTime) nas duas esperas
  • no final de loop(), diminua waitTime em 200

Pressione Executar e observe até que ele congele; então, Verificar.

Experimente você mesmo

// crie waitTime aqui

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // diminua waitTime
}
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 Primeiros circuitos

Pratique por conta própria: Playground de Arduino