Mehrere Muster speichern und abrufen

  • Habe jetzt deine Datei 1:1 rein gespielt.
    Das erste Muster wird ordnungsgemäßg angezeigt (bis auf die Multiplexingfehler, Weil nach dem Waitms die Ports nicht alle wieder augeschaltet werden. Heißt jede LED leuchtet eine rechts weiter ganz dunkel nach.
    Ab dem ersten Bild. Blitzen für Sekundenbruchteile Spaltenweiße alle LEDs bzw ganze Spalten einfach ganz ganz kurz auf.

  • HI,


    geht nicht. ALso geht schon, aber nicht wie gewünscht^^. Beim füllen von rechts (Bild 2 - 12) verschiebt er die Spalten immer weiter nach links. also sp12 - sp 10&11 - sp 7-9 etc.
    Beim Füllen von oben nach unten stimmen die rechten 5 Spalten. Bei den Linken ist immer ne Zeile zu wenig an. Also Bsp Bild 20: Es sollten alle Spalten leuchten und zwar mit Zeilen 1 - 8. Für die letzten 5 Spalten stimmt das. Die links daneben leuchtet immer genau eine Zeile weniger.
    * * * * * * * * * * *
    * * * * * * * * * * *
    - - - - - - - * * * *
    So in Etwa sieht das dann aus


    Mal eine Frage. Kann ich aus einer Datenzeile ein bestimmtes Bit abfragen?
    Also so nach dem Motto:
    Lookup(1 , Logo.11). Ich würde nämlich gerne in meinen ja 16 Bit langen Datenzeilen mit einem Bit zusätzlich (also an 11. Stelle) auslesen ob das Muster mehr als 12 Spalten groß ist um meine Bewegung wieder rein zu bekommen.

  • Nur zur Sicherheit noch mal: wie Irrlicht schon meinte, es wäre mal ganz gut, da mehr (bzw. eindeutige) Infos zu haben - Du hast doch dieses Teil hier, oder:



    wo sind nun die Zeilen und Spalten....? - betreibst Du das in dieser Ausrichtung wie auf dem Foto, also 12 Pixel breit und 10 Pixel hoch..? Also dann 12 Spalten und 10 Zeilen...?


    die 12 Spalten am Schieberegister, und die 10 Zeilen direkt..? - wo ist der "Nullpunkt"? - also wenn Du nun Spalte 1 und Zeile 1 aktivierst, welche LED leuchtet dann, die links oben...?


    das müsste man wissen - die Daten müssen ja passend dazu abgelegt sein, wenn Irrlicht nun z.B. davon ausgegangen ist, dass Zeile 1 unten und Zeile 10 oben ist, die Matrix aber anders aufgebaut ist, dann können die Daten ja nicht das Bild ergeben, was gedacht war...


    andere Möglichkeit: an der Matrix ist einfach elektrisch was kaputt, deswegen fehlen diese Spalten in manchen Zeilen - hattest Du schon mal ein Bild, bei dem alle LEDs leuchten...?


    Zitat

    Mal eine Frage. Kann ich aus einer Datenzeile ein bestimmtes Bit abfragen?
    Also so nach dem Motto: Lookup(1 , Logo.11).

    k.A., ob das geht bzw. wie man das dann schreibt - aber Du holst das Muster doch eh' in ne Variable, kannst doch dann die abfragen, also praktisch:


    Zitat

    Portbits = Lookup (index, Logo)


    if Portbits.10 = 1 then blabla


    ich stelle noch mal in den Raum, dass es unter'm Strich einfacher und übersichtlicher wäre, das zu trennen, also Bildausgabe aus nem Array in ner Timer-ISR - und Bilder aus den Data-Zeilen holen, dieses Bit abfragen, Bilder verschieben etc., in das Array schreiben, dann getrennt davon in der Hauptschleife... :whistling:

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hi Pesi,


    genau diese Matrix nutze ich im Moment. Die Ausrichtung ist exakt wie auf dem Bild. Heißt. 12 Spalten BREIT (über 2 Schieberegister), 10 Zeilen HOCH (direkt an den Ausgängen des ATmega8 ). Zeile 1, Spalte 1 -> Oben links. Zeile 10 Spalte 12 -> unten rechts.


    Die Matrix läuft. Ich tüftel ja auch noch weiter an meinem Ansatz, bzw habe von euch ganz viel umsetzen können (bis auf den interrupt.). Heißt ich kann jetzt 10 verschiedene Bilder anzeigen die sich bewegen oder eben auch nicht.


    Mir gehts jetzt nur noch um die Optimierung der Ansteuerung. Ich bin ja schon unendlich froh, dass ich nun aus Datenzeilen was lesen kann. Ich denke als Anfänger ist das absolut okay vom Fortschritt, wenn man meine ersten "Ergüsse" dazu anschaut ;).


    Ich verstehe nur noch immer nicht wie du das mit dem Data-Array meinst. Ich habe keine Ahnung wie ich das umsetzen soll. Kannst du mir vlt mal nen Beispieltext hier posten? Also keine Ahnung 2 Muster in nem Bild-array und wo dann die Bilderzeugung etc steht?


    @ Irrlicht. Ich probiere dein neues Programm mal zum Feierabend aus, bzw am Samstag.


    Aber so beim letzten drüber lesen muss ich sagen. Ich machs inzwischen sehr sehr ähnlich. Weils das das Logischste ist (wenn man "mischt" was ja Pesi nicht gefällt^^.)


    Edit: Leider nach wie vor genau der gleiche Fehler drin.


    Edit2: Ich hab jetzt mal meins noch angehängt Ist doch sehr ähnlich. Plus halt die Erweiterung für längere Muster.

  • Ja läuft Dein angehängtes Beispiel denn?
    Ich habe es mir noch nicht angeschaut, aber wenn es läuft, muss ich mir doch keinen Kopf mehr machen, oder?



    Davon abgesehen: Bist Du sicher, dass Du wirklich meine letzte Datei probiert hast?
    Die Anzeigeroutine muss so anfangen:

  • Habe gerade was geniales gefunden, bei MCS:
    http://tools.mcselec.com/Text2Hex/index.php


    Ein Codegenerator direkt auf der Website! Einfach Text eingeben, Font auswählen und er generiert Data-Zeilen für 'ne Matrix.



    Und der hier wandelt animierte(!) Gif-Dateien in Data um:
    http://tools.mcselec.com/GIFdecode/index.php



    Edit:
    Ein für Dich noch besser geeignetes Fundstück:
    http://oktay.com/ledgen/leds.html


    Darauf hatte schon der User demim verlinkt, hier:
    Projekt: LED's Dance | I can Dance - comments Please !


    Einfach 'ne 10x12 Matrix einstellen, dann kommt der Code in einer Weise raus, dass Du ihn mit wenig Aufwand umfrickeln kannst.