INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LCD UHR
20.05.2015, 13:18
Beitrag #1
LCD UHR
Hallo ich hätte da mal eine Frage zu diesem Programm ich verstehe die Rechnung zur Systemzeit nicht. Vielleicht kann mir das hier ja jemand verständlich erklären danke schon mal im voraus


[#include <LiquidCrystal.h>
int stunde = 0;
int minute = 0;
unsigned long sekunde = 0;
unsigned long zeitseitein_alt = 0;
unsigned long zeitseitein_neu = 0;
int uhrneumachen = 0;
// Sage der Software wo das LCD angeschlossen ist
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// Sage der Software wie gross[code] das LCD ist Spalten / Zeilen
lcd.begin(16, 4);
// Print a message to the LCD.
lcd.print("Systemzeit");
}
void loop() {
// Systemzeit einlesen
zeitseitein_neu = (millis()/1000);
if (zeitseitein_neu - zeitseitein_alt) {
// Berechnen der Uhrzeit aus der Systemzeit
sekunde += zeitseitein_neu - zeitseitein_alt;
zeitseitein_alt = zeitseitein_neu;
// Sekundenberechnung
if (sekunde > 59){
sekunde = sekunde - 60;
minute = minute + 1;
}
// Minutenberechnung
if (minute > 59){
minute -= 60;
stunde++;
}
// Stundenberechnung
if(stunde > 23) stunde = 0;
// Ausgeben der Uhrzeit auf das LCD
lcd.setCursor(0, 2); // Stelle im LCD an der der text ausgegeben
wird
if(stunde<10)lcd.print("0");
lcd.print(stunde);
lcd.print(":");
if(minute<10)lcd.print("0");
lcd.print(minute);
lcd.print(":");
if(sekunde<10)lcd.print("0");
lcd.print(sekunde);
}
}/]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.05.2015, 13:29
Beitrag #2
RE: LCD UHR
Wenn der Arduino startet wird die Zeit seitdem er läuft in Millisekunden hochgezählt, wird hier als Systemzeit bezeichnet. Daraus werden Sekunden gemacht und weiter runtergerechnet auf Minuten und Stunden.
Das funktioniert so aber sehr schlecht, da das Quarz des Arduino nicht so genau ist, sprich deine Uhr wird umso länger sie läuft, desto falscher geht sie.
Es gibt Uhrenmodule die du an den arduino anschließen kannst und nur noch auslesen musst. Such mal nach Arduino RTC oder DS3231,.....

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.05.2015, 15:25
Beitrag #3
RE: LCD UHR
Danke Scherheinz für die schnelle Antwort habe [/code] das schon gemerkt als ich eine Weckfunktion eingebunden habe da blieb die Zeit kurz stehen. was ich noch nicht ganz versteh ist die Rechnung vielleicht könntest du mir da noch was zu sagen?
[if (zeitseitein_neu - zeitseitein_alt)
{
sekunde += zeitseitein_neu - zeitseitein_alt; // Berechnen der Uhrzeit aus der Systemzeit
zeitseitein_alt = zeitseitein_neu;]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste