Gast
#3497946
Ich habe mir zu Testzwecken eine 3x3 RGB LED Matrix auf einem Breadboard gebastelt. Die LEDs haben eine gemeinsame Kathode. Für die Zeilen benutze ich pro Farbe ein Shift-Register (74HC595) und für die Spalten welche ich Multiplexen möchte laufen pro Spalte die gemeinsamen Kathoden zusammen und werden via NPN-Transistor (pro Spalte einen) mit einem GPIO meines Raspberry Pi verbunden. Das reine ansprechen aller 9 LEDs in allen Farben ist sowei kein Problem. Auch gezielt einzelne LEDs mittels BAM zu dimmen geht problemlos. Was ich aber noch nicht verstanden habe wie ich das ganze so gestalten kann, dass ich "Animationen" hinbekomme. Habe immer ein riesen durcheinander, dass die Abfolgen zu schnell sind oder die LEDs gewaltig flakern. Bisher habe ich es mit Sleep (in Python time.sleep(x)) versucht und nicht mit interrupts. Soll ich das ändern? Mein code sieht in etwa wie folgt aus (nicht optimiert mit Bit Operationen sondern als Prototyp mit String-Manipulation):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
Wie muss ich z.B. die Main Methode gestalten, damit ich in der ersten Zeile Rot habe (LED 1: 100% LED 2: 75% LED 3: 50%) in der zweiten Grün (LED 1: 100% LED 2: 75% LED 3: 50%) und in der dritten Blau (LED 1: 100% LED 2: 75% LED 3: 50%) Zuerst soll nur Zeile 1 (rot) leuchten, dann soll nach 1 Sekunde Zeile 2 (grün) dazukommen und nach einer weiteren Sekunde soll noch Zeile 3 dazukommem und gemeinsam leuchten. Danach wieder von vorne. Bin da total irgend wie total auf dem Holzweg, bei all meinen Versuchen. Ich erwarte keinen fertigen Lösungscode, sondern was ich umstellen muss resp. Pseudocode wie es vom Algorithnus her funktionieren sollte =) Vielen Dank und Gruss Danny