Explica melhor!

Física, matemática e robótica.


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