#include <LiquidCrystal_I2C.h> //Debe descargar la Libreria que controla el I2C
#include<Wire.h> //Libreria
LiquidCrystal_I2C lcd(0x27, 20, 4); //crear un objeto lcd (DIRECCIÓN pantalla, Tamaño x, Tamño y)
const int analog_0 = 35; //Sensor de PH 0-14 PH
const int analog_1 = 32; //Sensor de Flujo 10-200 L/min
int lectura_1 = 0; //Lectura del sensor de PH
int lectura_2 = 0; //Lectura del sensor de Flujo
int pH = 0; //Medicion de Potencial de Hidrogeno
int flujo = 0; //Medicion del flujo de la bomba
int temperatura = 25; //Medicion de prueba
int flujo_bomba = 100; //Medicion de prueba
unsigned long tiempo_inicio = 0; //Tiempo de inicio para temporizar
unsigned long tiempo = 0; //Variable que registra el tiempo
void setup() {
lcd.init(); //Inicializa LCD
Wire.begin(); //Inicializa I2C
lcd.backlight(); //Iluminacion LCD
lcd.clear();
tiempo_inicio = millis();
}
void loop() {
lectura_1 = analogRead(analog_0);
pH = map(lectura_1, 0, 4095, 0, 14); //Simulacion sensor de PH de 0 a 14
lectura_2 = analogRead(analog_1);
flujo = map(lectura_2, 0, 4095, 10, 200); //Simulacion sensor de flujo de 10 a 200 L/min
tiempo = millis() - tiempo_inicio;
if (tiempo >= 500) {
visualizacion();
tiempo_inicio = millis();
}
}
void visualizacion() {
lcd.setCursor (0, 0);
lcd.print("PH: ");
lcd.print(pH);
lcd.print(" ");
lcd.print("Control: ");
lcd.print("OFF");
lcd.print(" ");
lcd.setCursor (0, 1);
lcd.print("Flujo: ");
lcd.print(flujo);
lcd.print(" ");
lcd.print("L/Min");
lcd.print(" ");
lcd.setCursor (0, 2);
lcd.print("Dosific: ");
lcd.print(flujo_bomba);
lcd.print(" ");
lcd.print("ml/Min");
lcd.print(" ");
lcd.setCursor (0, 3);
lcd.print("Temperatura: ");
lcd.print(temperatura);
lcd.print(" ");
lcd.print("C");
lcd.print(" ");
}