Aviso

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

Ayuda con pantalla Nextion y RTC 3231

Más
5 años 7 meses antes #1545 por J.Brito
Saludos a todos, mi nombre es Jorge Brito,

Soy nuevo en el foro y programando en arduino, es por esto que me decidí hacer un proyecto para aprender a usar las pantallas nextion ya que me parecen bastante interesantes.
El problema es que este proyecto es una especie de reloj, intente hacer un reloj básico con un RTC3231 el cual funciono sin problemas en el monitor serial del compilador de arduino, pero a la hora de enviar la función del RTC a la pantalla Nextion no he podido encontrar la forma correcta de hacerlo, provocando que el programa no compile o la hora se estropee incluso en el monitor serial.

¿Podrian darme una ayuda mirando mi codigo y con algunas sugerencias?

Muchas gracias a todos .
Saludos.
#include <Wire.h>
#include "RTClib.h"
#include <Nextion.h>

SoftwareSerial nextion(5, 6); //TX: 5 RX : 6   // (Transmision y recepcion pantalla)
Nextion myNextion(nextion, 9600);
int LedPrueba =13;
 
// RTC_DS1307 rtc;
RTC_DS3231 rtc;
 
String daysOfTheWeek[7] = { "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" };
String monthsNames[12] = { "Enero", "Febrero", "Marzo", "Abril", "Mayo",  "Junio", "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" };
 
void setup() {

  pinMode(LedPrueba, OUTPUT);
  digitalWrite(LedPrueba, LOW);

  Serial.begin(9600);
  myNextion.init();

   Serial.begin(9600);
   delay(1000); 
 
   if (!rtc.begin()) {
      Serial.println(F("Couldn't find RTC"));
      while (1);
   }
 
       // Si se ha perdido la corriente, fijar fecha y hora
   if (rtc.lostPower()) {
      // Fijar a fecha y hora de compilacion
      //rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
   }
}
 
void printDate(DateTime date) // Hora RTC monitor serial
{
   Serial.print(date.year(), DEC);
   Serial.print('/');
   Serial.print(date.month(), DEC);
   Serial.print('/');
   Serial.print(date.day(), DEC);
   Serial.print(" (");
   Serial.print(daysOfTheWeek[date.dayOfTheWeek()]);
   Serial.print(") ");
   Serial.print(date.hour(), DEC);
   Serial.print(':');
   Serial.print(date.minute(), DEC);
   Serial.print(':');
   Serial.print(date.second(), DEC);
   Serial.println();
}
 
void loop() { // Loop de prueba

  int ON=myNextion.getComponentValue("page0.BTNON"); // se define boton de pantalla

  if(ON == true){
    digitalWrite(LedPrueba, HIGH);
    
  }
    else{

    digitalWrite(LedPrueba, LOW);
  } 

  
   // Obtener fecha actual y mostrar por Serial
   DateTime now = rtc.now();
   printDate(now);
   
   myNextion.setComponentValue("page0.t2",rtc.now); // No muestra hora en pantalla
   delay(1000);
}
Más
5 años 7 meses antes #1546 por Jose Luis
Podrias subir tambien el programa de la nextion?

De todas formas, con setcomponetValue le estas intentando modificar un campo numerico, cuando el campo del reloj es de texto.
Más
5 años 7 meses antes - 5 años 7 meses antes #1549 por J.Brito
Respuesta de J.Brito sobre el tema Ayuda con pantalla Nextion y RTC 3231
Muchas gracias por responder, aca se encuentra el programa de la pantalla.
Adjuntos:
Última Edición: 5 años 7 meses antes por J.Brito.
Más
5 años 7 meses antes #1550 por Jose Luis
El comando que usas es para enviar datos numericos, y lo intentas enviar a un componente definido como de texto.
Más
5 años 7 meses antes #1551 por J.Brito
Respuesta de J.Brito sobre el tema Ayuda con pantalla Nextion y RTC 3231
En ese caso ¿cual es el comando correcto que debería usar? o en caso de que no lo tenga ¿donde podría encontrarlo?
Más
5 años 7 meses antes #1552 por Jose Luis
A ver, lo que tienes que tener claro es como estas enviando los datos desde arduino. En la nextion tienes un componente de texto, por lo que para enviarle informaicon debes usar el SetComponentText, pero eso ya lo explique en un video. Te aconsejo que los revises, por que veo que no tienes claro los comandos a usar.

Si el arduino guarda la hora en formato numerico, tampoco te va funcionar.

Pero supongo que lo guarda en modo texto, eso tendras que verificarlo tu.
Tiempo de carga de la página: 0.232 segundos
Gracias a Foro Kunena