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 menosColoque 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.
Desafio
FácilFaça o LED no pino 13 piscar cada vez mais rápido:
- no início, crie
int waitTime = 1000; - em
loop(), pisque usandodelay(waitTime)nas duas esperas - no final de
loop(), diminuawaitTimeem 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
}
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
2Conversando com o seu computador
Olá, Monitor SerialPrint versus PrintlnExibindo númerosSua primeira variávelContando para cimaQuando um Int chega ao limite3Matemática no Quadro
Constantes NomeadasOperadores AritméticosDivisão InteiraDecimais com floatUm Piscar que AceleraPratique por conta própria: Playground de Arduino