Control AC de persianas - Relés cambian solos

Es que tu lo ves desde el accionamiento del relé y yo te estoy hablando desde el contacto que activa o desactiva el MOTOR AC.

Por otro lado hemos tenido un contacto remoto con @jordibadiag para intentar reconocer si es un problema de hardware o de software y aunque aun no detecto el problema ya se por donde esta

Durante las pruebas agregué una serie de impresiones con Serial.print que dieron este resueltado para los interruptores que se usan para subir, bajar, parar las persionas 1 a 3.

Agregué esto al código

// PERSIANA 1 ACCIONS
  per1on    = digitalRead(30);
  per1off   = digitalRead(31);
  per1stop  = digitalRead(32);
  char buffer[50]; 
  if (per1on != per1onAnt){ 
      sprintf(buffer, "1 ON:%d OFF: %d STOP %d", per1on, per1off, per1stop);
      Serial.println(buffer);
      Serial.println("1 ON:"+PER1_on+" OFF:"+PER1_off+" STOP: "+ botoStop1+""); 
  }

para cada persiana, lo que permite ver en el monitor serie (comentamos todos los demas Serial.print presentes), los cambios ocurridos.

En un par de pruebas las ventanas trabajaron bien pero luego ocurrió esto

Comenzando
1 ON:1 OFF: 1 STOP 1
1 ON:off OFF:off STOP:
2 ON:1 OFF: 1 STOP 1
2 ON:off OFF:off STOP:
3 ON:1 OFF: 1 STOP 1
3 ON:off OFF:off STOP: <= hasta acá solo es el arranque
1 ON:0 OFF: 1 STOP 1
1 ON:off OFF:off STOP: on <= aca se ve como se acciona switch1 y lo hace bien
1 ON:1 OFF: 1 STOP 1
1 ON:on OFF:off STOP: off
1 ON:0 OFF: 1 STOP 1
1 ON:on OFF:off STOP: off
1 ON:1 OFF: 1 STOP 1
1 ON:on OFF:off STOP: off
2 ON:0 OFF: 1 STOP 1 <= aca se acciona switch 2 pasa a 0 y luego vuelve a 1. Son pull up
2 ON:off OFF:off STOP: on
2 ON:1 OFF: 1 STOP 1
2 ON:on OFF:off STOP: off <= aca termina la persiana 2 correctamente peroo....

1 ON:0 OFF: 1 STOP 0 <= se activa persiana 1 durante un lapso
1 ON:on OFF:off STOP: off
1 ON:1 OFF: 1 STOP 1
1 ON:off OFF:off STOP: on

Esto me hizo prestar atención a que hay dos sitios en el código donde se accionan los motores lo que da lugar a una posible ambigüedad.

Cuando recibe el comando via Web o cuando lo recibe via contacto fisico.

De modo que hay que unir ambos casos para que sea uno solo.
Acabo de modificarlo, y lo subo para que lo pruebes cuando te sea posible, la diferencia horaria ya no es buena para ti.

Persianas.ino (16.6 KB)

1 Like