FS400A + LCD I2C PROBLEM

Hola, quiero leer caudal y volumen desde una LCD 16x2 con I2C y también leer desde monitor serial; los programas funcionan por separado: Conectar un display LCD Hitachi a Arduino por bus I2C y Medir caudal y consumo de agua con Arduino y caudalímetro

El problema es que cuando los fusiono los dos programas no aparece nada en la LCD y el monitor serial
queda trabado: Screenshot by Lightshot

Ya probé con arduino uno y arduino nano; ¿cual es el error?

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Inicia el LCD en la dirección 0x27, con 16 caracteres y 2 líneas

const int sensorPin = 2;
const int measureInterval = 2500;
volatile int pulseConter;

// YF-S201
//const float factorK = 7.5;

// FS300A
//const float factorK = 5.5;

// FS400A
const float factorK = 3.5;

void ISRCountPulse()
{
pulseConter++;
}

float GetFrequency()
{
pulseConter = 0;

interrupts();
delay(measureInterval);
noInterrupts();

return (float)pulseConter * 1000 / measureInterval;
}

void setup()
{
lcd.begin();
lcd.backlight();

//delay(2500);
//lcd.clear();
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(sensorPin), ISRCountPulse, RISING);
}

void loop()
{
// obtener frecuencia en Hz
float frequency = GetFrequency();

// calcular caudal L/min
float flow_Lmin = frequency / factorK;

Serial.print("Frecuencia: ");
Serial.print(frequency, 0);
Serial.print(" (Hz)\tCaudal: ");
Serial.print(flow_Lmin, 3);
Serial.println(" (L/min)");

lcd.setCursor(0, 0);
lcd.print(frequency);
lcd.setCursor(0, 1);
lcd.print(flow_Lmin);

}

There'd be a better chance of getting an answer in the Spanish sub-forum, though I can see one obvious problem; global interrupts are disabled at the end of the GetFrequency() function.

Moderador
Por favor edita tu post usando etiquetas de código.
Y también a cada enlace coloca su etiqueta.
Normas del foro