Forum: Compiler & IDEs RGB Matrix 3x3


von Jens H. (Firma: FH-Köln) (holzi)


Lesenswert?

Hi,

und zwar habe ich vor eine 3x3 RGB-Matrix aufzubauen! 9 Spalten und 3 
Zeilen!

Ich habe mal soweit wie möglich den Code angepasst, jedoch habe ich 
anscheinend den Interrupt noch nicht ganz verstanden!

Der aktuelle Quellcode tut bisher nichts anderes als 2 RGB LEDs zu 
dimmen und den Farbwert zu ändern!

Jedoch will ich es hinkriegen dass er nacheinander die RGBs anspricht 
und den (fürs erste reicht ja die erste Reihe, also sprich die ersten 3 
RGB) Farbwert setzt ( jede der 3 RGBs sollen unterschiedlich farblich 
leuchten können!)

Ich habe eine Funktion mit dem Prototypen void set_field() geschrieben.
diese soll das Feld bekommen und den Spieler bzw. die Farbe. Darauf hab 
ich in der main mal eine Routine geschrieben, die die erste RGB LED zum 
Leuchten bringen soll. Jedoch leuchten alle 3 :/ bzw auf dem STK Board 
die ersten 6 LEDs.

Kann kann ich nicht 3 verschiedene Interrupt Routinen schreiben und die 
nacheinander aufrufen?

Bei set_field wollte ich ansich wie man bei case 3: bis case 9: noch 
sieht die Kathoden der RGB einzelnd ansprechen damit ich wenigstens Rot, 
Grün und Blau hinkriege.. würde sie aber gerne mischen können!

von Jens H. (Firma: FH-Köln) (holzi)


Angehängte Dateien:

Lesenswert?

- Dateianhang -

von Matthias L. (Gast)


Lesenswert?

Ohne jetzt dein Programm im Detail angesehen zu haben, würde ich dir 
folgendes raten:

Zuerstmal solltest du nen Schaltplan reinstellen. Dieser sollte so 
konstruiert sein, dass alle Farben jeder LED einzeln anzusprechen sind.
Die Anschlussbelegung dieser Zeilen/SPalten sollte möglichst clever 
gewählt werden, um später keine Klimmzüge beim Ansteuern machen zu 
müssen.

Danach solltest du einen sogenannten Videospeicher anlegen, der durch 
ein geeignetes interruptgetriebenes Programmteil zyklisch ausgegeben 
wird.

Danach kannst du Funktionen programmieren, die irgendwelche Muster oder 
Figuren oder was auch immer in diesen Videospeicher reinschreiben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.