Da ich immer wieder Geschenke brauch, bin ich gerade wieder am 'Andenken' einer neuen Idee.
Es wäre eine Uhr (wer hätte das gedacht), deren Anzeige von Stunden und Minuten auf einem array von max7219 8x8-Ledmatrixen erfolgt. Allerdings wäre die Gesamtmatrix deutlich größer, als für den Uhrzeittext nötig, sodass rings um den Text Platz ist. Beim Minutenwechsel soll jetzt der nicht mehr gültige Teil explodieren, es soll so eine Art Funkenregen dargestellt werden und wenn alle Funken 'zu Boden gefallen' sind, bleibt ein leerer Platz. Auf den fällt dann von oben die neue Ziffer. Fertig, die Zeitanzeige ist wieder vollständig und aktuell. Um das zu realisieren stelle ich mir 2 Bildspeicher vor, ein bit entspricht einer Led der Gesamtmatrix. In den ersten wird der Uhrzeittext über eine font-Tabelle reingeschrieben und über die max7219 zur Anzeige gebracht. In einer data-Tabelle würde ich auch die Einzelbilder des Funkenregens ablegen. Ist jetzt eine Explosion einer Ziffer dran, würde ich in den 2. Bildspeicher ein Teilbild des Funkenregens kopieren, beide Bildspeicher mit 'or' verknüpfen und an die max7219 senden. Das sooft, wie es Teilbilder des Funkenregens gibt. Die 2 Bildspeicher deswegen, weil die Funken ja über die verbleibenden Ziffern drüber fliegen. Das kann ich mir jetzt alles gut vorstellen, nur, was mach ich mit der explodierenden Ziffer. Durch die 'or'-Verknüpfung bleibt die ja zunächst unverändert, was ja in den ersten Bildern des Feuerregens passen würde, aber dann, wenn die Funken weit genug weg sind, muss die Ziffer auch weg sein. Wenn ich jetzt den Zeittext ohne diese Ziffer während des Funkenregens neu in den Bildspeicher schreibe, gibt das sicher einen Hakler im Ablauf. Sollte ich für jede Ziffer einen eigenen Funkenregen hinterlegen und bei Beginn der Explosion den Zeittext ohne diese Ziffer in den Bildspeicher schreiben und dann mit der 'or'-Verknüpfung aus dem 'Explosionsbildspeicher' zur Anzeige bringen? Das sollte ohne Hakler gehen.
Hat jemand Ideen dazu?
Es wäre eine Uhr (wer hätte das gedacht), deren Anzeige von Stunden und Minuten auf einem array von max7219 8x8-Ledmatrixen erfolgt. Allerdings wäre die Gesamtmatrix deutlich größer, als für den Uhrzeittext nötig, sodass rings um den Text Platz ist. Beim Minutenwechsel soll jetzt der nicht mehr gültige Teil explodieren, es soll so eine Art Funkenregen dargestellt werden und wenn alle Funken 'zu Boden gefallen' sind, bleibt ein leerer Platz. Auf den fällt dann von oben die neue Ziffer. Fertig, die Zeitanzeige ist wieder vollständig und aktuell. Um das zu realisieren stelle ich mir 2 Bildspeicher vor, ein bit entspricht einer Led der Gesamtmatrix. In den ersten wird der Uhrzeittext über eine font-Tabelle reingeschrieben und über die max7219 zur Anzeige gebracht. In einer data-Tabelle würde ich auch die Einzelbilder des Funkenregens ablegen. Ist jetzt eine Explosion einer Ziffer dran, würde ich in den 2. Bildspeicher ein Teilbild des Funkenregens kopieren, beide Bildspeicher mit 'or' verknüpfen und an die max7219 senden. Das sooft, wie es Teilbilder des Funkenregens gibt. Die 2 Bildspeicher deswegen, weil die Funken ja über die verbleibenden Ziffern drüber fliegen. Das kann ich mir jetzt alles gut vorstellen, nur, was mach ich mit der explodierenden Ziffer. Durch die 'or'-Verknüpfung bleibt die ja zunächst unverändert, was ja in den ersten Bildern des Feuerregens passen würde, aber dann, wenn die Funken weit genug weg sind, muss die Ziffer auch weg sein. Wenn ich jetzt den Zeittext ohne diese Ziffer während des Funkenregens neu in den Bildspeicher schreibe, gibt das sicher einen Hakler im Ablauf. Sollte ich für jede Ziffer einen eigenen Funkenregen hinterlegen und bei Beginn der Explosion den Zeittext ohne diese Ziffer in den Bildspeicher schreiben und dann mit der 'or'-Verknüpfung aus dem 'Explosionsbildspeicher' zur Anzeige bringen? Das sollte ohne Hakler gehen.
Hat jemand Ideen dazu?
Raum für Notizen
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------