Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

Antworten
Benutzeravatar
raily74 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 573
Registriert: Di 8. Apr 2025, 20:48
Wohnort: Kassel (LK)
Hat sich bedankt: 1070 mal
Wurde bedankt: 2539 mal
Kontaktdaten:

Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#1

Beitrag von raily74 Verified »

Hallo ihr lieben Werbefachleute,

das Ganze war bisher nicht wirklich zufriedenstellend für mich. Von einfrierenden Displays über nicht unterstützte Formate, SD-Karten und Betriebssysteme habe ich seit Veröffentlichung der Platine eigentlich nur Ärger gehabt. Dabei meine ich nicht nur euer Feedback. Dieselben Fehler, die ihr beobachtet habt, sind auch bei mir aufgetreten.

Nun muss ich zu meiner Verteidigung sagen, dass ich auf den Sketch überhaupt keinen Einfluss hatte, weil ich bisher nicht in der Lage war, so etwas zu schreiben. Ich habe lediglich die dazugehörige Platine gestaltet und habe mit Hilfe des Arduino-Forums die Unterstützung mehrerer Displays ergänzt. Umso ärgerlicher war es für mich, dass der Sketch einfach nicht zuverlässig mit allen Bildern laufen wollte, da ich bei auftretenden Fehlern selbst in der Luft hing.

Doch auch ich lerne dazu. Die Python-App zur Eingabe der Zugziele ist überwiegend mit der Hilfe von ChatGPT entstanden. Warum also nicht einfach einen neuen und hoffentlich zuverlässigen Sketch für den Werbemonitor auf dem selben Weg kreieren? Wenn man einigermaßen versteht, was da so im Sketch steht, kann man auch ganz gut mit ChatGPT interagieren, um zu einem vernünftigen Ergebnis zu kommen.
Also habe ich den Sketch heute zur Überprüfung an Microsoft Copilot übergeben und war eigentlich nicht überrascht, dass er fast alles verworfen hat. Vom ursprünglichen Sketch ist nicht wirklich viel übrig geblieben. Eigentlich nur der Teil, den die Jungs im Arduino Forum geschrieben haben und Jürgens "Wenn/Dann-Abfrage" für die drei unterschiedlichen Display-Typen. Alles andere ist Geschichte.

Um die Neuauflage zu prüfen, habe ich nun bewusst die SD-Karte mit dem Mac mit neuen Dateien bespielt. Darunter befindet sich neben neu überarbeiteter Bilder auch ein PNG, das da eigentlich gar nicht liegen dürfte. Zudem habe ich einige Dateien hinzugefügt, die bei Rüdiger zu Abstürzen führten. Das Ganze läuft jetzt seit 90 Minuten fehlerfrei. Auch bei Rüdiger läuft es bereits fehlerfrei (hier hing es ständig).

Der serielle Monitor informiert ständig über die übersprungenen Dateien und aufgetretenen Fehler.
So sieht man im folgenden Screenshot sowohl die ungültige PNG-Datei "CONTIN~5.PNG" sowie die dazugehörige versteckte Datei aus dem macOS Filesystem ("_CONTI~7.PNG").
Im Folgenden lädt der Sketch folgerichtig das BMP-File "CONTIN~8.BMP" nachdem er es auf alle technischen Parameter überprüft hat und überspringt dann dessen zugehörige versteckte Datei "_CONT~10.BMP".

2026-03-04_21h01_45.png
Ich zitiere an der Stelle mal wieder den Helden meiner Kindheit: Ich liebe es, wenn ein Plan funktioniert (Hannibal Smith)
Wobei es im englischen irgendwie besser zum Titel der Serie gepasst hat: I love it when A plan comes together


Hier ein Auszug der Änderungen aus dem Sketch:

Bugfix "Einfrieren" behoben
Ursachen fuer das Einfrieren wurden beim ueberpruefen des alten Sketchs in folgenden Teilen gefunden
  • die Zentrierung erzeugt negative Werte, wenn die Bilder breiter als 80px sind
  • die Laenge der Dateinamen ist auf 15 beschraenkt
  • unterschiedliche Schreibweise BMP, bmp, Bmp ist fehleranfaellig
  • ⁠fehlende Pruefung ungueltiger BMP-Dateien
  • versteckte Dateien anderer Betriebssysteme (z. B. macOS)
  • Pin 10 nicht auf High gesetzt
  • while (!Serial) { } blockiert
Da all diese Teile potentielle Ursachen fuer das Einfrieren sind, wurde der komplette Sketch verworfen und neu geschrieben.
  • Bilder werden nun links oben ausgerichtet, da die Zentrierung nicht mit jeder Hardware zuverlaessig laeuft.
    Bilder sind im Grafikprogramm auf die entsprechenden Groeßen auszuschneiden (80x160px fuer 0,96"; 128x160px fuer 1,8")
  • die Laenge der Dateinamen wurde auf 63 Zeichen erhoeht
  • unterschiedliche Schreibweisen der Dateiendung werden geprueft und in allen Formen akzeptiert
  • Der Sketch verfuegt ueber eine neue Komponente, die die BMP-Dateien auf Richtigkeit prueft (Windows-BMP, 24 bit)
    Entspricht die Datei nicht den Vorgaben, wird sie ignoriert.
    JPG oder PNG-Dateien duerfen auf der SD-Karte gespeichert sein. Sie werden nicht gelesen.
  • versteckte Dateien, die z. B. von macOS geschrieben werden, filtert der Sketch ebenso aus
  • alle Pins werden im Sketch auf High gesetzt, unabhaengig von der Nutzung als Display-Ausgang
  • Arduino-Typ wird abgefragt
Neue Funktion "Rotation"
bisher gab es nur zwei Zustaende in der Rotation > 0 und 2
Bei unguenstiger Einbaulage fehlten die anderen beiden Zustaende
> nun kann man die Drehung in Grad angeben (0, 90, 180 oder 270)
> Portrait und Landscape ermittelt der Sketch nun automatisch aus der Rotation

Verbesserte Uebersichtlichkeit
Alle Funktionen verfuegen nun ueber geeignete Headlines (Dank an ChatGPT)

Neue Serial Prints
Die BMP-Pruefung gibt die Ergebnisse klar definiert am seriellen Monitor aus.
Auch wenn die Dateien uebersprungen werden, so kann man hier sehen, was falsch gemacht wurde.

Den neuen Sketch findet ihr wie gewohnt in meinem Github: https://github.com/raily74/MobaLedLib/b ... onitor.zip

Probiert es bitte aus und gebt mir fleißig Bescheid!

Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau ─ YouTube MLL | Erwecke deine Modellbahn zum Leben
Neu! Die MLL-Suche | Teste sie jetzt! Du wirst begeistert sein.MobaLedLib Wiki | Alle Lösungen zentral an einem Ort
Benutzeravatar
Nohabfan1106 Verified
Gaslampenwärter
Beiträge: 101
Registriert: Di 15. Apr 2025, 14:42
Wohnort: BW
Hat sich bedankt: 991 mal
Wurde bedankt: 174 mal

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#2

Beitrag von Nohabfan1106 Verified »

Hallo Michael,
da hast du aber ganz schön gearbeitet!
Da war sicher nicht in 1h fertig.
Danke für deine Hartnäckigkeit! 8-)

Frage:
Arbeitest du mit MLL auf einem Mac?
Funktioniert das gut?

Ich Frage, weil mir jeden Tag mit win11 mehr Haare ausfallen und ....... ganz so viele hab ich nicht mehr! :h2w:

Bin schon sehr gespannt auf deine Antwort.

Grüße
Wolfgang


Windigipet Premium 2021, Tams mc² V2-9A zum Fahren, Schalten und S88 rückmelden, PowerSplitter mit 3 Boosterbereichen, Märklin C-Gleis (3L) und Tillig Elite Gleis (2L f. StraBa), MLL im Aufbau (Anfänger)
Benutzeravatar
raily74 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 573
Registriert: Di 8. Apr 2025, 20:48
Wohnort: Kassel (LK)
Hat sich bedankt: 1070 mal
Wurde bedankt: 2539 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#3

Beitrag von raily74 Verified »

Hallo Wolfgang,

so lang hat es nicht gedauert. Dank der Unterstützung durch ChatGPT war der Sketch in knapp einer Stunde fertig. Ist ja zum Glück nicht so viel dran. Der Beitrag hier im Forum war mehr Arbeit als der Sketch. Aber es war ja nicht ganz uneigennützig. Ich wollte ja auch, dass es endlich läuft.

Nun kurz zum Mac. Den nutze ich nur produktiv im Büro. An der Modellbahn arbeite ich auch unter Windows 11, in der Werkstatt sogar noch Windows 10.

Ich nutze beide Systeme seit über 30 Jahren parallel und jedes hat seine Vor- und Nachteile. So möchte ich die Benutzeroberfläche und das Handling unter macOS ebensowenig vermissen wie die Vielfältigkeit eines Windows Betriebssystems.

Eigentlich sollte im Keller auch ein ausgedienter Mac mini einziehen. Doch da sich macOS bis heute weigert, Touchscreens zu unterstützen und zudem viele Tools nur für Windows programmiert werden (Z21 Maintenance, LokMaus-Updater, ESU LokProgrammer, Zimo Updater,…), habe ich mich aus Kompatibilitätsgründen für Windows entschieden, was letztendlich auch der MobaLedLib zuträglich war.

Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau ─ YouTube MLL | Erwecke deine Modellbahn zum Leben
Neu! Die MLL-Suche | Teste sie jetzt! Du wirst begeistert sein.MobaLedLib Wiki | Alle Lösungen zentral an einem Ort
Benutzeravatar
Nohabfan1106 Verified
Gaslampenwärter
Beiträge: 101
Registriert: Di 15. Apr 2025, 14:42
Wohnort: BW
Hat sich bedankt: 991 mal
Wurde bedankt: 174 mal

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#4

Beitrag von Nohabfan1106 Verified »

Hallo Michael,
ich habe es befürchtet. :crazy:
So ähnlich wird es mir auch bald gehen.
Mac und Win11. :h2w:
Mein Windigipet, der ESU Lokprogrammer und auch MobaLedLib benötigen Win11.
Aber für alles andere will ich mir das nicht mehr antun.
Danke für deine klare Antwort. Das hilft mir, meine Umgebung entsprechend zu planen. 8-)

Ja, die AI kann schon gute Dienste leisten.
Ich hatte 2 Tage zu tun, bis sich mein Laptop wieder mit seinen USB Anschlüssen (Intel Treiberproblem) und mit seiner Grafikkarte (Nvidia Treiberproblem) verständigte. Win11 hatte die Verbindung gekappt und ohne tiefe Eingriffe war nichts zu machen. 2 volle Tage!

Aber ich will den Chat nicht umbiegen.

Danke, dass du so zielstrebig an dem Werbeanzeiger Problem weitergebohrt hast.

Der kann vielleicht auch bei mir noch "einziehen". ;)

Grüße
Wolfgang


Windigipet Premium 2021, Tams mc² V2-9A zum Fahren, Schalten und S88 rückmelden, PowerSplitter mit 3 Boosterbereichen, Märklin C-Gleis (3L) und Tillig Elite Gleis (2L f. StraBa), MLL im Aufbau (Anfänger)
Benutzeravatar
fromue Verified
MLL-TEAM
MLL-TEAM
Beiträge: 53
Registriert: Do 10. Apr 2025, 09:01
Wohnort: Großraum Heilbronn
Hat sich bedankt: 65 mal
Wurde bedankt: 138 mal

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#5

Beitrag von fromue Verified »

Hallo Zusammen, hallo Michael,

tolle Arbeit und schön das Du die "Fehler" beseitigen konntest.

Aber so ist es halt, wenn man den Sketch für sich selber schreibt und für seine Zwecke alles läuft.
Bei mir ist nie was eingefroren, aber ich habe mich auch an meine Regeln gehalten.
Alle Bilder mit .bmp, dann Beschriftung der Bilddatei nur mit Bild 1 bis Bild x und natürlich die Größe in Breiten oder Länge auf die möglichen
Pixel die der Bildschirm anzeigen kann formatiert.

Der ursprüngliche Gedanke für das "Bilderbuch" hatte ja überhaupt nichts mit Modellbahn oder Werbeanzeigen zu tun.
Ich habe ihn geschrieben, damit meine Eltern im Wohnmobil Bilder ihrer Enkel im Wohnmobil dabei haben können.
Natürlich auch nur ein Bildschirm an einem Arduino.

Erst später habe ich erkannt, der 1.8er Bildschirm passt in das Schaufenster eines Hauses mit Laden.
Da ist dann der erste Bezug zur Modellbahn gekommen. Aber auch hier hat immer alles reibungslos funktioniert.
An weitere Bildschirmgrößen hatte ich auch nie einen Gedanken verschwendet, das kam alles erst mit Deiner Anforderung,
eine Werbetafel in eine Bushaltestelle als Seitenwand einzubauen.

Erst als die Werbetafel eine Platine bekommen hat und das Ding aufgeblasen wurde kam es zu den Problemen.
Aber ist ja klar, für mich waren die Parameter festgelegt und ich habe sie nirgends dokumentiert, da ich logischerweise davon ausgegangen bin
das ein .bmp-Format nie in anderen Schreibweisen auftauchen würde, bzw. man viel größere Bilder auf die SD-Karte speichert als der Bildschirm anzeigen kann.

Nur mal so als allgemeine Erklärung woher die ganze Geschichte eigentlich kommt und was die Gedanken hierzu waren.
Parallel dazu hat sich dann, als das Schaufenster fertig war, die Tankstelle angeboten zu entwickeln.

Viele Grüße, Jürgen

Stummitreff WN | Jeden 1. Freitag im Monat in Winnenden
MirZ21 | Der Infrarot zu Z21 Transceiver
Benutzeravatar
raily74 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 573
Registriert: Di 8. Apr 2025, 20:48
Wohnort: Kassel (LK)
Hat sich bedankt: 1070 mal
Wurde bedankt: 2539 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#6

Beitrag von raily74 Verified »

Hallo Jürgen,

ich erkenne gewisse Ähnlichkeiten zu Hardis MobaLedLib, die er trotz der ursprünglichen Verwendung für die Kuh - die mit der Modellbahn nichts zu tun hatte - allen zugänglich gemacht hat. Gemeinsam wurden Fehler gefunden und beseitigt. Immer mehr Leute wünschten sich Dinge (z. B. einen ESP32 S3), die es in der Urfassung nicht gab und trotzdem unterstützte Hardi uns jederzeit, statt uns ständig zu sagen, dass bei ihm alles läuft und wir es einfach so anwenden sollen wie er, statt es unnötig aufzublasen. Genau diese Einstellung sowie die Unterstützung aller Beteiligten war es, die die MobaLedLib so groß gemacht hat.

Die Probleme sind nicht aufgetreten, weil ich irgendetwas aufgeblasen habe, sondern weil ich versucht habe, deine Idee - die ausschließlich mit deiner Hardware und dem darauf spezialisierten Sketch funktioniert hat - uns allen zugänglich zu machen, so wie es sich unter MobaLedLib’lern gehört.

Die Hardware, die bei dir einwandfrei funktioniert hat, führte bei mir bereits durch ein anderes Fabrikat der SD Karte zur Zerstörung von rund zehn SD Karten (wohlgemerkt noch ohne Platine). Am Ende war es ein fehlender Widerstand, der zur Überspannung am SD Card Reader führte.

Auch beim Sketch war eine gehörige Portion Glück dabei, dass das von dir verwendete Grafikprogramm alles richtig gemacht hat und auch die überbreiten Bilder nicht zum Einfrieren geführt haben, während mein Grafikprogramm versagt hat oder ein Dateiname vielleicht einen Buchstaben zu viel hatte. Dabei handelt es sich ausgerechnet bei diesem Detail um den von mir erlernten Beruf. Das verstehe, wer will.

Ja, ich habe mich deiner Idee bedient, mit einem Arduino Bilder auf einem Display anzeigen zu lassen (eine sogenannte Slide Show). Ich denke, das ist nichts Verwerfliches und natürlich bin ich dir dankbar, dass du mir deine Idee damals zur Verfügung gestellt hast. Als kleines Dankeschön habe ich deine fliegende Verdrahtung durch fertige Platinen ersetzt, was dir zu dem Zeitpunkt eine große Freude bereitet hat. Auch Daniels Idee, mit einem einzigen Arduino mehr als ein Display zu bedienen, hat maßgeblich beigetragen. Doch eine Idee macht noch kein funktionales Produkt, das bei allen zuverlässig läuft. Das erreicht man erst mit viel Zeit, vielen Tests und vielen Fehlschlägen sowie der Analyse der Rückmeldungen.

Die aktuelle Platine ist Version vier. Die drei Vorgänger liegen bei mir in der Kiste mit dem Elektroschrott, zusammen mit den SD Karten, zwei Lichtmaschinen Pro, drei Sicherungsverteilern, einem Universal Verteiler Pro, zwei Zugzielanzeiger Steuerungen uvm.

Mir macht es trotzdem noch riesigen Spaß, euch daran teilhaben zu lassen und ihr dürft euch auch schon auf die nächste Platine freuen, die ich aktuell überarbeite, um sie etwas einfacher in der Anwendung zu gestalten. Es wird etwas (Welt)“bewegendes“. Mal sehen, wie viele Prototypen diesmal dran glauben müssen, bevor ich sie euch präsentieren kann.

Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau ─ YouTube MLL | Erwecke deine Modellbahn zum Leben
Neu! Die MLL-Suche | Teste sie jetzt! Du wirst begeistert sein.MobaLedLib Wiki | Alle Lösungen zentral an einem Ort
Benutzeravatar
Nohabfan1106 Verified
Gaslampenwärter
Beiträge: 101
Registriert: Di 15. Apr 2025, 14:42
Wohnort: BW
Hat sich bedankt: 991 mal
Wurde bedankt: 174 mal

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#7

Beitrag von Nohabfan1106 Verified »

Jungs, ich muss es einfach immer wieder sagen:
Ihr seid alle spitze und ich finde es so toll und auch dass wir mit unserem eigenen Forum so eine tolle Möglichkeit haben alles gut strukturiert und prima zur Verfügung haben.
Danke an alle die klugen Köpfe hier und dass alle Spaß daran haben immer wieder neue Möglichkeiten zu finden die MLL zu nutzen und damit weiterzuentwickeln.
Genial! :jokercolor: :jokercolor: 8-)
Danke! :) :) :)

Grüße
Wolfgang


Windigipet Premium 2021, Tams mc² V2-9A zum Fahren, Schalten und S88 rückmelden, PowerSplitter mit 3 Boosterbereichen, Märklin C-Gleis (3L) und Tillig Elite Gleis (2L f. StraBa), MLL im Aufbau (Anfänger)
Benutzeravatar
Moba-Jo Verified
Anonymer Lichttechniker
Beiträge: 65
Registriert: Di 15. Apr 2025, 21:05
Wohnort: Bad Münstereifel
Hat sich bedankt: 147 mal
Wurde bedankt: 204 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#8

Beitrag von Moba-Jo Verified »

Hallo Michael

Super, vielen Dank!!! Der aktualisierte Sketch läuft bereits seit Stunden ohne Probleme. Auch die Mac-typischen "versteckten" Dateien werden ignoriert.
Ich musste lediglich die Zeile anpassen die das Display "96" ansteuert:

TFTscreen.invertDisplay(0);

Also dort statt einer 1 eine 0 eintragen. So wurden die Dateien auch richtig auf den Displays angezeigt und nicht invertiert. Vor der Änderung waren diese "negativ" dargestellt.

Jetzt freuen sich meiner Preiserlein nicht nur über Reklameplakate auf den Displays sondern ich mich auch über so manchen Urlaubs-Schnappschuss!

Grüße
Jochem

--------------------------------------------------
Traincontroller Gold V11 / DiCostation
Rückmelde- u. Schaltdecoder von Littfinski
MobaLedLib für Häuserbeleuchtung, Lichtsignale, Sound, Servosteuerung, Deckenbeleuchtung, sonstige Schaltvorgänge (mittels Relais)
OpenCar mit DCC und Kufenau-/Fichtelbahn-Komponenten
Benutzeravatar
Moba-Jo Verified
Anonymer Lichttechniker
Beiträge: 65
Registriert: Di 15. Apr 2025, 21:05
Wohnort: Bad Münstereifel
Hat sich bedankt: 147 mal
Wurde bedankt: 204 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#9

Beitrag von Moba-Jo Verified »

Hallo zusammen

Jetzt habe ich doch noch eine Frage:
Ich habe 10 BMP-Dateien im Format 80x160 Pixel auf der SD-Karte. Auch sonstige Eigenschaften sind bei allen Dateien gleich.
Trotzdem werden einige Dateien übersprungen und nicht angezeigt.
Im seriellen Monitor erscheint folgende Fehlermeldung:
"Top-down BMPs (negative Hoehe) nicht unterstuetzt"

Was kann ich hier ändern?

Zum Test habe ich 2 funktionierende (4.bmp und 10.bmp) und 2 nicht funktionierende Dateien (3.bmp und 8.bmp) gezippt beigefügt.
Jochem.zip
Zip-Datei
(128.44 KiB) 11-mal heruntergeladen
Grüße
Jochem

Nachtrag: mit dem "alten" Sketch für das Werbedisplay wurden obige Dateien angezeigt!

--------------------------------------------------
Traincontroller Gold V11 / DiCostation
Rückmelde- u. Schaltdecoder von Littfinski
MobaLedLib für Häuserbeleuchtung, Lichtsignale, Sound, Servosteuerung, Deckenbeleuchtung, sonstige Schaltvorgänge (mittels Relais)
OpenCar mit DCC und Kufenau-/Fichtelbahn-Komponenten
Benutzeravatar
raily74 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 573
Registriert: Di 8. Apr 2025, 20:48
Wohnort: Kassel (LK)
Hat sich bedankt: 1070 mal
Wurde bedankt: 2539 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#10

Beitrag von raily74 Verified »

Hallo Jochem,

vielen, vielen Dank für die präzise Fehlerbeschreibung.
Deine erneute Rückmeldung bringt auch für mich endlich die Erkenntnis, warum es bei mir eingefroren ist.
Denn erst mit dem neuen Sketch werden diese Dateien detektiert und übersprungen. Vorher führten sie zum Absturz.

Es lag nicht - wie hier schon mal vermutet - an aufgeblasenen Platinen sondern an einem bekannten Problem in Zusammenhang mit einem Alpha-Kanal.

Designer (9).png
Meine aufgeblasene Platine

Deine Fehlerquelle müssen wir jetzt suchen. Hier also die Rückmeldung von Copilot:

Die Meldung bedeutet: Diese BMPs sind „top‑down“ gespeichert. Im BMP‑Header ist biHeight negativ → die Bilddaten beginnen oben statt wie üblich unten. Die TFT.h/PImage‑Routine kann nur bottom‑up (positive Höhe). Deshalb überspringt deine Prüfung sie – so wie beabsichtigt.

Konvertiere alle betroffenen BMPs in 24‑Bit, unkomprimiertes, bottom‑up (positive Höhe).

Microsoft Paint (Windows)
Öffnen → Speichern unter → BMP-Bild → (24‑Bit Standard).
Paint schreibt i. d. R. bottom‑up.

IrfanView GUI (Windows)
Datei → Speichern unter → BMP
Achtung: Keine Alpha‑Kanäle / Keine Transparenz
Wenn du vorher:
Bild → Farbtiefe reduzieren → 24‑Bit,
und falls nötig: Bild → Transparenz entfernen machst, *
produziert IrfanView immer bottom‑up BMP v3.

*) Das war es bei mir.
Ich wollte die Bilder "wärmer" machen, weil die OLEDs so ein kühles Licht erzeugen. Dazu habe ich sie in Affinity Photo geöffnet und habe einen Filter hinzugefügt (Alpha-Kanal). Da Affinity nicht direkt als BMP speichert, bin ich den Umweg über ein PNG gegangen und da war der Alpha-Kanal wahrscheinlich noch drin. IrfanView hat das dann so übernommen und mein BMP war fehlerhaft.
IrfanView speichert nämlich nur dann top‑down, wenn explizit ein alpha/transparenter DIB erzeugt wird oder ein spezielles internes Flag gesetzt ist – und das kommt bei 24‑Bit BMP ohne Alpha nicht vor

GIMP (Windows & Mac)
Bild exportieren → BMP → Erweiterte Optionen:
Farbtiefe: 24 bits
(Keine RLE‑Kompression)
Alpha-Kanal vorher entfernen: Ebene → Transparenz → Alpha-Kanal entfernen
GIMP schreibt in der Regel bottom‑up, wenn nichts anderes vorgegeben ist.

Krita (Mac)
Exportieren → BMP
Farbtiefe RGB 8‑bit
Keine Kompression
Exportieren
Ergebnis: bottom‑up BMP v3

Photoshop (macOS)
Achtung: → top‑down möglich, wenn Alpha aktiv ist

Nach diesem Exkurs in die Welt der BMP-Feinheiten muss man sich auch eingestehen, dass ein sauber abgespeichertes BMP kein Garant für die einwandfreie Funktionsweise des Sketchs ist. Wer weiß schon, was „top‑down“ gespeicherte BMP-Dateien sind? Da kann man sich noch so konsequent an Regeln halten, davor ist niemand gefeit.

Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau ─ YouTube MLL | Erwecke deine Modellbahn zum Leben
Neu! Die MLL-Suche | Teste sie jetzt! Du wirst begeistert sein.MobaLedLib Wiki | Alle Lösungen zentral an einem Ort
Benutzeravatar
Moba-Jo Verified
Anonymer Lichttechniker
Beiträge: 65
Registriert: Di 15. Apr 2025, 21:05
Wohnort: Bad Münstereifel
Hat sich bedankt: 147 mal
Wurde bedankt: 204 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#11

Beitrag von Moba-Jo Verified »

Hallo Michael,
n'Abend Interessierte


Kurzfassung: Also, in einem Satz gesagt: wenn ich wie von Michael die Fotos/Dateien mittels GIMP (Mac) abspeichern funktioniert dies einwandfrei.

Langfassung: lieber Michael, ich bin seit über 40 Jahren in meinem Job unterwegs. Zuerst lernte ich Schriftsetzer noch im Bleisatz, dann Fotosatz. Dann machte ich meinen Industriemeister. Mittlerweile hieß es nicht mehr Setzerei sondern Druckvorstufe und DTP (Desk Top Publishing). Jetzt sind wir beim "Mediengestalter" angekommen. Über 30 Jahre führe ich - relativ erfolgreich - meine eigene Druckerei. Und obwohl ich versuche, immer technisch bzw. softwaremäßig "up to date" zu sein - von Bitmap "bottum up" hatte ich bisher nichts gehört. Man lernt halt tatsächlich nicht aus. Vielen lieben Dank für Deine Denkanstöße, die tatsächlich zielführend waren. Ich habe die Fotos, die vom Werbedisplay mittels Deines neuen Sketches nicht angezeigt wurden auf meinem Mac mit GIMP geöffnet und nach Deiner Anleitung als BMP-Datei abgespeichert. Es funktioniert einwandfrei!!! Vielen lieben Dank!!!!

Allerdings muss ich bemerken, dass ich über KI im Allgemeinen, Gemini oder Copilot absolut im Speziellen nichts weiß. Nachdem ich am 1. März diesen Jahres meinen 61. Geburtstag feiern konnte habe ich zwar keine Ahnung von diesen KI-Sachen, interessieren würde mich die Verwendung vor allem im Zusammenhang mit der Modelleisenbahn bzw. ModaLedLib aber schon. Könnten Du hierfür nicht einmal einen kurzen Einblick oder Kurs in einem Stammtisch machen?

Liebe Grüße
Jochem

--------------------------------------------------
Traincontroller Gold V11 / DiCostation
Rückmelde- u. Schaltdecoder von Littfinski
MobaLedLib für Häuserbeleuchtung, Lichtsignale, Sound, Servosteuerung, Deckenbeleuchtung, sonstige Schaltvorgänge (mittels Relais)
OpenCar mit DCC und Kufenau-/Fichtelbahn-Komponenten
Benutzeravatar
Nohabfan1106 Verified
Gaslampenwärter
Beiträge: 101
Registriert: Di 15. Apr 2025, 14:42
Wohnort: BW
Hat sich bedankt: 991 mal
Wurde bedankt: 174 mal

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#12

Beitrag von Nohabfan1106 Verified »

