Pages: 1 [2] 3 4   Go Down
Author Topic: (solved, but continued) Inhalt eines RGB Strips weich überblenden  (Read 3726 times)
0 Members and 1 Guest are viewing this topic.
Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21651
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Europe / Germany
Offline Offline
Sr. Member
****
Karma: 11
Posts: 345
keep it simple
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...

* fade_concept.ino (4.64 KB - downloaded 10 times.)
« Last Edit: February 28, 2013, 09:03:26 am by Helmuth » Logged

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1894
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...
Logged

Europe / Germany
Offline Offline
Sr. Member
****
Karma: 11
Posts: 345
keep it simple
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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. smiley-wink
« Last Edit: February 28, 2013, 10:00:31 am by Helmuth » Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5150
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Europe / Germany
Offline Offline
Sr. Member
****
Karma: 11
Posts: 345
keep it simple
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: March 01, 2013, 09:10:29 am by Helmuth » Logged

Offline Offline
God Member
*****
Karma: 14
Posts: 966
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.   smiley-wink



* µC PWM Helligkeit_2.xls (55.5 KB - downloaded 12 times.)
Logged

Tschau
Doc Arduino

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1894
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

und falls das noch jemanden interessiert, es handelt sich um dieses buch:

http://www.amazon.de/Arduino--Physical-Computing-Bastler-Designer/dp/3897218933/ref=sr_1_1?ie=UTF8&qid=1362085345&sr=8-1

gruß stefan
Logged

Europe / Germany
Offline Offline
Sr. Member
****
Karma: 11
Posts: 345
keep it simple
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@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ß
« Last Edit: March 01, 2013, 09:11:59 am by Helmuth » Logged

Offline Offline
God Member
*****
Karma: 14
Posts: 966
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

yoh   smiley-wink

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.
Logged

Tschau
Doc Arduino

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1894
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21651
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
God Member
*****
Karma: 14
Posts: 966
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

na dann werde ich mal vorbeischauen, ... ähm reinschauen  smiley-wink

Logged

Tschau
Doc Arduino

Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Pages: 1 [2] 3 4   Go Up
Jump to: