Boa noite, estou fazendo o projeto do tacômetro com garagino aqui do site, porém, utiliza um delay de 1000, mas como preciso comunicá-lo com o Elipse E3, não é permitido ter a função delay. Alguém poderia me ajudar a substituí-lo e manter o funcionamento igual? Obrigado!!
Segue abaixo a programação
#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
}
Tags:
Você não esta usando a função delay e sim interrupção, que ao contrario do delay não para o código, em quanto que o delay para o código durante o tempo que esteja sendo executado.
Referencias:
http://www.arduino.cc/en/Reference/AttachInterrupt
http://www.arduino.cc/en/Reference/Delay
Abs.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por