Como usar com Arduino – Sensor Óptico Reflexivo TCRT5000

Como usar com Arduino – Sensor Óptico Reflexivo TCRT5000

img00_arduino_utilizando_o_sensor_reflexivo_tcrt5000

– Descrição:

Sensor Óptico Reflexivo TCRT5000 é um componente eletrônico que funciona através de um sistema de reflexão infravermelho, onde um LED emissor IR e um fototransistor IR ficam lado a lado, separados apenas por uma parede de plástico. Quando um objeto se aproxima do sensor, a luz infravermelha emitida pelo LED emissor é refletida para o fototransistor que é ativado. Vale ressaltar que o material do objeto influencia diretamente na detecção do sensor, pois quanto mais reflexivo for o material, maior o campo de atuação do sensor.

Sensor Óptico Reflexivo TCRT5000 é aplicado com frequência em projetos que envolva detectar obstáculos. Em projetos de robótica, este sensor é aplicado em robôs (seguidores de linha ou sumô) e carrinhos.

– Especificações e características:

– Tensão de operação: 5VDC
– Corrente máxima: 60 mA
– Comprimento de onda: 950nm
– Distância de detecção(máxima): 25mm

– Aplicações:

Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário fazer detecção de obstáculos ou projetos de robótica em geral.

– Proposta da prática:

Utilizar o Sensor Óptico Reflexivo TCRT5000 em conjunto com o Arduino e quando a luz infravermelha for refletida no objeto, o LED irá acender.

– Lista dos itens necessários:

01 – Arduino com Cabo USB
01 – Sensor Óptico Reflexivo TCRT5000
01 – LED Difuso 5mm Vermelho
01 – Resistor de 150Ω
01 – Resistor de 330Ω
01 – Resistor de 10KΩ

01 – Protoboard
09 – Cabos Jumper macho-macho

– Esquema de ligação da prática

img01_como_usar_com_arduino_sensor_optico_reflexivo_tcrt5000_uno_mega_2560_nano_robo_seguidor_linha

– Tutorial de instalação e configuração do ambiente de programação do Arduino:

Arduino – Instalação e Configuração da IDE no Windows

– Código:

– Resultado final:

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 9 comentários para esta postagem
  1. Kauã às 13:49

    Boa Tarde a todos,
    Tentei adaptar o código para escrever frases diferentes no monitor serial dependendo do estado do pino do sensor (HIGH ou LOW), porém, essa alteração bugou o sistema, se eu remover a alteração volta a funcionar novamente mas se eu a coloco de novo buga novamente.
    Alguém poderia checar o código e me dizer o que há de errado??
    Segue o código:
    int pinoLed = 8; //PINO DIGITAL UTILIZADO PELO LED
    int pinoSensor = 7; //PINO DIGITAL UTILIZADO PELO SENSOR

    void setup(){
    pinMode(pinoSensor, INPUT); //DEFINE O PINO COMO ENTRADA
    pinMode(pinoLed, OUTPUT); //DEFINE O PINO COMO SAÍDA
    digitalWrite(pinoLed, LOW); //LED INICIA DESLIGADO
    }

    void loop(){
    if (digitalRead(pinoSensor) == LOW){ //SE A LEITURA DO PINO FOR IGUAL A LOW, FAZ
    digitalWrite(pinoLed, HIGH); //ACENDE O LED
    Serial.begin(9600);
    Serial.print(“Detected”);
    }else{//SENÃO, FAZ
    digitalWrite(pinoLed, LOW); //APAGA O LED
    Serial.begin(9600);
    Serial.print(“Wait a Minute”);
    }
    }

    • Euler Oliveira Autor às 14:51

      Olá Kauã.

      Agradeço pelo comentário.

      Você está colocando o Serial.begin(9600); dentro do void loop e este é o erro.

      Coloque o Serial.begin(9600); somente no void setup e apague os que colocou no void loop.

  2. Eduardo às 13:31

    Boas, porquê a porta 7? Estou a fazer um projeto em que utilizo um sensor destes para diferenciar a cor branca da cor preta. Não posso usar um arduíno no projeto, contudo estou a utilizar um atmega 168 e um programador da pololu. Poderia explicar o porquê de usar uma porta com interrupção em vez de uma porta analógica/digital (ADC)?

  3. Thiago às 00:05

    Boa noite, estou desenvolvendo um projeto com arduíno e este sensor, mas está havendo interferência no sinal da luz ambiente e solar, e não adianta colocar alguma proteção nele, seria possível eliminar essas interferências?

    • Euler Oliveira Autor às 14:51

      Olá Thiago.

      Agradeço pelo comentário!

      Chegou a testar outra unidade do sensor para verificar se sofre menos interferência que este que está usando?

  4. Instrutor escola de programação às 09:52

    Sobre a montagem do circuito, gostaria de saber em que momento a entrada da porta 7 troca de estado? Já que o resistor está em Vcc e sempre alimentará a porta deixando ela no estado HIGH

    • Euler Oliveira Autor às 10:17

      Olá.

      Agradeço pelo comentário!

      O pino 7 muda de estado quando há detecção de sinal IR por parte do fototransistor. Neste momento o mesmo passa a conduzir e muda o estado do pino 7 para LOW.

      O resistor em questão é o de 10K e que faz o papel de PULL UP, ou seja, garante que o pino 7 se mantenha em nível lógico HIGH enquanto o fototransistor não estiver conduzindo. No momento em que o fototransistor recebe luz infravermelha do emissor, ele irá conduzir e o pino assumirá nível lógico LOW.

  5. Sara às 23:56

    Muchas gracias por compartir estas prácticas con arduino, nos ayudas mucho