Boa noite, galera!

Preciso da ajuda de vocês, estou tentando fazer um rpm (vou por no meu carro, uma caravan 1982, que estou colocando injeção eletronica e o painel dela se resumi a uma chapa de fibra de vidro com um monte de chave do tipo caça, um conta giro no meio do painel e uma fueltech) só que eu preciso ver a velocidade( o tal do rpm do arduino, depois eu vejo onde colocarei o sensor e o rpm se transformará em velocidade, viva a matematica!!) o odometro e o nivel de combustivel, ai resolvi usar o arduino.

Enfim, a idéia é o arduino contabilizar em um espaço de tempo quantas "passadas" o sensor deu e transformar isso em rpm, quando o arduino chegar em um tempo "precisao" eu zero mostro o rpm no visor, zero as variaveis e começo de novo...

Meu problema: ele não está aparecendo certo no visor... como eu zero as variaveis ele me quebra o valor exato..

Será que alguem me dá uma luz? rs

#include
#include
int hall = 2;
//int estadopino = 0;
int passadas = 0;
int rpm = 0 ;
unsigned long inicio ;
int precisao = 3000;
//int rpmvisor;
//int pino2 = HIGH;
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup() {
lcd.begin (16, 2);
pinMode (hall, INPUT);
Serial.begin(9600);
// pinMode (pino2, OUTPUT);
attachInterrupt(0,interrupcao,FALLING);
//vel=millis();

// put your setup code here, to run once:

}

void interrupcao()

{
passadas = passadas + 1;
}

void loop() {

if (passadas == 0)
{
inicio=millis() + precisao;
}

if (inicio >= millis())
{
rpm= ((10000 * passadas)/precisao);
//Serial.println(rpm);
Serial.println(passadas);
//rpmvisor==rpm;

}
else
{

passadas=0;
// rpm=0;
lcd.clear();
lcd.print (rpm);
//vel=millis();
}

Serial.println (passadas);

}

Exibições: 2092

Responder esta

Respostas a este tópico

João , segue a minha sugestão:

Faça o seu programa enviar as informações para a console IDE do Arduino (conectado ao PC).

Depois de tudo OK, ai sim, conecte o display e faça os testes. 

Assim ficará mais fácil, resolver o seu problema. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço