Forum: Mikrocontroller und Digitale Elektronik RTC- Uhr um Datum / Wochentag erweitern


von Max (Gast)


Lesenswert?

Hallo,
ich habe eine Uhr, so wie in diesem Link, gebaut.
https://funduino.de/arduino-rtc
Es klappt soweit. Leider bekomme ich nicht hin, dass Datum und 
Wochentag
angezeigt werden. Die kurze Beschreibung verstehe ich nicht und ein 
Forum auf
der Seite gibts nicht mehr.
Wer kann mir helfen, vielen Dank im Voraus
Max.

von Sebastian R. (sebastian_r569)


Angehängte Dateien:

Lesenswert?

Was davon hast du gemacht und wie sieht dein Quelltext jetzt aus?

von Frank L. (hermastersvoice)


Lesenswert?

was ist da nicht zu verstehen?

von Max (Gast)


Lesenswert?

Hallo, so habe ich es eingefügt

nach:
 lcd.setCursor(2, 0);

  printDay();


nach:
Serial.print(digits);
}

void printDay()
{
int day;
day = weekday();
if(day == 1){lcd.print("So, ");}
if(day == 2){lcd.print("Mo, ");}
.
.
.
if(day == 7){lcd.print("Sa, ");}
}

von Mini (Gast)


Lesenswert?

Max schrieb:
> Hallo, so habe ich es eingefügt
>
> nach:
>  lcd.setCursor(2, 0);
>
>   printDay();

Der Beschreibung nach sollst du printDay() vor dem Schreiben des Datums 
einfügen, also so:

lcd.setCursor(1, 1); // Der nächste „Text“ soll nun beim zweiten Zeichen 
..
printDay();

und NICHT direkt nach: lcd.setCursor(2, 0);

von my2ct (Gast)


Lesenswert?

Max schrieb:
> Wer kann mir helfen

Der DS1307 stellt Wochentag und Datum (Tag, Monat, Jahr) in den 
Registern 3 bis 6 zur Verfügung (Datenblatt S.8).
Ob das direkt mit deiner Bibliothek geht und wie, hängt von der von dir 
verwendeten Bibliothek ab. Sonst musst die einfach die Register lesen 
und die Werte passend formatiert auf die Anzeige geben.

von Moko (Gast)


Lesenswert?

1
....
2
lcd.setCursor(1, 1); // Der nächste „Text“ soll nun beim zweiten Zeichen in der zweiten Reihe beginnen.
3
printDay();
4
lcd.print(day()); // Das Datum soll nun als
5
....
So sollte es der Beschreibung nach, aussehen.

von Max (Gast)


Lesenswert?

Hallo nochmals,
Also es klappt jetzt wie gewünscht.
Bin jetzt dabei mich in den Code einzuarbeiten.
Ich be DANKE mich bei Euch.
Grüsse Max

von kannAllesBesser! (Gast)


Lesenswert?

Max schrieb:
> if(day == 1){lcd.print("So, ");}
> if(day == 2){lcd.print("Mo, ");}
> .
> .
> .
> if(day == 7){lcd.print("Sa, ");}

Das wäre auch ziemlich "bescheiden" ...
besser z.B.

const char days[] = {"So, ", "Mo, ", ...};

lcd.print(days[day]);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.