HD44770 Uhrzeit automatisch Aktuallisieren

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Huhu,
    Ich bin noch nicht so bewandert,was Python angeht und bräuchte etwas hilfe :)
    Ich habe mir aus einigen Beispielen ein Pythonprogramm gebastelt.
    Das was momentan Angezeigt werden soll, funktioniert auch.

    Nun stoße ich auf das Problem, dass ich die angezeigten Ausgaben, in meinem fall die Uhrzeit manuell durch erneutes öffnen des Programms aktuallisieren muss.

    Wie bekomme ich eine laufende Uhr auf dem Display hin?

  • Hallo denndenn,

    wenn Du hinter

    Code
    lcd_byte(LCD_LINE_2, LCD_CMD)

    einfügst:

    Code
    while True:

    und die restlichen Zeilen dahinter mit einem TAB einrückst, dann sollte die Zeit endlos wiederholt werden.


    Dann noch einen Tipp:

    Statt

    Code
    time.sleep(0)

    setze lieber ein

    Code
    time.sleep(1)

    denn die gleiche Zeit mehr als einmal pro Sekunde anzuzeigen, macht keinen Sinn - und eine Sekunde zu warten schont den Prozessor...


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (20. August 2014 um 20:43)

  • Vielen dank!
    Das hat mir schon sehr geholfen.
    Die Uhr läuft, nun allerdings zwei mal und das Raspberry Pi wird in der oberen Zeile nicht mehr angezeigt.

    Code
    # Send some test
      lcd_byte(LCD_LINE_1, LCD_CMD)
      lcd_string("Rasbperry Pi")
      lcd_byte(LCD_LINE_2, LCD_CMD)	
      while True: lcd_string(time.strftime("%H:%M:%S"))
    
    
    
    
      time.sleep(1)
  • Hallo denndenn,

    dann mach mal so:

    Code
    # Send some test
      while True:
         lcd_byte(LCD_LINE_1, LCD_CMD)
         lcd_string("Rasbperry Pi")
         lcd_byte(LCD_LINE_2, LCD_CMD)    
         lcd_string(time.strftime("%H:%M:%S"))
         time.sleep(1)

    Wichtig ist das Einrücken mit der TAB-Taste.

    Gutes Gelingen!

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo denndenn,

    na Super!

    Weißt Du, was daran das richtig Erschreckende ist?

    Ich habe noch nie irgendeine Zeile in Python programmiert...

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Das einzige, was ich mal vor Jahren angefangen habe ist PHP.
    Ich muss erstmal in die ganze Geschichte reinkommen, was neben der Schichtarbeit nicht immer einfach ist.
    Nun werde ich mich mal an die Anzeige von der CPU Temp. und MHZ machen :D

    Vielen Dank nochmals.

  • ...Ich hätte nie gedacht, dass Python so empfindlich ist, was die Sache mit dem einrücken betrifft...


    Das ist aber so und bereitet Anfängern immer wieder Probleme. In anderen Programmiersprachen wird immer irgendein Klammersymbol wie z.B. { und } (C, Perl) benutzt um Code Blöcke zu kennzeichnen. Da ist man aber nicht zu einer Einrückung gezwungen wie in Python. Einrückungen tragen erwiesenermassen sehr zur Leserlichkeit eines Programms bei. Guido van Rossum (Python Erfinder) wollte einfach durch die Einrückregel erzwingen, dass jeder leserlichen Code schreibt ... was nicht heisst dass man auch trotzdem noch unleserlichen Code erstellen kann :lol:

Jetzt mitmachen!

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