Ayuda con Sistema de Tanque (tema configurador excontrol)

Todo lo relacionado con el software de Arduino
Cerrado
Avatar de Usuario
Sigmundfreud
Mensajes: 237
Registrado: Mar Feb 12, 2019 8:23 pm
Ubicación: Girona

Ayuda con Sistema de Tanque (tema configurador excontrol)

Mensaje por Sigmundfreud » Dom Mar 03, 2019 8:35 am

Leandrouno pregunta

Hola amigos, ya tenia el sistema de tanque funcionando a la perfeccion y me pareció que debía Ex-controlarlo.

Cree los 2 circuitos ed bombas (presurizadora y elevadora
+ un sensor generico (hc-05 sensor distancia)
Sin título.png


Luego puse este codigo en el loop

Código: Seleccionar todo

if(Condicionados[0] == true){                                          // Si la casilla del primer Condicionado, está activada.            
if (circuits[0].Value==0){                                             // Y Si(el valor del primer circuito es igual a 0 (apagado)).
if(Sensors[0].Value <= Consignas[0]){                                  // Y Si(el valor del primer sensor es menor o igual que la consigna 0)
circuits[0].Value=249;}                                                // El primer circuito tendrá un valor de 249(icono enchufado NARANJA, si                                                                            // lo queremos verde, cambiarlo por el numero 2)
}else if((Sensors[0].Value >= Consignas[1])&&(circuits[0].Value > 1)){ // sino, Si((el valor del primer sensor es mayor o igual que la consigna 1)                                                                          // Y (el valor del primer circuito es mayor que 1)
circuits[0].Value=0;}                                                  // El primer circuito tendrá un valor de 0 o apagado
}

Luego fui a la app y cree una consigna que se llame Elevadora
le cambie el rango a sensor generico
Le puse el valor maximo que es 1000 ( litros)
le puse el valor minimo que es 600 (litros)

luego active la condicion 1

Pero no funciona
Mi idea es que la bomba elevadora encienda cuando la cantidad de litros sea menor a 600 y que apague cuando sea mayor que 1000

En que me estoy equivocando ??
Gracias
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.

Avatar de Usuario
Sigmundfreud
Mensajes: 237
Registrado: Mar Feb 12, 2019 8:23 pm
Ubicación: Girona

Re: Ayuda con Sistema de Tanque (tema configurador excontrol)

Mensaje por Sigmundfreud » Dom Mar 03, 2019 8:40 am

electra aporta

Necesitas 2 consignas para cada bomba Leandrouno.
Consigna de arranque y consigna de parada. Por supuesto también tienen que estar configuradas en el sketch que cargues al arduino.

//////////////////////////////////

leandruno aporta

El sensor es un ultrasonido de distancia hc-05 y me da un valor en cm, yo lo transforme en litros el cual va de 1 a 1100 lt. Voy a probar con un circuito ado

bueno modifique el codigo

Código: Seleccionar todo

Sensors[0].Value = litros;
if(Condicionados[0] == true){                                          // Si la casilla del primer Condicionado, está activada.            
if (circuits[0].Value==0){                                             // Y Si(el valor de la Elevadora es igual a 0 (apagado)).
if(Sensors[0].Value <= Consignas[0]){                                  // Y Si(el valor de litros es menor o igual que la consigna 0)
circuits[0].Value=249;}                                                // La elevadora tendra un valor de 249(icono enchufado NARANJA, si                                                                            // lo queremos verde, cambiarlo por el numero 2)
}
else if((Sensors[0].Value >= Consignas[1])&&(circuits[0].Value > 1)){ // sino, Si((el valor de litros es mayor o igual que la consigna 1)                                                                          // Y (el valor del primer circuito es mayor que 1)
circuits[0].Value=0;}                                                  // la Elevadora tendrá un valor de 0 o apagado
}

if(Condicionados[1] == true){                                          // Si la casilla del segundo Condicionado, está activada.            
if (circuits[1].Value==0){                                             // Y Si(el valor de la Presurizadora es igual a 0 (apagado)).
if(Sensors[0].Value <= Consignas[2]){                                  // Y Si(el valor de litros es menor o igual que la consigna 0)
circuits[1].Value=249;}                                                // La elevadora tendrá un valor de 249(icono enchufado NARANJA, si                                                                            // lo queremos verde, cambiarlo por el numero 2)
}
else if((Sensors[0].Value >= Consignas[3])&&(circuits[0].Value > 1)){ // sino, Si((el valor de litros es mayor o igual que la consigna 1)                                                                          // Y (el valor del primer circuito es mayor que 1)
circuits[1].Value=0;}                                                  // La presurizadora tendrá un valor de 0 o apagado
}
Consigna 0=1000 ( Elevadora_Maximo)
Consigna 1=600 ( Elevadora_Minimo)
Consigna 2=1200 ( Presurizadora_Maximo)
Consigna 3=300 ( Presurizadora_Minimo)


Ahora pinta de naranja los circuitos, pero alterna entre el circuito 0 y el 1 o sea prende uno y apaga el otro... que puedo hacer ??
Recien prove este codigo

Código: Seleccionar todo

Sensors[0].Value = litros;
if(Condicionados[0] == true){                                          // Si la casilla del primer Condicionado, está activada.            
if (circuits[0].Value==0){                                             // Y Si(el valor de la Elevadora es igual a 0 (apagado)).
if(Sensors[0].Value <= Consignas[0]){                                  // Y Si(el valor de litros es menor o igual que la consigna 0)
circuits[0].Value=249;}                                                // La elevadora tendra un valor de 249(icono enchufado NARANJA, si                                                                            // lo queremos verde, cambiarlo por el numero 2)
Serial.println ("Elevadora ON");
}
else if((Sensors[0].Value >= Consignas[1])&&(circuits[0].Value > 1)){ // sino, Si((el valor de litros es mayor o igual que la consigna 1)                                                                          // Y (el valor del primer circuito es mayor que 1)
circuits[0].Value=0;}                                                  // la Elevadora tendrá un valor de 0 o apagado
Serial.println ("Elevadora OFF");
}

if(Condicionados[1] == true){                                          // Si la casilla del segundo Condicionado, está activada.            
if (circuits[1].Value==0){                                             // Y Si(el valor de la Presurizadora es igual a 0 (apagado)).
if(Sensors[0].Value <= Consignas[2]){                                  // Y Si(el valor de litros es menor o igual que la consigna 0)
circuits[1].Value=249;}                                                // La elevadora tendrá un valor de 249(icono enchufado NARANJA, si                                                                            // lo queremos verde, cambiarlo por el numero 2)
Serial.println ("Presurizadora ON");
}
else if((Sensors[0].Value >= Consignas[3])&&(circuits[0].Value > 1)){ // sino, Si((el valor de litros es mayor o igual que la consigna 1)                                                                          // Y (el valor del primer circuito es mayor que 1)
circuits[1].Value=0;}                                                  // La presurizadora tendrá un valor de 0 o apagado
Serial.println ("Presurizadora OFF");
}
Y el monitor Serial me da este resultado Sad



Elevadora ON
Elevadora OFF
Presurizadora OFF
Elevadora ON
Elevadora OFF
Presurizadora OFF
Elevadora ON
Elevadora OFF
Presurizadora OFF
Elevadora ON
Elevadora OFF
Presurizadora OFF
Valor de la consigna 0 es = 1000
Valor de la consigna 1 es = 600
Valor de la consigna 2 es = 1200
Valor de la consigna 3 es = 300

Avatar de Usuario
Sigmundfreud
Mensajes: 237
Registrado: Mar Feb 12, 2019 8:23 pm
Ubicación: Girona

Re: Ayuda con Sistema de Tanque (tema configurador excontrol)

Mensaje por Sigmundfreud » Dom Mar 03, 2019 8:44 am

gracias a la ayuda de Electra y otro foreros leandruno modifica el código y lo cuelga



Bueno, ante todo muchas gracias a todos. Realmente en un momento me senti muy desilucionado y abandonado, pero al final Todos me terminaron dando una mano.
Me tome el tiempo nesesario y comence de 0 la escitura del codigo.
Si bien entendia y pensaba que el codigo estaba bien, me di cuenta que algun corchete y demas faltaba o sobraba.
El codigo final es el siguiente:

Elevadora:

Código: Seleccionar todo


if (Condicionados[0]==true){                                           // Si la condicion 0 Esta Activada
    if (circuits[0].Value == 0){                                      // Si la Presurizadora Esta Apagada
    if  (Sensors[0].Value <= Consignas[1]) {                         // Si Litros es Menor o igual que Elev_Min
    circuits[0].Value=249;                                          // La Elevadora Pasa a valor 249 ( Automatico)
    Serial.println ("Elevadora ON");
        }             
    }


else if ((Sensors[0].Value >= Consignas[0])&&(circuits[0].Value >0)){        // sino, Si((litros es mayor o igual Elev_Max)&&(Elevadora Encendida) )
      circuits[0].Value=0;                                                     // La Elevadora se Apaga
    Serial.println ("Elevadora OFF");
    }
}

Presurizadora:

Código: Seleccionar todo

if (Condicionados[1]==true){                                           // Si la condicion 1 Esta Activada
     if (circuits[1].Value == 0){                                     // Si la Elevadora Esta Apagada
         if  (Sensors[0].Value >= Consignas[3]) {           // Si Litros es Mayor o igual que Presu_minimo
         circuits[1].Value=249;                                     // La Presurizadora Pasa a valor 249 ( Automatico)
         Serial.println ("Presurizadora ON");
         
        }
    

    
       else {                                                             // Sino
             circuits[1].Value=0;                                       // La Elevadora se apaga
             Serial.println ("Presurizadora OFF");
             }    
             }
}

Cerrado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado