Quando eu uso esse sketch com serial.begin (9600) no void setup e serial.print(" L/hour\r\n"); e serial.print (Calc, DEC); no void loop consigo monitorar a vazão pelo serial monitor se apagar os codigos lcd.print no void loop.
O sketch abaixo eu consigo escrever a frase no LCD e depois eu limpo a tela e nada acontece.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
volatile int NbTopsFan; //measuring the rising edges of the signal
int Calc;
int hallsensor = 2; //The pin location of the sensor
void rpm ()
{
NbTopsFan++; //This function measures the rising and falling edge of the
}
void setup()
{
pinMode(hallsensor, INPUT); //initializes digital pin 2 as an input
lcd.init();
lcd.backlight();
lcd.setCursor( 4, 1);
lcd.print("Frase inferior");
lcd.setCursor( 1, 0);
lcd.print("Frase superior");
delay(5000);
lcd.clear();
attachInterrupt(0,rpm, RISING); //and the interrupt is attached
}
void loop ()
{
NbTopsFan = 0; //Set NbTops to 0 ready for calculations
sei(); //Enables interrupts
delay (1000); //Wait 1 second
cli(); //Disable interrupts
Calc = (NbTopsFan * 60 / 5.5); //(Pulse frequency x 60) / 5.5Q, = flow rate
lcd.init();
lcd.setCursor( 0, 0);
lcd.print(Calc, DEC);
lcd.setCursor( 0, 0);
lcd.print(" L/hour\r\n");
}
Tags:
cara, tenta passar o lcd.init() pro void setup e tira o /r/n do lcd.print, veja se ajuda
o lcd.init(); ja esta no void.setup, retirei do loop e fiz o que vc falou, nada ...
vc consegue exibir qualquer outra informação no lcd?
consigo quando coloco no void.setup; ai quando coloco clear limpa e mas nada acontece.
Oi EG, boa tarde,
qual biblioteca você está usando neste seu code, e qual a versão de sua IDE?
Porque eu estou tendo erro de compilação com seu código na linha lcd.init();
Na minha biblioteca não tem este método, só tem este lcd.begin();.
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por