Você está na página 1de 10

Sensor de obstáculo

infravermelho.

O sensor de obstáculo pode ser utilizado para


automatizar certos sistemas. Por exemplo,
fazer um controle de quantas pessoas saíram
ou entraram em um ambiente. Sendo assim,
vamos aprender o que é e como utilizá-lo com
o Arduino.

O que é
Da forma como encontramos à venda na
internet, o sensor de obstáculo consiste em
dois LEDs infravermelhos paralelos. Esses dois
LEDs são responsáveis por dizer se há ou não
um objeto na frente do sensor. A foto abaixo
mostra o exemplo de um módulo.
Entretanto, um outro sensor que tenha a
capacidade de verificar se há algo em sua
frente também pode ser considerado um
sensor de obstáculo.

Funcionamento
O funcionamento por trás desse tipo de
sensor é relativamente simples. Basicamente,
um LED emissor de luz infravermelha fica
aceso o tempo todo. E, paralelo a ele, existe
um LED infravermelho receptor. Idealmente,
a luz do emissor não chega diretamente ao
receptor, já que os dois estão em paralelo. Na
prática, a luz que chega lateralmente pode ser
desconsiderada.
Dessa forma, é necessário que exista uma
barreira na frente dos LEDs para que o raio de
luz infravermelha do emissor seja refletido
nela e chegue ao receptor. Esse processo é
semelhante ao funcionamento do sensor de
distância ultrassônico. A imagem abaixo
ilustra o que foi falado:

Quanto maior for a distância entre os LEDs e


o obstáculo, menor será a intensidade de luz
infravermelha que conseguirá passar entre os
LEDs. E, de acordo com a intensidade de luz
no receptor, maior será a corrente que flui
pelo LED (“gerada” devido a luz). Se um
resistor estiver em série com este LED, haverá
uma queda de tensão no resistor que será
inversamente proporcional à distância do
objeto.
Sendo assim, é possível até descobrir a
distância do objeto ao sensor a partir da
intensidade medida. O porém para este caso
esta citado no tópico abaixo. É interessante
notar que a utilização da luz infravermelha
permite que o sistema fique invisível ao olho
humano, inibindo qualquer poluição visual
desnecessária.

Limitação
Apesar de ter um funcionamento bem
interessante, o sensor de obstáculo tem uma
limitação grave. Dado que ele trabalha com
luz infravermelha, qualquer fonte de radiação
infravermelha é capaz de influenciar o sensor.
Felizmente (ou não), o nosso corpo, que é um
emissor de radiação infravermelha, não é
capaz de atrapalhar o sensor
significativamente (de acordo com testes que
fiz). Porém, ainda temos a luz solar, que
possui luz infravermelha, e ela atrapalha
bastante o sensor. De acordo com meus
testes, se o sensor receber luz indireta, que
vem de uma janela aberta por exemplo, ele é
capaz de detectar um objeto mesmo que não
tenha nada na sua frente.
A distância máxima de detecção do sensor é
bem pequena, pois, a partir de um certo
valor, a luz infravermelha do ambiente se
iguala à luz detectada pelo receptor. Enfim,
esse sensor é recomendado apenas para
aplicações em ambientes mais fechados com
pouca iluminação solar. Um ambiente com
janela fechada já deve ser suficiente.

Implementação no Arduino.

Módulo sensor de obstáculo

Este módulo possui 3 pinos. Sendo 2 para


alimentação e 1 para a leitura do sensor. No
circuito do módulo, existe um comparador
ligado ao receptor e ligado a uma tensão de
referência. A tensão de referência é ajustada
pelo potenciômetro da placa.
Desse modo, o pino de leitura indica nível alto
para o caso do nível de tensão do receptor ser
maior do que a tensão de referência. E indica
nível baixo para o caso do receptor ter nível
de tensão abaixo deste valor.

Circuito
O circuito é bem direto: é necessário ligar as
alimentações do módulo (5V no pino VCC e
GND no GND) do Arduino respectivamente. E
o pino de saída (OUT) deve ser ligado em um
pino digital do Arduino. O LED que indicará a
presença do objeto será o LED que já existe
na plaquinha do Arduino UNO, que fica ligado
ao pino 13.
Veja a ligação abaixo:
Ligando um LED por 2 segundos com sensor
infravermelho:
Código:

#define sensor 2 // Define o pino do sensor

#define led 13 // Define o pino do LED

void setup() {

pinMode(sensor, INPUT); // Define o sensor como entrada

pinMode(led, OUTPUT); // Define o LED como saída

void loop() {

// Se o sensor detectou um objeto (nível baixo)

if(digitalRead(sensor) == 0){

// Acende o LED por 2 segundos e apaga

digitalWrite(led, HIGH);

delay(2000);

digitalWrite(led, LOW);

Você também pode gostar