Aviso

El foro está en modo de sólo lectura.

Cargador 24v DC-DC Con Arduino y pantalla Nextion

Más
6 años 9 meses antes #1092 por Jose Luis
Si ya me imagine que se trataba de la condicion de parada, ahora hay que saber que variable es la que produce el fallo y asi se podra arreglar.
Por eso te dije que pusieras un Serial.print para que te diga en cada momento las variables y ver cual es la que da el problema.

Y he estado muy liado y no he tenido tiempo de mirar nada.
Más
6 años 9 meses antes #1093 por Maxspert
Esto es lo que me aparece cuando pongo el serial monitor:
60 // esto es por que baje todo a un minuto
0:59
1
0:58
2
0:57
3
0:56
4
0:55
5
0:54
6
0:53
7
0:52
8
0:51
9
0:50
10
0:49
11
0:48
12
0:47
13
Y va asi hasta que llega a 0:00 y se para.En el momento que no activa no aparece nada en el monitor serie
Más
6 años 9 meses antes #1094 por Jose Luis
Pero esta funcionando bien, el tema es verlo cuando no funciona y lo que tienes que monitorizar es las variables de parada,, este :

if (puestaMarcha == true&&(contadorTotalSegundos < finTemporizacion))
Más
6 años 9 meses antes #1096 por Maxspert
Si lo he mirado

esta conectado a esto
unsigned int contadorTotalSegundos=0;
Y luego con esto:
unsigned int faltanSegundos=tiempoSegundos;
unsigned int faltanMinutos=tiempoMinutos;
unsigned int finTemporizacion =(tiempoMinutos *60)+tiempoSegundos;

Eso lo que mire desde el principio,pero no consigo ver donde falla,y por que falla la mitad de las pulsaciones.Por lo menos ami me parece muy raro que no lo haga siempre
Más
6 años 9 meses antes #1100 por Maxspert
A ver si yo lo entiendo esto

if (puestaMarcha == true&&(contadorTotalSegundos < finTemporizacion))
La linea de codigo dice,que si esta funccinando para que pare finTemporizacion tiene que ser mas pequeno que contadorTotalSegundos

unsigned int contadorTotalSegundos=0; // contadorTotalsegundos sabemos que es 0

unsigned int finTemporizacion =(tiempoMinutos *60)+tiempoSegundos; // fin de temporizacion es tiempoMinutos por *60 + tiempoSegundos

Ahora tenemos las linea aqui


unsigned int tiempoMinutos=1; //20 para 20 minutos
unsigned int tiempoSegundos=00;
unsigned int faltanSegundos=tiempoSegundos;
unsigned int faltanMinutos=tiempoMinutos;


Es decir:para que pare tiempoMinutos (que es 0) por 60 mas tiempo segundos 20*60+00

if (puestaMarcha == true&&(contadorTotalSegundos < finTemporizacion))

Ahora tenemos,si El boton es On (funcionando) para que pare finTemporiacion tiene que ser mas pequeno que contadorTotalSegundos .

finTemporizacion es 20*60+00=1200
contadorTotalSegundos es= 0

Si lo he entendido bien cuando cunado (finTemporizacion-1200) es mas pequeno que (contadorTotalsegundos-0) puedes pararlo con el botos,o que cumpla los segundos

Lo he entendido bien,tiene algun sentdo lo que puse yo aqui? :huh: :ohmy: :whistle:
Más
6 años 9 meses antes #1101 por Jose Luis
Lo has entendido perfectamente, cuando FinTemporizador sea mayor que el contadorTotalSegundos, no se cumple la condicion y ejecutaria el else que resetearia todas las variables y pararia la carga.

Por eso te decia de monitorizar las variables. Lo que puede pasar es que al parar una de las variables no quede bien reseteada, y al volver a comenzar empiece con un numero diferente. Una tonteria seguro, pero hay que ver que es,
Tiempo de carga de la página: 0.115 segundos
Gracias a Foro Kunena