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);
}