Agora vamos apresentar uma instrução que nos permite criar um loop dentro do programa. Mas ao contrário da função loop(), esta será uma função controlada. Diremos a ela quantas vezes precisa repetir o loop. Trata-se da instrução for. Para exemplificar vamos retomar a montagem do sensor de luz que fizemos com o LDR (veja aqui).

Na montagem, vamos ler a intensidade de luz que incide sobre o LDR através do pino A0 do Arduino.
A luminosidade de um ambiente sempre sofre algum tipo de variação. Consequentemente a leitura do LDR flutuará entre diversos valores.
Para diminuir a flutuação das medidas, em lugar de tomarmor uma por uma, vamos fazer uma média de várias delas usando a instrução for.
Vamos ao programa:

Descrição do programa:
- nas linhas 2 e 3, criamos duas variáveis: uma para guardar as leituras do LDR e outra para guardar a média destas leituras.
- na linha 6, iniciamos a comunicação serial.
- Na linha 11 temos o for. Dentro dos parênteses temos suas três configurações, separadas por ponto-e-vírgula:
- int i = 0 : criamos uma variável de controle chamada i, que marcará a contagem dos loops.
- i < 1000 : controla o loop. Enquanto i for menor que 1000, o loop continuará se repetindo.
- i++ : define o incremento da variável i. Neste caso, cada vez que um loop for executado, o valor da variável i irá aumentar 1.
- na linha 13, a instrução que será executada em cada loop: a variável leitura receberá a leitura do sensor (analogRead (A0)) somada com o valor que ela já guarda.
- na linha 15, calculamos a média das leituras. Como a linha 13 foi executada 1000 vezes, devemos dividir por 1000 para encontrar a média.
- na linha 16, imprimimos a média.
- na linha 17, zeramos a variável leitura para podermos reiniciar tudo novamente.
Agora veja uma outra versão deste mesmo programa. Analise-o e veja se compreende as mudanças:

Caso tenha alguma dúvida, deixe um comentário!

Deixe um comentário