Aviso

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

Cargador 24v DC-DC Con Arduino y pantalla Nextion

Más
6 años 5 meses antes #904 por Jose Luis
Oye si puedes cuélgame el fichero de la nextion mas actualizado que tengas, que voy a mirar un par de cosas a ver si funcionan como pienso.
Más
6 años 5 meses antes - 6 años 5 meses antes #905 por Jose Luis
Mi regalo de papa noel para que uses como base ( ojo puedo ver si recibe datos la nextion por que no subiste el programa actualziado de la pantalla):
#include <SoftwareSerial.h>
#include <Nextion.h>
#define RxD 10
#define TxD 11

SoftwareSerial nextion(RxD, TxD);
Nextion myNextion(nextion, 9600);
const int ssr = 2;
const int ledStatus = 13;
const int tensionBaterias = A0;
unsigned long previousMillis = 0;
unsigned long interval = 20000;
unsigned int contadorSegundos=0;
unsigned int tiempoCiclos = 1000;
boolean flagSegundos = true;

void setup()

{
  pinMode(ledStatus, OUTPUT); 
  pinMode(ssr, OUTPUT);
  digitalWrite(ledStatus, LOW);
  digitalWrite(ssr,LOW); 
  Serial.begin(9600);
  myNextion.init(); 
   myNextion.sendCommand("page 1");
}

void loop()
{
int voltimetro = analogRead(tensionBaterias);
int baterias=map(voltimetro,0,1023,0,100);
int puestaMarcha=myNextion.getComponentValue("Home.bt0");
myNextion.setComponentValue("Home.n0",baterias);
myNextion.setComponentValue("Home.j0",baterias);
myNextion.setComponentValue("Home.n1",contadorSegundos);

if ((puestaMarcha == true)&&(contadorSegundos < 1200))  // Dos posibilidades de parada, boton off o tiempo mayor que 1200 segundos.
{
digitalWrite(ssr, HIGH);
digitalWrite(ledStatus, HIGH);
if (flagSegundos) {                                                // Solo tiene que guardar el valor en el primer ciclo, sino se actualziaria en cada ciclo.
  previousMillis = millis();
  flagSegundos = false; 
}
if (millis() - previousMillis > tiempoCiclos) {      // Aqui calculamos  un segundo y se lo suma a la variable contadorSegundos.
 contadorSegundos++;
 Serial.println(contadorSegundos);                       // Si activas el monitor serial veras como van subiendo los segundos.
 previousMillis = millis();
}

} 
else {
digitalWrite(ssr, LOW);
digitalWrite(ledStatus, LOW);
flagSegundos = true;
if (contadorSegundos>1199) myNextion.setComponentValue("Home.bt0",0);                         // No tengo claro que funcione, la intencion es que ponga a 0 el bt0.
contadorSegundos=0;

}
}

Última Edición: 6 años 5 meses antes por Jose Luis.
Más
6 años 5 meses antes #906 por Maxspert
Muy buenas Jose.Por desgracia tuve que salir temprano de la oficina y ya no tengo acceso a esos ficheros hasta el lunes,y todo lo tengo ahy.Voy a estufiar un poco el codigo que me hiciste a ver como lo has echo y tratar de entenderlo paso a paso.Me hace falta para si aprender.Te doy las gracias antemano por todo y te deseo un fin de semana maravilloso y ya te cuanto mas el lunes.Un saludo
Más
6 años 5 meses antes #907 por Maxspert
Bueno,ire una por una y te las cuento.El A2 lo puse y nose si la cague o no pero hasta que no cambie no funciono,es decir pulsaba el boton y no hacia nada ,despues de poner A2 pulse el boton y me dio unos 4,85voltios aproximadamente.
Lo de medir la bateria,ya le puse el divisor y si me di cuenta de que hay que maperar un poco por que al 100% debo de tener 28.5V lo que las baferias no creo que tenga.De todas formas el lunes tenia pensado de medir 3-4 transpaletas para hacerme una ideea que me marca cuando estan cargadas,ya que estaran todo el fin de semana cargando,y cuando vuelvan de la ruta volver a medir.Creo que asi me puedo hacer una ideea.Resumiendo,el codigo que me hiciste lo probe y me funcciona perfectamente,Boton encendido/apagado ,medicion de las baterias (a falta de mapear) ,lo que quedo fue lo del cuenta atras,cosa que ya me hiciste pero hasta el lunes no puedo probar.Gracias de nuevo
Más
6 años 5 meses antes #908 por Jose Luis
No esta todo arreglado eh, solo es una base. El tiempo cuenta hacia adelante. Yo lo que haria es crear un string minutos:segundos y enviar esi en modo texto a la nextion. Cuando tengas el fichero lo cuelgas y asi miro yo los problemillas que puede dar.
Más
6 años 5 meses antes #909 por Jose Luis
Por cierto, no se si sigues los videos que voy subiendo a mi canal de youtube, pero este mes he subido un video demostrando como con un poco de paciencia y pensando las cosas, podemos utilizar las librerias no oficiales (las que estas tu usando) para hacer trabajos bastante complejos.

Te saco esto aqui ya que, tiene muchos de los elementos que habiamos hablado al principio. Es la pantalla de un compresor casero y en ella puedes ver consumo de corriente, temperatura del tanque, presion del tanque (tango analogica como digital) etc.

Hechale un ojo, por que si le pones a tu proyecto un sensor de temperatura para medir la temperaturala las baterias cuando cargan y/o la corriente que esta chupando la carga, lo harias mucho mas completo (que no se si necesitas tanto).

Ahi te va el video :
Tiempo de carga de la página: 0.134 segundos
Gracias a Foro Kunena