Início
/
Projetos Arduino
/
Projetos Squids
/
Intermediário
/
I02 - Usando o módulo seguidor de linha TCRT5000 como interruptor - Arduino
I02 - Usando o módulo seguidor de linha TCRT5000 como interruptor - Arduino
Angelo Luis Ferreira | 27/07/2020
Acessos: 8.692
Intermediário - Projeto 02
Interruptor utilizando módulo TCRT5000 com Arduino
Objetivo
Criar um circuito para atribuir duas funções em um módulo seguidor de linha TCRT5000 responsáveis por ligar e desligar um componente eletrônico qualquer. Neste projeto, o módulo servirá como um interruptor para ligar e desligar um led ao identificar um objeto dentro da sua faixa de operação.
Definições
Módulo seguidor de linha TCRT5000: Componente eletrônico capaz de identificar e seguir o caminho a partir de uma linha que contraste com o piso, ou seja, linha preta (piso branco) ou linha branca (piso preto).
A base de funcionamento do módulo seguidor de linha é o sensor óptico reflexivo TCRT5000:
Sensor Óptico Reflexivo TCRT500: Componente eletrônico constituído de um led emissor infravermelho (geralmente na cor azul) e um receptor infravermelho (fototransistor - geralmente na cor preta), separados por uma pequena parede plástica.
Led Emissor Infravermelho (IR): Led que emite um sinal IR (infrared ou infravermelho) que pode ser reconhecido por um componente receptor IR. Projetado para emitir sinais infravermelhos em dispositivos remotos, os quais contenham comandos específicos de envio para a placa microcontroladora. A faixa de luz emitida pelo led emissor não é perceptível ao olho humano.
Led Receptor (IR) - Fototransistor: Componente eletrônico que atua como um fotodiodo, permitindo a passagem de corrente elétrica somente com a presença de luz. O fototransistor é parecido com um transistor tradicional, possuindo 2 terminais sendo um o coletor e o outro o emissor, entretanto, a sua base base é ativada pela incidência de radiação infravermelha e não por um sinal digital.
Funcionamento do sensor óptico reflexivo: O sensor óptico reflexivo funciona através de um sistema de emissão e reflexão de luz infravermelha. Ao aproximar um objeto do sensor, a luz infravermelha emitida pelo led IR é refletida pelo objeto e detectado imediatamente pelo fototransistor que é ativado, enviando um sinal de baixo nível (LOW) para o Arduino.
Obs.: Na imagem abaixo temos: (1) O sensor apenas emite IR - o fototransistor envia sinal HIGH para o Arduino; (2) O sensor emite e recebe IR refletido no objeto - o fototransistor envia sinal LOW para o Arduino.
Atenção: É importante saber que o material do objeto que se deseja detectar influenciará diretamente no funcionamento do sensor. Quanto mais reflexivo o material, maior a distância que será detectado.
Distancia de operação do sensor: Distância entre o sensor e o objeto a ser identificado. Pelo datasheet do fabricante, a distância "d" varia de 0 a 12mm, dependendo do material do objeto. O fototransistor, segundo o datasheet, vem com um filtro de luz ambiente, o que maximiza a identificação do feixe infravermelho refletido.
Obs: Pelos testes que fiz, o sensor atingiu até 20 mm de distância de operação, onde utilizei um mini protoboard como o objeto a ser detectado.
Aplicação
Para fins didáticos e projetos de alarmes, interruptores, detecção de presença, detecção de obstáculos, contagem de elementos em uma esteira transportadora, controle remoto e sistemas robóticos.
Componentes necessários
Referência
|
Componente
|
Quantidade
|
Imagem
|
Observação
|
Protoboard |
Protoboard 830 pontos |
1 |
|
No mínimo utilizar protoboard com 400 pontos
|
Jumpers |
Kit cabos ligação macho / macho |
1 |
|
|
Módulo seguidor de linha |
Sensor óptico reflexivo TCRT5000
|
1 |
|
– Tensão de operação: 5VDC – Corrente máxima: 60 mA – Comprimento de onda: 950nm – Distância máxima detecção: 15mm
(datasheet)
|
Led 5mm |
Led 5mm |
1 |
|
1 LED alto brilho ou difuso (qualquer cor)
Você poderá utilizar também LEDs de 3 mm na cor que desejar.
|
Resistor |
Resistor 150Ω |
1 |
|
1 Resistor de 150Ω ou superior - (led comum)
|
Arduino UNO R3 |
Arduino UNO R3 |
1 |
|
Você poderá utilizar uma placa Arduino UNO original ou similar
|
Montagem do Circuito
Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da energia elétrica enquanto você monta o circuito.
Atenção
1. Lembre-se que o LED tem polaridade: O terminal maior tem polaridade positiva e o lado do chanfro tem polaridade negativa.
1.1. Portanto, faça a conexão do Arduino no terminal positivo do led (anodo) e o GND no terminal negativo (catodo).
1.2. Para evitar danos ao led é necessário a inclusão de um resistor no circuito. Como o resistor é um limitador da corrente elétrica, ele poderá estar conectado no anodo (terminal maior) ou no catodo (terminal menor) do led, tanto faz.
2. Determinamos o valor do resistor através da tabela prática: Tabela prática de utilização de leds 3mm e 5mm. Entretanto, o mais correto é sempre verificar o datasheet do fabricante do LED para você ter os exatos valores de tensão e corrente do mesmo - leia Leds ligados em série e em paralelo.
2.1. Valores utilizados para nossos projetos: LEDs difusos ou de alto brilho: Vermelho, Laranja e Amarelo: 150 Ω | Led Verde e Azul: 100 Ω
3. Para a montagem do módulo seguidor de linha no circuito faça a conexão como mostra a figura abaixo:
3.1. Conexão com o pino analógico do Arduino: o fototransistor envia um sinal analógico para o Arduino que será convertido em sinal digital através do ADC (Conversor Analógico Digital).
3.1.1. O conversor ADC do microcontrolador ATmega328 possui 10 bits de resolução, portanto o sinal analógico enviado e convertido em digital irá variar de 0 até 1023.
3.1.2. Quando o fototransistor não recebe nenhuma luz infravermelha, o valor enviado será de 1023. Entretanto, como a luz ambiente também emite radiação infravermelha, este valor quase nunca chega a 1023. Desta forma, mesmo com o filtro de luz que existe no componente, o valor máximo enviado irá variar de acordo com a intensidade da luz ambiente, ou seja, quanto mais escuro maior o valor.
3.1.3. Quando mais luz infravermelho o fotoresistor receber, menor será o valor enviado para o Arduino. Portanto, ao usarmos o sinal analógico do módulo TCRT5000, podemos determinar parâmetros de comparação para informar se um obstáculo foi detectado ou não.
3.2. Conexão com o pino digital do Arduino: O fototransistor quando ativado, ou seja, quando detecta um objeto qualquer, envia um sinal digital "0" (LOW). Quando não ativado, envia um sinal digital "1" (HIGH).
3.2.1. A distância de operação do sensor irá depender do material do objeto a ser detectado e da calibragem do módulo, que veremos mais adiante neste tutorial.
4. A montagem do nosso projeto foi realizada em um protoboard 400 pontos. Verifique se o seu protoboard possui linhas de alimentação contínuas ou separadas.
Testando a montagem do circuito
1. Para verificarmos se a montagem do circuito está correta, rode o sketch abaixo e verifique:
1.1. Ao aproximarmos um objeto ou o dedo do sensor, sem precisar tocá-lo, o led irá acender. Distanciando o dedo ou um objeto do sensor, o led se apagará imediatamente.
int pinLed = 12; // led conectado no pino digital 12
int pinSensor = 2; // módulo conectado no pino digial 2
int pinSensorAnalogico = A0; // módulo conectado no pino analógico A0
void setup(){
Serial.begin(9600);
pinMode(pinSensor, INPUT); // define como entrada
pinMode(pinLed, OUTPUT); // definoe como saída
digitalWrite(pinLed, LOW); // led incia apagado
}
void loop(){
Serial.println(analogRead(pinSensorAnalogico));
if (digitalRead(pinSensor) == LOW){ // se for LOW
digitalWrite(pinLed, HIGH); // acende o led
} else { // caso contrário
digitalWrite(pinLed, LOW); // apaga o led
}
}
1.2. Acionando o Monitor Serial do IDE do Arduino, podemos ler os valores enviados pelo fotoresistor.
1.2.1 Observe que utilizando a conexão do módulo com o pino analógico do Arduino, podemos fazer leituras dos valores enviados pelo fototransistor no Monitor Serial. Veja no exemplo abaixo onde identificamos o valor exato em que o sensor foi ativado por um objeto específico.
Calibragem da distância de operação do módulo
1. O módulo seguidor de linha TCRT500 é fornecido com o trimpot de calibragem.
1.1. Girando o botão no sentido horário ou sentido anti-horário, podemos aumentar ou diminuir a sensibilidade do sensor, aumentando ou diminuindo a distância de operação.
1.2. Utilizando o teste de montagem anterior, defina a melhor distância de operação que você deseja.
Atenção: A calibragem deverá ser feita para cada objeto específico, pois a distância de trabalho do sensor varia com o tipo de material (mais reflexivo ou menos reflexivo).
Código do Projeto (Sketch)
1) Faça o dowload e abra o arquivo projetoI02.ino no IDE do Arduino: DOWNLOAD - projetoI02.ino
Ou se preferir, copie e cole o código abaixo no IDE do Arduino:
/*******************************************************************************
*
* Projeto I02 - Usando o módulo seguidor de linhaTCRT5000 como interruptor
* Autor: Angelo Luis Ferreira
* Data: 28/07/2020
* http://squids.com.br/arduino
*
*******************************************************************************/
const byte pinLed = 12; // led conectado no pino digital 12
const byte pinSensor = 2; // fototransistor conectado no pino digial 2
boolean state = 0;
void setup(){
pinMode(pinSensor, INPUT); // define pino fototrnasistor como entrada
pinMode(pinLed, OUTPUT); // define pino led como saída
digitalWrite(pinLed, LOW); // led incia apagado
}
void loop(){
if (!digitalRead(pinSensor)){ // se o fototransistor estiver ativado
while (!digitalRead(pinSensor)) {} // aguarda desativar o fototransistor
delay(50);
digitalWrite(pinLed, state); // acende ou led e apaga o led
state = !state;
}
}
Vídeo
Como o projeto deve funcionar
1. Ao iniciar o programa, o led ficará apagado.
2. Ao aproximar um objeto dentro da faixa de operação do sensor o led se acenderá e se manterá aceso.
3. Ao aproximar novamente objeto do sensor o led se apagará, invertendo-se assim o seu estado.
Desafios
Com base neste projeto, resolva o seguinte desafio: Desafio 74
O anúncio abaixo ajuda a manter o Squids Arduino funcionando
Comentários