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);
}
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por