Projeto Atual:

Programando Aplicativos com Javascript

04/01/2020

Programação e Robótica II - Parte 5

Sensor de Luz

Na tarefa anterior, montamos um sensor de luz, mas ele não foi utilizado. O Circuito do sensor (mostrado no tópico anterior) consiste de um LDR (Light Dependent Resistor) formando um divisor de tensão com um resistor comum de 10k Ohm (marrom, preto e laranja). Os dois componentes são ligados em série, e alimentados com a tensão de 5V do Arduino. O LDR fica ligado aos 5V, e o resistor comum ao GND (terra). Quando há muita luz, a resistência do LDR é baixa, e a tensão no ponto intermediário do divisor de tensão fica alta. Quando há pouca luz, esta tensão fica baixa. Ligamos este ponto intermediário ao pino de entrada analógica A5 do Arduino.

Criamos a função tem_luz() que indica se há luz suficiente em torno do carro. Modificamos o código principal para acender o farol quando há pouca luz, e apagá-lo quando há bastante luz.



Segue o código em C/C++ da função tem_luz() e o código principal alterado para usar esta função:

// Verifica se existe luz suficiente em torno do carro.
// O pino A5 está ligado ao sensor de luz.
boolean tem_luz() {
  if (digitalRead(A5)) {
    return true;
  }
  return false;
}

void loop() {
  velocidade = 180;
  if (distancia() < 30) {
    parar();
    buzinar();
    esquerda();
    delay(1000);
    parar();
  } else {
    avancar();
  }
  if (tem_luz()) {
    apagar_farol();
  } else {
    acender_farol();
  }
  delay(200);
}



Mais detalhes:

Se analisarmos mais de perto a função tem_luz(), vamos perceber que embora o pino utilizado seja próprio para leitura analógica, retornando valores entre 0 e 1032 para tensões de entrada entre 0V e 5V, ele foi usado para uma leitura digital. Pudemos fazer isso porque só nos importamos em saber se o valor lido é alto ou baixo. Na leitura digital, qualquer valor próximo de 0V dá resultado 'false' (falso), enquanto os valores próximos de 5V dão resultado 'true' (verdadeiro).


O Divisor de Tensão


No início do tópico, mencionamos um divisor de tensão (resistivo). Este é um circuito simples, em que dois resistores são ligados em série, e submetidos a uma tensão. Por estarem ligados em série, a corrente que passa por um resistor é a mesma que passa pelo outro, e a tensão sobre o conjunto é a soma das tensões sobre cada resistor. Se os dois resistores têm resistências R1 e R2, respectivamente, pela propriedade de que a tensão é proporcional à corrente e à resistência, temos:
V1 = R1 * I
V2 = R2 * I
V1 + V2 = V

Onde V é a tensão aplicada ao conjunto, e V1 e V2 são as tensões resultantes entre os terminais de cada resistor.

Manipulando essas equações, chegaremos à fórmula:
V1 = V * R1 / (R1 + R2)

Se os dois resistores tiverem o mesmo valor, por exemplo, a tensão no ponto intermediário será a metade do valor aplicado ao conjunto. Se R1 é muito menor que R2, a tensão sobre R1 é próxima de zero, e se é muito maior que R@, a tensão é próxima do valor máximo. É deste jeito que funciona o nosso circuito.


Este artigo da Wikipedia explica o funcionamento de um divisor de tensão, e forrnece mais informações: https://pt.wikipedia.org/wiki/Divisor_de_tens%C3%A3o

Passar à Parte 6

Nenhum comentário:

Postar um comentário