Aktuelle Zeit in einem Display sekundengenau anzeigen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich habe an meinem Raspberry Pi B ein 20x4 Zeilen Display mittels i2c angeschlossen.

    Dort möchte ich bspw. die aktuelle Uhrzeit anzeigen.

    Das funktioniert soweit schon, jedoch wird die Uhrzeit nicht aktualisiert.

    Hier mein bestehender Quellcode:

    Problem ist, dass dies nun eine statische Anzeige auf dem Display ist.

    Wie bekomme ich die Uhrzeit und andere analoge Werte sekündlich aktualisiert?

    Danke und Gruß

    julian

  • Aktuelle Zeit in einem Display sekundengenau anzeigen? Schau mal ob du hier fündig wirst!

  • Moin dreamshader,

    hatte auch schon die Überlegung mit der Schleife realisiert, jedoch selbes Verhalten:

  • from time import *

    besser: import time

    Als Ergänzung zum Zaubewort Schleife, wollt ich nocht ergänzen, dass diese Schleife in eine Abtastrate von 1/10 laufen sollte. -> 0.1 (2/10 sollte auch noch problemlos möglich sein)

    EDIT: ist fun_time ein eigen erstelltes Modul von dir? Vielleicht verursacht auch das deine Probleme. Konnte ich jetzt jedenfalls auf die schnelle nicht finden. Verwende stattdessen besser datetime

  • Habe jetzt zwei funktionierende Versionen.

    Version 1: mit while true Schleife

    Version 2: mit Threadaufruf

    Ich erhoffe mir durch Version 2, dass es ressourcenschonender Betrieben wird.

    Jedoch bekommeich bei einem Threadaufruf <1 Sek. dann kryptische Sachen im Display angezeigt.

    Nur wenn ich bei einer Sekunde bleibe, dann reagiert das Display vernünftig.

    Hat jemand eine Idee woran sich der Thread timer ggf. stören könnte?



  • 1.: Also Threading brauchst du hier in meinen Augen nicht

    Zum oberen Codebeispiel:

    Die While Schleife gehört nicht in die Funktion sondern in die main Funktion. Aufbau dazu wie folgt:

    So sollte schon mal der Grundsätzliche aufbau aussehen

    Bzgl. der Zeit habee ich das bei meinem Projekt so realisiert, Achtung nur Auszug:

    Python
    while True:
        try:
            rgbconf = rgb_standard()
            now = datetime.now()
            if lastsecond != now.second:
                lastsecond, led_gesetzt = led_calc(now, stdliste, rgbconf, led_gesetzt, strip)
            time.sleep(0.2)

    Kann sich die IP während das Skript läuft ändern? Wenn nein muss diese nicht jedesmal beim Funktionsaufruf neu ausgelesen werden und gehört in einer seperaten Funktion untergebracht

  • Moin julianpe,

    auch ich bin nicht der Python-Mensch.

    in meinem aktuellen Projekt schreibe ich auch Datum und Uhrzeit auf ein TFT-Display.

    ich lasse aber nur schreiben wenn sich der Tag oder die Sekunde geändert hat. Das Programm speichert die geschrieben Sekunde ab und vergleicht sie mit der neuen Sekunde. Wenn gleich wird nicht geschrieben.

    Eventuell hilft das.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!