Forum: Mikrocontroller und Digitale Elektronik Farbwechsel nach Presets, welche Programmlogik?


von Marc S. (m_arc)


Lesenswert?

Hallo,

zuerst eine Projektvorstellung:

8 RGB-Leds werden mit einem Atmega8 + Schieberegister + Treiber 
angesteuert.
Bedient werden kann das ganze über eine 8-Tasten Ir-Fernbedienung, bzw. 
äquivalente Tasten am Gerät.
Intern gerechnet wird im HSV-Farbraum.
Als Möglichkeiten sind angedacht:
- Statische Farbe
- Durchlauf im Farbkreis
- Vorprogrammierte Farben, Farbabläufe
jeweils alle LEDs gleichzeitig, gerne auch jede einzeln (anderer 
Startpunkt, Komplementärfarben, etc.)
Als Parameter sind Farbe und Geschwindigkeit einstellbar (2 Tasten 
Preset +/-, 2 Tasten Farbe bzw. Geschwindigkeit +/-)

Und Trommelwirbel:
Alles in Assembler!

jetzt der Stand der Dinge:

- Ansteuerungsroutine fertig (aus dem Forum, etwas angepasst)
- HSV-RGB-Konverter fertig (viele Rundungsfehler, aber funktioniert)
- Fernbedienungs-Protokoll ausgemessen (kein RC5)


Nun aber zu meiner eigentlichen Frage (wollte nich sofort einen eigenen 
Projektthread aufmachen, erstmal die eine Geschichte, an der ich grade 
verzweifle.)

Wie bekomme ich die Farbwerte in den Bildspeicher (SRAM)???

Ich dachte mir die Zeit könnte konstant sein und das Inkrement angepasst 
werden. Beim Standbild wäre das dann 0.

Aber wie mache ich die Unterscheidung, welchen Parameter die +/-Tasten 
grade steuern? Ist das nicht viel zu rechenintensiv, trotz Standbild 
einfach jedesmal mit 0 zu inkrementieren?

Wie mache ich das am besten mit den Presets? In den EEPROM und dann 
auslesen? Wenn ich dort Farbverläufe ablege, ist es ja sicher nicht 
sinnvoll jeden Farbwert einzeln zu speichern!? Lohnt ein kleines 
"Protokoll", wie realisiere ich sowas am besten?


Viele Fragen, ich würde mich über Anregungen dazu sehr freuen!!

Grüße
Marc

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.