Como Usar o Sensor Infravermelho TCRT5000 Com Arduino

Você também pode gostar

Você está na página 1de 4

Como usar o sensor infravermelho TCRT5000

com Arduino
 30 de junho de 2022  Carol Correia Viana  0 comentários arduino
O sensor infravermelho é um dispositivo eletrônico que emite e/ou detecta
radiação infravermelha com o intuito de revelar alguns aspectos do ambiente a seu
redor. Esses sensores podem ser utilizados para detectar movimentos, medir o
calor de um objeto, em leitores de código de barras, alarmes de passagem, entre
outros.

Para aplicações de robótica, o sensor infravermelho é muito utilizado na


construção de robô seguidor de linha. Este robô possui como objetivo percorrer
um determinado trajeto sendo direcionado por uma linha preta, branca ou cores
intermediárias. Para esta aplicação, o TCRT5000 (Figura 1) é amplamente utilizado.

Figura 1 – Sensor TCRT5000.

O sensor infravermelho TCRT5000 inclui um emissor infravermelho e um


fototransistor em uma embalagem que bloqueia a luz visível.

A proposta deste projeto é utilizar o sensor infravermelho em conjunto com a


placa UNO para detectar linha. O infravermelho utilizado será o sensor seguidor de
linha TCRT 5000, componente comumente aplicado em projetos de robôs seguidor
de linha.

MATERIAIS NECESSÁRIOS
 1 x Placa UNO SMD R3 Atmega328 compatível com Arduino UNO;
 1 x Cabo USB;
 1 x Protoboard;
 1 x TCRT 5000;
 1 x Resistor de 10 kΩ;
 2 x Resistores de 220 Ω;
 1 x LED difuso.

ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES


Conecte os componentes na protoboard conforme a Figura 2.
Figura 2 – Circuito para projeto detectar linha com sensor infravermelho.

Ao montar seu circuito na protoboard preste atenção nos seguintes pontos:

 O TCRT 5000 é formado por dois componentes. O primeiro é um LED infravermelho


(componente de cor azul), que emite um feixe de luz numa frequência não visível a olho
nu; O segundo é um fototransistor (componente de cor preta), que captura o feixe de luz
emitido pelo infravermelho;
 Estes dois componentes funcionam em conjunto. O LED emite a luz infravermelha que é
refletida por um objeto, posicionado em frente ao sensor, que é detectada pelo
fototransistor;
 A cor e o material do objeto podem interferir no funcionamento do TCRT 5000. Ex.
Objetos de cor preta não são bons refletores;
 O sensor TCRT 5000 possui quatro pinos, sendo dois do LED infravermelho e dois do
fototransistor, como ilustra a imagem a seguir:

Figura 3 – Pinos do Sensor TCRT 5000


 Ânodo do LED infravermelho (D+);
 Cátodo do LED infravermelho (D-);
 Coletor do fototransistor (T+);
 Emissor do fototransistor (T-);
 O cátodo do LED difuso, o cátodo do LED infravermelho (D-) e o emissor do fototransistor (T-)
devem ser ligados ao terra (GND)da placa UNO;
 O ânodo do LED difuso deve ser ligado a porta digital 9, o ânodo do LED infravermelho (D+) deve
ser ligado ao 5V e o coletor do fototransistor deve ser ligado a porta digital 8. Conectamos também
uma resistência de 10 kΩ entre a porta 8 e o 5V da placa UNO.

ELABORANDO O CÓDIGO
O proposito deste projeto é realizar a detecção de uma linha preta utilizando o sensor
infravermelho TCRT 5000, de forma que ao detectar a linha preta o estado do sensor
será nível baixo (LOW).

Vamos entender a lógica de programação deste projeto com os seguintes passos:

1.Definir as variáveis:
Definimos o pino digital 8, em que o pino T+ do sensor TCRT 5000 está conectado,
a variável pinoIR, e o pino 9, em que o LED difuso está conectado, a variável ledpin.
Definimos a variável valorLido, do tipo inteiro, para armazenar o estado
(HIGH/LOW) do infravermelho;

2.Configurar as portas de entrada e saída e inicializar a comunicação serial:


O pinoIR (pino 8) será definido como entrada (INPUT) e ledpin será definido como
saída (OUTPUT);

A comunicação serial foi inicializada por meio da instrução: Serial.begin(9600);

3. Realizar a leitura:
No loop realizamos a leitura digital da variável pinoIR (pino 8) e atribuímos este
valor a variável valorLido;

4. Comparar o valor lido:


Utilizaremos a lógica do if…else para comparar se a variável valorLido encontra-se
em nível alto ou baixo (linha detectada ou linha não detectada), da seguinte
maneira:

 Se a variável valorLido estiver em nível lógico baixo (LOW) será exibida no monitor
serial a mensagem “Linha detectada” e o LED difuso será acionado;
 Senão, será exibida no monitor serial a mensagem “Linha NÃO detectada” e o LED
difuso será desligado.
O programa do projeto proposto encontra-se detalhado a seguir:

/*
 = DETECTAR LINHA SENSOR INFRAVERMELHO TCRT5000 =
 ================================================
 == BLOG DA ROBOTICA - www.blogdarobotica.com ===
 ================================================
 Autor: Carol Correia Viana
 E-mail: contato@blogdarobotica.com
 Facebook: facebook.com/blogdarobotica
 Instagram:@blogdarobotica
 YouTube: youtube.com/user/blogdarobotica
 ================================================
 == CASA DA ROBOTICA - www.casadarobotica.com ===
 ================================================
 Facebook: facebook.com/casadaroboticaoficial
 Instagram:@casadarobotica
 ================================================
*/
int IRpin = 8;//Atribui o pino 8 a variável IRpin
int ledpin = 9;//Atribui o pino 9 a variável ledpin
int valorLido = 0;//Variável responsável por armazenar o estado do infravermelho (LOW/HIGH)

void setup(){
 Serial.begin(9600);//Inicializa a comunicação serial, com velocidade de comunicação de 9600
 pinMode(IRpin, INPUT);//IRpin definido como entrada
 pinMode(ledpin, OUTPUT);//ledpin definido como saída
}

void loop() {
 valorLido = digitalRead(IRpin);//Armazena o valor digital de IRpin em valorLido
 if (valorLido == LOW) {//Se valor lido for igual a LOW
   Serial.println("Linha Detectada");//Escreve na serial "Linha Detectada"
   digitalWrite(ledpin,HIGH);//Liga o LED
 }
 else {//Senão
   Serial.println("Linha NAO Detectada");//Escreve na serial "Linha não detectada"
   digitalWrite(ledpin,LOW);//Desliga o LED
 }
 delay(100);//Intervalo de 100 milissegundos
}

Você também pode gostar