Nextion tijd tonen
6 berichten
• Pagina 1 van 1
Nextion tijd tonen
Ondertussen wat aan het spelen met een Nextion scherm en nu op het idee te komen om de tijd te laten zien op de Nextion, misschien een doodgewoon iets maar ik krijg het nog niet klaar.
Hier alvast de code:
#include "SoftwareSerial.h"
SoftwareSerial HMISerial (10, 11); // RX, TX
#include <Nextion.h>
#include <DS1307RTC.h>
#include <Wire.h>
NexText uur = NexText(0, 1, "t0");
NexText minuten = NexText(0, 2, "t1");
NexText seconden = NexText(0, 14, "sec");
char buffer_hour[10] = {0};
char buffer_minute[10] = {0};
char buffer_second[10] = {0};
char buffer[10] = {0};
uint32_t number ;
void setup() {
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
Serial.begin(9600);
Wire.begin();
setSyncProvider(RTC.get);
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
}
void loop() {
Serial.print(hour());
Serial.print(minute());
Serial.print(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
timeDisplay();
}
void timeDisplay(void)
{
number = hour();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
uur.setText(buffer);
number = minute();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
minuten.setText(buffer);
number = second();
itoa(number, buffer, 10);
seconden.setText(buffer);
}
het probleem: Er verschijnt niets op de display, enkel de tekstvelden zijn zichtbaar , op de Serial komt de tijd netjes binnen.
Hier alvast de code:
#include "SoftwareSerial.h"
SoftwareSerial HMISerial (10, 11); // RX, TX
#include <Nextion.h>
#include <DS1307RTC.h>
#include <Wire.h>
NexText uur = NexText(0, 1, "t0");
NexText minuten = NexText(0, 2, "t1");
NexText seconden = NexText(0, 14, "sec");
char buffer_hour[10] = {0};
char buffer_minute[10] = {0};
char buffer_second[10] = {0};
char buffer[10] = {0};
uint32_t number ;
void setup() {
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
Serial.begin(9600);
Wire.begin();
setSyncProvider(RTC.get);
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
}
void loop() {
Serial.print(hour());
Serial.print(minute());
Serial.print(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
timeDisplay();
}
void timeDisplay(void)
{
number = hour();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
uur.setText(buffer);
number = minute();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
minuten.setText(buffer);
number = second();
itoa(number, buffer, 10);
seconden.setText(buffer);
}
het probleem: Er verschijnt niets op de display, enkel de tekstvelden zijn zichtbaar , op de Serial komt de tijd netjes binnen.
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nextion tijd tonen
Maak eens van number een uint16_t. Mogelijk werkt itoa niet op 32bit getallen en pakt. En moet je niet nexloop() uitvoeren in de loop()
Re: Nextion tijd tonen
Hetzelfde resultaat met de volgende aanpassing:
#include "SoftwareSerial.h"
SoftwareSerial HMISerial (10, 11); // RX, TX
#include <Nextion.h>
#include <DS1307RTC.h>
#include <Wire.h>
NexText uur = NexText(0, 1, "t0");
NexText minuten = NexText(0, 2, "t1");
NexText seconden = NexText(0, 14, "sec");
char buffer_hour[10] = {0};
char buffer_minute[10] = {0};
char buffer_second[10] = {0};
char buffer[10] = {0};
uint16_t number ;
void setup() {
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
Serial.begin(9600);
Wire.begin();
// sync
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
// set alarm times
}
void loop() {
// put your main code here, to run repeatedly:
Serial.print(hour());
Serial.print(minute());
Serial.print(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
number = hour();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
uur.setText(buffer);
number = minute();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
minuten.setText(buffer);
number = second();
itoa(number, buffer, 10);
seconden.setText(buffer);
}
Wat bedoel je met nexloop?
#include "SoftwareSerial.h"
SoftwareSerial HMISerial (10, 11); // RX, TX
#include <Nextion.h>
#include <DS1307RTC.h>
#include <Wire.h>
NexText uur = NexText(0, 1, "t0");
NexText minuten = NexText(0, 2, "t1");
NexText seconden = NexText(0, 14, "sec");
char buffer_hour[10] = {0};
char buffer_minute[10] = {0};
char buffer_second[10] = {0};
char buffer[10] = {0};
uint16_t number ;
void setup() {
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
Serial.begin(9600);
Wire.begin();
// sync
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
// set alarm times
}
void loop() {
// put your main code here, to run repeatedly:
Serial.print(hour());
Serial.print(minute());
Serial.print(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
number = hour();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
uur.setText(buffer);
number = minute();
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
minuten.setText(buffer);
number = second();
itoa(number, buffer, 10);
seconden.setText(buffer);
}
Wat bedoel je met nexloop?
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nextion tijd tonen
Je moet wel een init draaien in de setup. Check ff een tutorial dan zie je het wel.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nextion tijd tonen
ach vroeger noemden we dat programmeursblindheid. Komt bij de beste voorDries schreef:Je hebt gelijk Nico, hoe dom van mij weeral iets bijgeleerd
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten