RGB Matrix 3x3

OP (Firma: FH-Köln) #1074960
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!
Gast #1075033
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren