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
}

Exibições: 163

Responder esta

Respostas a este tópico

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.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço