Go Down

Topic: (solved, but continued) Inhalt eines RGB Strips weich überblenden (Read 4396 times) previous topic - next topic

uwefed

Quote
Auf meinem Uno v3 ist bei ca. 210 LEDs Schluss - dann sind allein durch 3 Farben x 210 LEDs x 3 Abbilder schon 1890 Byte RAM belegt...


Ich habe zwar keine Untersuchung gemacht wieviel RAM der Arduino für Systemvariablen und Variablen des Sketches braucht aber 134 Byte ist sicher zu wenig.
Du mußt auf eine Arduino Mega ausweichen. Bei dem gibt es die Möglichkeit einen RAM Baustein anzuschließen und diesen als internes RAM zu nutzen. ma bekommt 64kByte oder mehrere 64K Bänke die man umschalten kann.

Grüße Uwe

Helmuth

#16
Feb 28, 2013, 02:36 pm Last Edit: Feb 28, 2013, 03:03 pm by Helmuth Reason: 1

Ich habe zwar keine Untersuchung gemacht wieviel RAM der Arduino für Systemvariablen und Variablen des Sketches braucht aber 134 Byte ist sicher zu wenig.


Hi Uwe,

bei mir läuft es mit 210 LEDs, ehrlich.
Ok, ich habe davon nur 20 angeschlossen, aber das sollte dem Programm ja egal sein.
Bei Werten > 210 passiert gar nichts mehr.

Fröhliche Grüße

Helmuth

P.S. Im Anhang nochmal der aktuelle, aufgeräumte und kommentierte Code mit einem kleinen Beispiel, falls es jemanden interessiert...
All my led animations: https://www.youtube.com/channel/UCkOEj4gOrUq1rbKElkmdo9g/videos

Eisebaer

hi,

wie im anderen thread schon geschrieben: ATmega1284 P um 5€ bei guloshop (der immer noch nicht nach österreich liefert (und auch nicht nach südtirol)).

gruß stefan

PS.: ich konnte nicht eruieren, ob klammern in klammern in der deutschen grammatik erlaubt sind...

Helmuth

#18
Feb 28, 2013, 03:40 pm Last Edit: Feb 28, 2013, 04:00 pm by Helmuth Reason: 1

PS.: ich konnte nicht eruieren, ob klammern in klammern in der deutschen grammatik erlaubt sind...


...unter (angehenden) Programmierern auf jeden Fall. Kritischer ist es dagegen mit der durchgehenden Kleinschreibung. ;)
All my led animations: https://www.youtube.com/channel/UCkOEj4gOrUq1rbKElkmdo9g/videos

gloob

Schon mal überlegt den Fade im HSV Farbraum zu machen? Da geht das um einiges einfacher, da nur ein Wert für die Farbinformation verändert werden muss und nicht wie bei RGB 3 Stück.

pylon

Dafür musst Du zwei Mal Konvertieren. Das mag im Code sauberer aussehen, performanter ist es mit grosser Wahrscheinlichkeit nicht.

Helmuth

#21
Feb 28, 2013, 05:54 pm Last Edit: Mar 01, 2013, 03:10 pm by Helmuth Reason: 1

Schon mal überlegt den Fade im HSV Farbraum zu machen? Da geht das um einiges einfacher, da nur ein Wert für die Farbinformation verändert werden muss und nicht wie bei RGB 3 Stück.


Hi gloob,

verstehe ich Dich richtig, dass Du eine ColorWheel Funktion vorschlägst und dann nur den Farbwert (Hue) an sich verändern, also überblenden willst?

Das schränkt einerseits den Farbraum extrem ein und wird wohl nie so flüssig faden, wie unsere Lösung, weil Dir die Zwischenstufen fehlen, und andererseits fährst Du dabei - wenn Start- und Zielfarbe nicht zufällig nebeneinander liegen - durch alle möglichen anderen Farben.

Das sieht bestimmt interessant aus, hat aber mit einer weichen Überblendung nichts mehr zu tun.

Oder Du nimmst Saturation und Value mit dazu und hast dann den gleichen Aufwand zuzüglich Konvertierung.

Gruß Helmuth.

P.S. Wenn man Speicher sparen will und mit Abstrichen bei der Effektqualität leben kann, könnte man mit nur 2 Arrays anstelle von 3 arbeiten und einfach mit statischer Schrittweite zur Zielfarbe hoch-/runterzählen. Ist für schnelle Fades sicherlich akzeptabel.
All my led animations: https://www.youtube.com/channel/UCkOEj4gOrUq1rbKElkmdo9g/videos

Doc_Arduino

Hallo,

wenn ich mich nochmal reinhängen darf. In meinen Überlegungen war ein Fehler drin. Dann konnte ich noch lesen das unser Auge eine Potenz von 2,2 hat bzw. benötigt um Helligkeitsänderungen linear wahrzunehmen. Manche schreiben auch 2,5. Konnte jetzt meine Excel dahin anpassen das es soft aussieht und komme damit zu 99,99% auf die Werte aus Eisebaer's Buch. Falls das überhaupt noch jemanden interessiert.   ;)


Tschau
Doc Arduino


Helmuth

#24
Mar 01, 2013, 12:43 am Last Edit: Mar 01, 2013, 03:11 pm by Helmuth Reason: 1
@Doc: Na also, geht doch! Kannst ja mal mit verschiedenen Korrekturkurven für verschiedene Farben experimentieren, das ist das Auge nämlich auch verschieden sensitiv.

In dem Zusammenhang auch interessant: http://de.wikipedia.org/wiki/Gammakorrektur

Gruß
All my led animations: https://www.youtube.com/channel/UCkOEj4gOrUq1rbKElkmdo9g/videos

Doc_Arduino

Hallo,

yoh   ;)

mit verschiedenen Farben werde ich noch probieren. Meine klare RGB LED ist für sowas ungeeignet. Generell ist die blöd. Man sollte doch immer diffus kaufen. Es entsteht wegen dem klaren Gehäuse keine Farbmischung. Man sieht die 3 Grundfarben immer einzeln leuchten. Naja.

An Büchern habe ich derzeit das elektor Arduino Buch und das o'reilly Die elektronische Welt mit Arduino entdecken. Das elektor geht, wobei da manche Erklärungen fehlen. Das o'reilly finde ich besser. Ist das Arduino- Physical Computing für Bastler, Designer und Geeks auch für Anfänger empfehlenswert?
Wobei ich auf Erklärungen was ist ein Widerstand und wie funktionert ein Transistor gut und gerne verzichten kann.
Tschau
Doc Arduino

Eisebaer

hi,

ich benutze für sowas gerne das "Hier reinlesen und suchen" bei amazon. ein blick ins inhaltsverzeichnis ist sehr hilfreich, und dann kann man auch ein wenig blättern.

gruß stefan

uwefed


hi,

ich benutze für sowas gerne das "Hier reinlesen und suchen" bei amazon. ein blick ins inhaltsverzeichnis ist sehr hilfreich, und dann kann man auch ein wenig blättern.

Und bei bestimmten Büchen fehlen in der Vorschau wirklich wenig Seiten (wie zB Cookbook Arduino)

Grüße Uwe

Doc_Arduino

Hallo,

na dann werde ich mal vorbeischauen, ... ähm reinschauen  ;)

Tschau
Doc Arduino

qualidat

Ein anderer Ansatz, um zwischen Farben zu faden wäre, vom HSV-Farbmodell auszugehen. Am Ende braucht man zwar wieder RGB-Werte, um die LED s anzusteuern, aber man bekommt diese sehr schön aus der Formel HSV-nach-RGB. Bei HSV sind die Farben auf dem Umfang eines Kreises angeordnet, beginnend mit Null Grad (3 Uhr) entgegen der Uhrzeigerrichtung. Nach jeweils 60 Grad kommt die nächste Grundfarbe

0 Grad = Rot
60 = Gelb
120 = Grün
180 = Cyan
240 = Blau
300 = Magenta
360 = Rot

http://de.wikipedia.org/wiki/HSV-Farbraum

Go Up