Bueno aquí tenéis lo que llevo ya echo, esta casi acabado. Echadle un vistazo a la Nextion haber que os parece.
He echo una pequeña trampa con el código, y es el buzzer, ya que con Jose Luis hicimos muchas pruebas para que pitase cuando uno de los depósitos de agua estuviera vació, pero siempre había un pequeño conflicto con el buzzer, si eliminaba el buzzer (con sus comando Tone y noTone) por un Led, no había ningún problema.
Así que cambie el buzzer por un oscilador que se activa por pulsa bajo y que viene ya con una frecuencia predeterminada, el cual activo con un digitalWrite.
Me faltaría implantar el MPC6050 que me esta dando bastante lata pata sacar los Offset y poder calibrarlo, creo que esta malo el que compre.
Cuando lo consiga no creo que me de muchos problemas por que puse uno con comunicación I2C como me aconsejo Jose Luis.
Faltaría eliminar esos monoestable, con algún código que no use Delay
Hay otra cosa que me falta, y es que los sensores MAP para leer el nivel del agua, están siempre fluctuando (es normal) y en la Nextion no se queda un valor fijo, así que hice este código, que aun falta probarlo haber si no me satura mucho el Void Loop, que creo que no pues estoy usando if anidado(else if).
////////////////// Mandar los datos del sensor 1 a la pantalla////////////////////////////
if (porcentaje <= 5 )
{
n2.setValue(0);
}
else if ( (porcentaje > 5) && (porcentaje < 15 ) )
{
n2.setValue(10);
p2.setPic(95);
}
else if ( (porcentaje > 15) && (porcentaje < 25 ) )
{
n2.setValue(20);
}
else if ( (porcentaje > 25) && (porcentaje < 35 ) )
{
n2.setValue(30);
}
else if ( (porcentaje > 35) && (porcentaje < 45 ) )
{
n2.setValue(40);
}
else if ( (porcentaje > 45) && (porcentaje < 55 ) )
{
n2.setValue(50);
}
else if ( (porcentaje > 55) && (porcentaje < 65 ) )
{
n2.setValue(60);
}
else if ( (porcentaje > 65) && (porcentaje < 75 ) )
{
n2.setValue(70);
}
else if ( (porcentaje > 75) && (porcentaje < 85 ) )
{
n2.setValue(80);
}
else if ( (porcentaje > 85) && (porcentaje < 95 ) )
{
n2.setValue(90);
}
else if ( (porcentaje > 95) && (porcentaje < 100 ) )
{
n2.setValue(100);
}
////////////////// Mandar los datos del sensor 2 a la pantalla////////////////////////////
if (porcentaje <= 5 )
{
n3.setValue(0);
}
else if ( (porcentaje > 5) && (porcentaje < 15 ) )
{
n3.setValue(10);
p2.setPic(95);
}
else if ( (porcentaje > 15) && (porcentaje < 25 ) )
{
n3.setValue(20);
}
else if ( (porcentaje > 25) && (porcentaje < 35 ) )
{
n3.setValue(30);
}
else if ( (porcentaje > 35) && (porcentaje < 45 ) )
{
n3.setValue(40);
}
else if ( (porcentaje > 45) && (porcentaje < 55 ) )
{
n3.setValue(50);
}
else if ( (porcentaje > 55) && (porcentaje < 65 ) )
{
n3.setValue(60);
}
else if ( (porcentaje > 65) && (porcentaje < 75 ) )
{
n3.setValue(70);
}
else if ( (porcentaje > 75) && (porcentaje < 85 ) )
{
n3.setValue(80);
}
else if ( (porcentaje > 85) && (porcentaje < 95 ) )
{
n3.setValue(90);
}
else if ( (porcentaje > 95) && (porcentaje < 100 ) )
{
n3.setValue(100);
}