Com este exemplo você conseguirá saber quantas vezes algo passou em frente a linha de infravermelho em 1 segundo, conseguindo assim pegar a velocidade em RPM de um motor por exemplo.
Dificuldade:
Montagem:
Programação:
Material Utilizado:
A Montagem
O Sketch
#define sensor 2 //Define sensor como 2
long rpmconta=0; //Cria uma variável para armazenar as contagem
void setup()
{
Serial.begin(9600); //Inicia a serial com um baud rate de 9600
}
void loop()
{
rpmconta = 0; //Zera a variável que armazena a contagem de rotações
attachInterrupt(0, pegarpm, FALLING); //Habilita o pino 2(INT 0) para atender a...
//interrupção (pegarpm) por borda de descida (FALLING).
delay(1000); //Aguarda 1 segundo
detachInterrupt(0); //Desabilita a interrupção
rpmconta = rpmconta * 60; //Multiplica a contagem por 60 para pegar o RPM
Serial.print(rpmconta); //Imprime o valor de RPM na serial
Serial.println(" RPM"); //Imprime " RPM" na serial, indicando que o valor está em RPM
}
void pegarpm()
{
rpmconta++; //Increvementa o a contagem de rotações
}