Contador com sensor de proximidade infravermelho

A maioria dos sensores IR que eu testei tem um alcance limitado, de apenas alguns centímetros. São ideais para pequenos projetos, maquetes e simulações. Um sensor um pouco mais, digamos assim, profissional, é este sensor de proximidade infravermelho.

Sensor de proximidade IR

Ele funciona da mesma maneira que os outros sensores IR mas tem algumas características que facilitam a montagem do seu projeto:

Sensor de proximidade IR

Esse sensor funciona basicamente como todos os outros sensores IR: existe um led emissor IR e um receptor IR, tudo no mesmo componente.

As diferenças estão na montagem do sensor e na distância de detecção, que pode variar de 3 à 80 cm, ajustáveis por um parafuso na parte de trás do sensor:

Girando o parafuso no sentido horário ou anti-horário, você aumenta ou diminui, respectivamente, a sensibilidade do sensor. O componente tem 45mm de comprimento e um diâmetro de 17mm, e vem com duas porcas que facilitam a montagem nos mais variados tipos de suporte.

A cabo de ligação do sensor tem 3 pinos, sendo o pino vermelho o Vcc (alimentação de 5 volts), amarelo o pino de sinal, e o preto, o GND. A leitura pode ser feita por meio de uma porta digital ou analógica do Arduino, dependendo do seu projeto.

Atenção: o seu sensor pode vir com os fios nas cores diferentes dessas citadas acima, ok? Outra configuração possível são os fios Rosa, Azul e Preto, sendo:

O funcionamento, como eu comentei, é igual ao de outros sensores IR: o led emite luz infravermelha, que dependendo da superfície é refletida e volta para ser detectada pelo fototransistor, enviando um sinal de 0,3 à 1,5v em nível baixo, e de 2,3 à 5v em nível alto, ao pino de sinal.

Conexão do sensor IR no Arduino

Eu utilizei esse sensor para montar um contador que registra a passagem de caixas em uma esteira. A cada 10 caixas, é emitido um sinal sonoro para que o operador do equipamento tome algum tipo de ação:

Os dados são enviados para o serial monitor, apenas para monitoramento do contador, mas um display LCD ou 7 segmentos pode ser facilmente adaptado ao projeto.

O comando while(digitalRead(pinosensor) != 1) evita que o contador seja incrementado caso um objeto pare em frente ao sensor:

// Programa : Contador com sensor de proximidade IR
// Autor : Arduino e Cia  

int contador = 0;
int pinosensor = 5;
int pinobuzzer = 7;
int leitura; //Armazena o valor lido pelo sensor  
   
void setup() 
{  
  //Define o pino do sensor como entrada, e o do buzzer como saida
  pinMode(pinosensor, INPUT); 
  pinMode(pinobuzzer, OUTPUT);
  Serial.begin(9600); 
}  
   
void loop() 
{  
  //Le as informações do pino do sensor  
  leitura = digitalRead(pinosensor);   
  if (leitura != 1) //Verifica se o objeto foi detectado  
  {  
    contador = contador++; //Incrementa o valor do contador  
    Serial.print("Contador : ");
    Serial.println(contador);
    //Se o contador atingir 10, aciona o buzzer
    if (contador == 10)
    {
      tone(pinobuzzer,262,500);
      contador = 0;
    }
    //Loop caso o objeto pare na frente do sensor
    while(digitalRead(pinosensor) != 1)  
    {  
      //Comando
    }  
  }   
} 

Abaixo, um vídeo demonstrativo do sensor com um contador até 5:


Gostou do sensor de proximidade IR? Confira outros posts com sensor infravermelho aqui mesmo no Arduino e Cia!

5/5 - (1 voto)

Related posts

Controle de vagas de estacionamento com o sensor HC-SR04

by Arduino e Cia
11 anos ago

Sensor de temperatura HDC1080 com Arduino

by Arduino e Cia
6 anos ago

Detectando campos magnéticos com o Sensor Hall KY-003

by Arduino e Cia
10 anos ago
Sair da versão mobile