Hallo allerseits, Ich hab mich in letzter Zeit mal wieder ein bisschen mit Software PWM beschäftigt und möchte nun eine 3-Kanal PWM zum Dimmen einer (oder mehrerer ;-) ) RGB-LED(s) realisieren. Ich nutze einen Atmel Atmega8. Mein bisheriger Code dimmt eine LED logarithmisch in einer festgelegten Geschwindigkeit zwischen einem MIN und einem MAX Wert rauf und runter, ist aber schon gut auf die 3 LEDs erweiterbar.
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 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
Jetzt würde ich gern eine Art Programmablauf im Programmspeicher speichern, wo die nächsten Helligkeitswerte der einzelnen LEDs (noch ohne logarithmischen Verlauf, sprich "ledpointerX" im Code), sprich die nächste Farbe und die Fade-Geschwindigkeiten gespeichert sind. Dieser Programmablauf soll dann zyklisch durchlaufen werden. Also z.B. R1,G1,B1,Zeit1,R2,G2,B2,Zeit2,... Das Problem besteht jetzt darin, alle 3 Helligkeitswerte in der vorgegebenen Zeit von drei unterschiedlichen Anfangswerten zu drei unterschiedlichen Endwerten zu dimmen, also die Farbe zu wechseln. Vielleicht hat sowas schonmal jemand gemacht (bestimmt) und kann mir weiterhelfen. Vielen Dank! Grüße, Christoph