
Aula 008 - Sensor TCRT5000
O TCRT5000 é um sensor óptico reflexivo que combina um LED infravermelho (IR) e um fototransistor para detecção de objetos próximos. Ele não possui um CI interno para processamento, apenas esses dois componentes principais figura 01.
No entanto, para utilizá-lo com o Arduino, normalmente se emprega um circuito adicional que inclui um comparador de tensão, como o LM393. Esse comparador é frequentemente encontrado em módulos comerciais do TCRT5000 figura 02, ajudando a converter a saída analógica do fototransistor em um sinal digital mais estável.
Função do LM393 no Módulo TCRT5000
O fototransistor do TCRT5000 gera uma tensão proporcional à quantidade de luz infravermelha refletida pelo objeto detectado com isso, o LM393 compara essa tensão com um valor de referência ajustado pelo potenciômetro no módulo.
Se a tensão do fototransistor for menor ou maior que a referência (dependendo da configuração), o LM393 altera a saída.
%2015.jpg)
%2015.jpg)
Função millis()
A função millis() no Arduino é usada para obter o tempo em milissegundos desde que o microcontrolador foi ligado ou reiniciado.
Como funciona millis()?
-
Retorna um valor do tipo unsigned long (um número positivo grande).
-
Começa a contar a partir do momento em que o Arduino liga.
-
O valor aumenta continuamente enquanto o Arduino está em execução.
-
Não pausa o código, ou seja, permite que o programa continue rodando normalmente.
Explicação sobre variáveis long long:
- São variáveis de 64 bits, permitindo armazenar valores de até 2^64 (sem sinal)
ou metade disso quando possuem sinal.
- Convertendo esse valor para dias: 106.751.991.167 dias (~292 milhões de anos).
Ou seja, praticamente nunca vai estourar.
Por que não usar "long" (32 bits)?
- Um "long" armazena até 2^32 = 4.294.967.296 milissegundos (~49,7 dias).
- Se o código rodar continuamente por mais de 49,7 dias, a variável estouraria,
causando erros na contagem do tempo.
O que acontece nesse código?
-
Ele pisca um LED a cada 1 segundo sem usar delay().
-
Como millis() não bloqueia o código, o Arduino pode fazer outras tarefas enquanto espera.
Diferenças do millis() e delay()

Limitações do millis() e delay()
1️⃣ Rola de volta após 49,7 dias
-
O valor máximo de unsigned long é 4.294.967.295 ms (~49,7 dias).
-
Depois desse tempo, millis() volta para 0 automaticamente.
2️⃣ Não mede intervalos menores que 1 ms
-
Se precisar medir intervalos menores, use micros() (retorna tempo em microsegundos).
Resumo 🔥
-
millis() conta o tempo em milissegundos desde que o Arduino ligou.
-
Não bloqueia o código, permitindo outras execuções.
-
É útil para timers, debounce de botões, animações, e controle de processos sem travar o loop.
-
Pode "voltar para zero" após 49,7 dias, mas isso raramente afeta projetos comuns.
Se precisar de mais detalhes ou exemplos, só falar! 🚀
Baixe Gratuitamente
Apostila com o material completo da aula no link abaixo:
Aula 008: https://www.4shared.com/s/f-X29YbW2ge
Programação: Código em C++ https://www.4shared.com/s/fvvwW5DB4ku
🚀 Comece agora sua jornada MAKER com o Maker BOX Thomas Edson e faça parte da revolução da educação tecnológica!
👉 Adquira já o seu e comece a montar seu primeiro projeto!
Valor: R$ 349,90 + frete
Pagamento Pix.
Contato WhatsApp: 44 99124-6039
Aulas gratuitas, para você entusiasta se apaixonar pelo mundo Maker.
Aula 001 - Maker BOX Thomas Edson
Aula 002 - Primeiros Passos.
Aula 003 - Física e Eletricidade.
Aula 004 - Arduino.
Aula 005 - Semáforo de 4 estados
Aula 006 - Hello World com "bool"
Aula 007 - INPUT_PULLUP
Aula 008 - Sensor TCRT5000
Referências:
ARDUINO, Site Arduino.cc. Disponível em Arduino - Home Acesso em 1 de agosto de 2024.
LIMA, Charles Borges. VILLAÇA, MARCO V. M. AVR e Arduino Técnicas de Projetos. 2.ed. Florianópolis: Edição dos Autores, 2012.

Kit Educacional
Thomas Edson
R$ 349,90 + frete
