- Descrição: O Módulo Laser LED 6mm 650nm de Alta Potência é…
Como usar com Arduino – Sensor de Velocidade (Encoder) / Chave Óptica 5mm
– Descrição:
O Sensor de Velocidade (Encoder) / Chave Óptica 5mm é um módulo eletrônico que pode ser utilizado para fazer a contagem do número de rotações de um encoder acoplado a um motor. O encoder é uma espécie de disco utilizado nos mais diversos equipamentos para definir a velocidade do deslocamento de um objeto ou uma engrenagem, por exemplo. Além disso, este sensor também pode ser utilizado como chave fim de curso (endstop).
– Especificações e características:
– Controlador: LM393
– Tensão de operação: 3,3 – 5VDC
– Saída Digital e Analógica
– LED indicador para presença de tensão
– LED indicador para saída digital
– Abertura da chave ópitca: para discos de até 5mm
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário fazer a contagem de pulsos, limite de fim de curso, RPM de motores através de encoder, acionamento de alguma saída sempre que o sinal infravermelho for interrompido e etc.
– Proposta da prática:
Utilizar o Sensor de Velocidade (Encoder) / Chave Óptica 5mm em conjunto com o Arduino e quando a luz infravermelha for interrompida por um objeto, o LED irá acender.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Sensor de Velocidade (Encoder) / Chave Óptica 5mm
01 – LED Difuso 5mm Vermelho
01 – Resistor de 150Ω
01 – Protoboard
02 – Cabos Jumper macho-macho
03 – Cabos Jumper macho-fêmea
– Esquema de ligação da prática:
– 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
int pinoLed = 12; //PINO DIGITAL UTILIZADO PELO LED int pinoSensor = 8; //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) == HIGH){ //SE A LEITURA DO PINO FOR IGUAL A LOW, FAZ digitalWrite(pinoLed, HIGH); //ACENDE O LED }else{//SENÃO, FAZ digitalWrite(pinoLed, LOW); //apaga O LED } } |
– 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: Como usar com Arduino – Mini Válvula Solenoide 12V (JF-0530B e JF-0630B)
Próxima postagem: Como usar com Arduino – Módulo (Botão) Chave Táctil 12×12 com Capa
Bom dia estou fazendo um trabalho de curso técnico e gostaria de saber qual é a programação caso eu queira usar o sensor com o ESP32 e também gostaria de saber se existe algum pino específico para utilizar. Grato desde já.
Muito bom este tutorial. Euler gostaria de saber se eu modificar este projeto para em vez de ligar e desligar o led substituir ele por um motor e fazer com que ele liga e desliga sendo tipo um motor de pulso. Neste caso eu teria que acrescentar algum transistor ou resistor no sistema ou só substituir mesmo o led pelo motor e o suficiente?
Obrigado pelo aprendizado e sucesso.
como ficaria um código para medir rpm e velocidade angular de um motor 12v usando o encoder
Olá!
Tem pino certo para usar o sensor ou posso usar ele em qualquer pino do 22 ao 53 no arduino mega?
(Estou usando um shield que deixa somente esses pinos livres)
Olá Henrique.
Agradeço pelo comentário!
Não tem pino digital específico, pode usar os que estiverem livres.
olá, parabéns pelo tutorial. Gostaria de compartilhar um problema e uma solução na utilização desse sensor. quando implementei esse contador meu motor girava e parecia que nunca parava na posição correta, verifiquei que o sistema estava contando pulsos a mais aleatóriamente. solução incluí um capacitor 100nf entre o terminal de sinal e o terra para eliminar o ruído ai a precisão dos pulsos apareceu.
Olá Augusto.
Agradeço pelo comentário e pela contribuição desta dica!
Como posso alterar o código para informar a quantidade de vezes que o sensor foi “ativado”? Obrigado
Olá Gustavo.
Agradeço pelo comentário!
Basta criar uma variável do tipo int para ser incrementada sempre que o pino do sensor mudar para nível lógico alto (HIGH).
ALGUÉM TEM CIRCUITO PARA ARDUINO, QUE POSSA VISUALIZAR NUM DISPLAY MAX 7219 7 SEGMENTOS 8 DÍGITOS, AS RESOLUÇÕES DE UM ENCODER DE 600 PULSOS, PARA REFERENCIA EM UMA FRESA.
Como funciona a saída analógica deste encoder?