Explica melhor!

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


Todos os pinos do Arduino Uno R3 são pinos digitais. Isto significa que quando são saídas (OUTPUT) fornecerão 5 V de tensão e quando forem entradas (INPUT) fornecerão 0 V de tensão. Mas há maneiras de contornar isso e fazer com que alguns pinos forneçam tensões entre 0 V e 5 V ou fazer com que recebam e interpretem entradas diferentes de 0 V ou 5 V.

O caso que vamos descrever agora é o caso em que o pino está sendo usado como entrada (INPUT) e precisamos que ele entenda entradas que estejam entre 0 V e 5 V. Primeiramente, não é em qualquer pino que conseguimos isso. Existe um conjunto de pinos específicos, marcados como A0, A1, A2, A3, A4 e A5, que são chamados de pinos analógicos. Eles estão conectados a um conversor analógico/digital (conversor A/D) que permite com que isso aconteça. Por enquanto, não vamos entrar nos detalhes deste conversor. Vamos direto para a montagem:

Montamos um resistor de 10.000 Ω (10 kΩ) em série com um LDR, que é um resistor dependente de luz. Um dos terminais do resistor está conectado no pino GND (fio preto), um dos terminais do LDR está conectado no pino que fornece 5 V (fio laranja). Um dos terminais do resistor está conectado com um dos terminais do LDR e esta conexão vamos ligar ao pino A0 do Arduino (fio branco). Nesta configuração, o pino A0 estará lendo a saída (Vout) de um divisor de tensão (veja mais aqui) constituido pelo resistor e pelo LDR.

O que alimenta o circuito é o pino 5 V do Arduino, então o pino A0 receberá no máximo esse valor e, no mínimo 0 V.

A resistência do LDR depende da quantidade de luz que incide sobre ele. Quanto mais luz, menor será a resistência e menor será a tensão no LDR. O conversor A/D do Arduino entregará proporcionalmente um valor entre 0 e 1023, ou seja, quanto mais luz, maior o número.

Agora vamos ao programa que lerá o pino A0:

  • na linha 2, criamos uma variável chamada leitura para guardar os valores medidos;
  • na linha 5, dentro do setup(), iniciamos a comunicação serial. Repare que não precisamos fazer

pinMode (A0, INPUT);

os pinos analógicos já são configurados como INPUT.

  • na linha 9, fazemos a leitura do pino A0 com

analogRead (A0);

e guardamos o resultado na variável leitura.

  • na linha 10, imprimimos na tela o valor que está guardado na variável leitura.

Concluindo, para fazer a leitura dos pinos analógicos (do A0 até o A5) do Arduino usamos a instrução analogRead(), que retornará algum valor entre 0 e 1023 de forma proporcional à resposta do sensor que estivermos usando.

Deixe um comentário