O Sensor de Velocidade Arduino é o dispositivo ideal pra você que precisa fazer medições utilizando um disco encoder, realizando a contagem das vezes que o disco passa entre o sensor, determinando as distâncias e a velocidade de deslocamento por meio de programação.
Também conhecido como Sensor de Contagem, é dispositivo simples, muito prático e de alta eficiência. Possui design compacto, trabalhando com um circuito integrado capaz de controlar os sensores e realizar as leituras, transformando os resultados obtidos em dados na forma digital. Funciona a partir de um feixe de luz imperceptível a visão humana que passa de um lado para o outro, sempre que o feixe for interrompido ele contará uma vez e assim sucessivamente.
O tipo de comunicação é digital, ou seja, se houver algo interferindo o feixe de luz do sensor, ele irá interromper a corrente do pino de saída (OUT). Quando o sensor estiver em espera (sem nada interferindo) a saída deverá ser alta, ou seja, 5v. Este é o principio elétrico de funcionamento.
A seguir, estaremos conferindo o sensor em funcionamento juntamente com um motor, realizando a leitura da quantidade de voltas realizadas.
Vídeo Teste Prático do Sensor de Velocidade Arduino
Produtos Utilizados
Montagem Física
A conexão é muito simples, basta alimentar o Sensor com 5V e conectar o pino OUT diretamente ao pino digital 2 do Arduino UNO, conforme a imagem abaixo:
Funcionamento do Código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
int sensor = 2; int Nvoltas = 0; void setup() { Serial.begin(9600); Serial.println("Conta voltas"); Serial.println("UsinaInfo"); } void loop() { if ( digitalRead(2)==1 ) { Nvoltas++; Serial.print(Nvoltas); } } |
Conclusão
O Sensor de Velocidade Arduino é compacto e de fácil instalação já que possui furos para fixação, tem interface simples com grande funcionalidade, ele não se fixa somente em discos encoder, pode ser utilizado para fins de curso, sensores de contagem de pluviômetros, entre outros. O dispositivo é de alta qualidade, a placa é produzida com fibra de vidro aumentando sua resistência e conferindo um ótimo resultado estético.
Autor: Leonardo Dalla Porta
Ola meu nome é Rogério Neves.
Eu preciso de um sensor desse !
Entre em contato no meu Wats 67999310681
Desde ja agradeço obg.
Olá Rogério, temos este sensor disponível em nosso site, confira no link: http://www.usinainfo.com.br/sensores-para-arduino/sensor-de-contagem-sensor-de-velocidade-chave-optica-para-encoder-3mm-2542.html
Qualquer duvida estamos a disposição.
Att Equipe Usinainfo
Utilzando este mesmo circuito poderei instalar um display para ver a quantidade de voltas.
No PC não me atende, preciso que instalar um display, é possível? como se fazer isso?
Boa Tarde!
É possível realizar o que deseja, porém deverá incluir um display ao projeto e realizar as devidas adequações ao código.
Veja outros artigos que temos e utilizam display para entender melhor o seu funcionamento e utilizá-los como base para o seu projeto.
Boa noite. É possível adequar esse protótipo para receber dados (RPM) de uma bicicleta estacionária e converter esses dados em velocidade média e distância percorrida?
Bom Dia Rivaldo! A distância percorrida será compatível com a circunferência da polia (roda), teoricamente seria necessário encontrar a circunferência através da fórmula “C=2*pi*r”, onde C = Circunferência, pi = 3,14 e r = raio da polia em questão. Após calcular a circunferência multiplicamos o valor pelo RPM e obtemos assim, o valor em m/s. É possível realizar estes procedimentos através do código sem problema, basta realizar as devidas alterações no mesmo, lembrando que o valor da circunferência neste caso, será perpendicular a distância percorrida sendo que a cada volta completa soma-se este valor para a distância.
Neste codigo, não esta lendo uma entrada digital?
Bom Dia Celso! O código está sendo utilizado para realizar a leitura digital do pino 2.
Se o infravermelho ficar bloqueado com motor parado, não vai ficar contando volta indefinidademente?
Bom Dia Celso! O contador soma um novo pulso a cada variação de On/Off do infravermelho apenas.
Boa tarde, Sou Edilson Pinheiro do Rio de Janeiro.
Primeiro quero agradece o exemplo, muito bom!
Estou usando a Placa Leonardo, rodei o código e verifiquei que o sistema está imputando os dados,
conta no loop o número de “voltas” e sempre contado para 0 ou para 1, quando for 1 ele conta sem para apenas pelo bloqueio e não pela passagem, ou seja se bloquer a passagem ele vai contando infinitamente.
coloquei uma trava em uma variável para contar na passagem de 0 para 1 assim ele nao dispara direto
ficou assim:
int sensor = 2;
int Nvoltas = 0;
int Ntravar=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println(“Conta Voltas”);
Serial.println(“UsinaInfo”);
}
void loop() {
// put your main code here, to run repeatedly:
if ((digitalRead(2) == 0 )and (Ntravar==0))
{
Nvoltas++;
Ntravar=1;
Serial.println(Nvoltas);
}
if ((digitalRead(2) == 1 )and (Ntravar==1)){
Ntravar=0;
}
}