Hallo Jochem,
da hast du in deinen 61 Jahren auch schon einiges gearbeitet.
Aber keine Angst vor KI.
Ich selbst hab mit meinen 65 Jahren mit der Google KI Gemini (nur beispielhaft) schon einige Hilfe erhalten. Gut, man muss hartnäckig sein, den Kopf einschalten und immer wachsam bleiben, ob das denn sein kann.
Aber: nachdem win11 mir die USB Treiber von Intel und den Grafiktreiber von Nvidia vermutlich als unsicher qualifiziert und abgeschaltet hat, habe ich mithilfe von Gemini meine Tastatur, Maus, Touchpad und die Grafikkarte wieder zum Laufen gebracht. OK, das hat mich 2 volle Arbeitstage inklusive Überstunden gekostet, aber es läuft wieder. Nun kann ich sogar wieder beide Monitore mit unterschiedlichen Anzeigen nutzen.
Aktuell versuche ich meinen Wagenverband mit einem Magnetschalter mittels einem Magnetstick (ähnlich dem Viessmann Magnetstift) ein- und ausschalten zu können.
Auch hierbei ist mir Gemini behilflich. Nur sind eben die gelisteten elektronischen Fertig-Magnetschalter allesamt nicht mehr lieferbar, aber man kann das auch mit bistabilen Relais selbst machen. Auch hierbei ist mir Gemini behilflich.

Fazit: man ist nie zu alt weiter zu lernen. Das hast du im Laufe deines Lebens ja selbst erlebt.
Also wenn du Fragen hast, stell sie Gemini oder einer anderen KI. Wenn du deine Maßstäbe an Fragen, wie du sie gestellt bekommen möchtest, auch in der KI anlegst und deine Fragen so stellst, bist du schon gut bedient und wirst interessante Antworten bekommen.
Ich wünsche mir, dass die Kommunikation unter den Menschen wieder mehr der Kommunikation mit einer KI, also mit einer MASCHINE! ähnelt. Schlimm, das so sagen zu müssen, aber ich bin so aufgewachsen, dass man sich respektvoll und freundlich verhält, wenn man etwas wissen möchte.
Irgendwie hat diese Kultur gefühlt seit oder schon vor Corona massiv gelitten.

Jochem, also ran an die KI und keine Angst davor. Ich hab auch gedacht, dass ich sowas nicht benötige. Aber ich schätze es, nicht 100te Treffer im www durchforsten zu müssen und mehrheitlich nix Passendes zu finden.

Vielleicht konnte ich dich etwas ermuntern und du bist schon bald mit der KI am Arbeiten. ;)

Viele Grüße
Wolfgang

Grüße
Wolfgang


Windigipet Premium 2021, Tams mc² V2-9A zum Fahren, Schalten und S88 rückmelden, PowerSplitter mit 3 Boosterbereichen, Märklin C-Gleis (3L) und Tillig Elite Gleis (2L f. StraBa), MLL im Aufbau (Anfänger)
Benutzeravatar
raily74 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 573
Registriert: Di 8. Apr 2025, 20:48
Wohnort: Kassel (LK)
Hat sich bedankt: 1070 mal
Wurde bedankt: 2539 mal
Kontaktdaten:

Re: Neuer Arduino Sketch "Werbeanzeiger" verhindert endlich das Einfrieren

#13

Beitrag von raily74 Verified »

Hallo Jochem,

wie du weißt, habe ich auch den Beruf des Mediengestalters erlernt (1996) und dachte auch, ich würde mich extrem gut mit den gängigen Bildformaten auskennen… bis gestern deine Fehlermeldung kam. Okay, wieder was gelernt: Bitmaps werden in Zeilen von oben nach unten geschrieben, um sie kompatibel zu machen.

Es freut mich, dass du jetzt auch einen Weg gefunden hast, die BMPs kompatibel zu machen. Ich habe jetzt auch endlich die warm eingefärbten Anzeigen laufen.

So ein KI Thema können wir bestimmt mal machen. Ich nutze es mittlerweile täglich an der Arbeit und auch ständig für die Modellbahn. Die Trefferquote bei Programmiersprachen ist enorm hoch.

Frank hat hier einen Thread zum Thema KI eröffnet:
viewtopic.php?t=785

Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau ─ YouTube MLL | Erwecke deine Modellbahn zum Leben
Neu! Die MLL-Suche | Teste sie jetzt! Du wirst begeistert sein.MobaLedLib Wiki | Alle Lösungen zentral an einem Ort
Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag

Zurück zu „Werbeanzeiger - TFT-Display-Steuerung (790)“