TFT Display 1,8" flimmert

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • TFT Display 1,8" flimmert

      Servus miteinander,

      bitte steinigt mich nicht - aber ich habe wegen der bereits vorhanden Bibliotheken
      die Sache mit Arduino programmiert.
      Aber eventuell fährt hier ein User auch "zweigleisig"
      Ich habe gerade vor ein altes Küchenradio mit schlechten Empfang zu "modernisieren".
      Die Sache läuft bereits so einigermaßen - Quelle war ein fertiges Projekt aus dem Web was ich angepasst habe.
      Leider flackert / flimmert die Anzeige (siehe Video).
      Eventuell sind diese ST7735 Display,s einfach zu langsam oder gibt es ein Trick ?
      Bevor ich noch mehr Zeit investiere möchte einfach wissen ob da noch was geht (bin ja schließlich kein Profi).

      Andernfals kann ich die Sache beerdigen und muss mich nach ein schnellers Display umschauen.

      Schade wäre es - ich habe schon einiges an Zeit und Nerven investiert.

      Bei Interesse stelle ich den Code auch noch hier ein.


      Schönes Wochenende !
      Dateien
      • radio.zip

        (694,58 kB, 63 mal heruntergeladen, zuletzt: )
    • Nachdem der Anzeigeninhalt eher statisch ist, wird wohl das display zu oft mit den Daten versorgt und dabei jedesmal mit clear gelöscht und dann mit dem gleichen Inhalt wieder beschrieben.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Erst einmal Danke !
      Wie gesagt ich habe das unter Adurino erstellt.
      Aber Adurino ist noch einmal was anders - es orientiert sich alles an C und ich da bin ich nicht so "helle" .
      Anbei die entsprechende Datei.
      Der Code ist nicht sauber (Copy + Paste).
      Die Anzeige wird in der Loop realisiert.
      Ich denke da liegt der Fehler - ständige Aktualisierung.
      Aber wie kriege ich eine statische Anzeige außerhalb der Loop hin die auch geänderte Werte mit
      übernimmt / anzeigt ?
      Der angezeigte Text sollte sich auch ändern können (wenn z.B. die Station / Lautstärke verändert wird).
      Ich habe schon viel probiert - aber mir fehlen einfach die Kenntnisse.
      Eventuell über Zwischenspeicher / Cache (RAM), der die Werte zwischenspeichert und nach einer Zeit "x" auf das
      Display schreibt.
      Eine praktisch Lösung fällt mir nicht ein - jemand der in C fitter ist wie ich hat eventuell eine Idee.
      Besten dank im Voraus !
      Dateien
      • SI4703_RDS_V1.txt

        (9,45 kB, 43 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von bastelfix ()

    • Ich habe jetzt tft.fillScreen nach Setup verschoben - die Datei ist entsprechend geändert.
      Ich habe kein Flackern mehr, aber bei einer Änderung wird einfach der neue Wert über den bestehenden
      alten Wert auf dem Display geschrieben (es liegen zwei Zahlen quasi über einander).
      Eigentlich müsste jetzt noch ein CLS rein bevor der neue Wert geschrieben wird - CLS gibt es aber nicht.
      So geht es auch nicht - ich bin ratlos.

      P.S. ich habe noch etwas "gespielt"

      und folgende Änderung vorgenommen :

      tft.setCursor(15, 45);
      tft.setTextColor(ST7735_White);
      delay(1000);
      tft.fillRect(15,45, 100, 15 ,ST7735_Blue);
      tft.setTextSize(2);
      tft.print(PS);

      Durch das Zeichnen eines Rechtecks und einfügen von delay habe ich nur noch ein minimales
      Flackern und die Zahlen liegen nicht übereinander
      Das Flackern sieht man nur wen man genau hinsieht.
      Programmtechnisch nicht optimal - aber besser als vorher.
      Noch eine Idee ?

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von bastelfix ()

    • Ja, ok, so ein Display ist das ;)
      Ich sehe 3 Möglichkeiten:
      Den betreffenden Inhalt vorher mit Leerzeichen überschreiben, also ein kleines blaues Feld über die Buchstaben legen (wie bei Clear)
      Den Inhalt des Textfeldes vorzuhalten, also ein Displayspeicher und komplett überschreiben.
      Den Inhalt zu lesen, zu manipulieren und wieder zu schreiben.

      Vielleicht bietet das Display ja die Mögichkeit, den Texthintergrund nicht transparent zu behandeln?
      Heiko?
    • Michael schrieb:

      also ein kleines blaues Feld über die Buchstaben legen (wie bei Clear)
      habe ich schon mit delay gemacht :
      Ohne delay flackert es noch mehr ...

      delay(1000);
      tft.fillRect(15,70, 90, 15 ,ST7735_Blue);

      Wird also nach Ablauf von Zeit x nochmals mit Blau überschrieben
      Displayspeicher - ich denke so ein billiges Display wird das nicht haben.
      Müsste man extern machen (RAM) - aber keine Idee wie.

      Aber ich gebe mich auch mit (erst einmal) wenig zufrieden.
      Trotzdem wäre es schon wenn es besser / eleganter gehen würde.