Beschleunigungswert auf RGB LED ausgeben

OP #7036135
Lesenswert?

Hallo,

ich habe mir ein kleines FPGA Bord gebaut mit einer Reihe an LEDs, einer 
WS2812b, einem ADXL345, ...

Das ist nur zum Spielen, also habe ich mit dem ADXL und der LED Reihe 
eine Wasserwaage implementiert und jetzt möchte ich auch noch die 
Beschleunigungswerte auf der RGB LED ausgeben. Das klappt auch soweit 
ganz gut, nur sieht man die Änderung der Beschleunigung nicht sehr 
deutlich.

Ich vermute das liegt daran, dass wir Menschen Helligkeit nicht linear 
wahrnehmen. Wie kann ich das ausgleichen? Müsste ich von den 
Beschleunigungswerten die Wurzel nehmen und diese als Helligkeitswert 
zur LED schicken?

Ich möchte grob, dass ein doppelt so großer Wert auch als doppelte 
Helligkeit wahrgenommen wird.

Danke!
(Firma: egal) #7036206
Lesenswert?

W.A. schrieb:
> Der Mensch nimmt die Helligkeit logarithmisch wahr.
Gustl B. schrieb:
> Jetzt muss ich nur irgendwie
> die passende Kurvenform herausprobieren ...

Lieder nur näherungsweise und auch noch jeder etwas anders. Die Farbe 
des Lichts spielt da auch noch mit rein. Am besten einfach ausprobieren 
wie es dir am besten gefällt:-)
- https://de.wikipedia.org/wiki/Helligkeit#Objektivierung_der_Helligkeit
OP #7036239
Lesenswert?

Die Farbe wird schon verwendet. Der Beschleunigungssensor liefert mir X, 
Y und Z, das bilde ich auf die Farben R, G und B ab. Und hier ging es 
mir drum dass sich die Helligkeit der Farbe R schön mit dem 
Beschleunigungswert von X verändert. Wenn ich schlicht den Wert von X 
der Farbe R zuweise dann ist ist der Unterschide zwischen -1 g und +1 g 
zwar sichtbar, aber nicht sehr deutlich. Mit Exponentialfunktion sieht 
man das schon besser.

Im Anhang ist die Kurve der Abbildung. Ich bekomme vom ADXL345 10 Bits 
von -2 g bis +2g. Mich interessieren aber nur -1 g bis + 1 g, daraus 
werden also 9 Bits. Und die bilde ich ab auf einen 7 Bit 
Helligkeitswert. Ja, die WS2812b kann 8 Bits je Farbe, aber das ist mir 
zu hell und außerdem muss ich beim MAX10 02 Flipflops sparen (-:
Angehängte Dateien:
Gast #7036289
Lesenswert?

Gustl B. schrieb:
> RGB_XYZ.png

> Mich interessieren aber nur -1 g bis + 1 g

-1 g und +1 g sind, bis auf die Richtung, gleich hohe Werte. Wäre es 
dann nicht auch sinnvoll, gleiche Helligkeiten zuzuordnen? Sonst wird es 
schwierig, den in der Mitte liegenden Wert 0 g zu erkennen.
Besser ablesbar wird es, wenn du z.B. für positive und negative Werte 
die selbe Helligkeit verwendest, aber bei negativen die LED schnell 
blinken lässt.
Gast #7036307
Lesenswert?

Farbe und Helligkeit der 3 Kanäle zur Informationsdarstellung zu 
verwenden halte ich für einen Irrweg (den ich auch gegangen bin). Es mag 
mental verlockend zu sein über diese Dimensionen Informationen 
darzustellen und prinzipiell geht es ja auch, in meinem Fall konnte ich 
aber in der Praxis die einzelnen angezeigten Farbwerte kaum intuitiv 
interpretieren - vieleicht bin ich da Unfähigkeit, aber ich bin der 
Meinung das die Darstellungsform kein gutes "UI Design" ist. Eine 
einzelne Farbe/Helligkeit ist noch verständlich, im Mix zwischen z.B. X 
und Y teilweise noch grob interpretierbar aber intuitiv 27% X, 49% Y und 
72% Z zu erkennen traue ich wenigen zu. Das macht die technische 
Diskussion über die nichtlineare Darstellung von Helligkeit aber nicht 
weniger interessant.
OP #7036408
Lesenswert?

Wolfgang schrieb:
> Wäre es dann nicht auch sinnvoll, gleiche Helligkeiten zuzuordnen?

Könnte man auch machen.

Wolfgang schrieb:
> Sonst wird es schwierig, den in der Mitte liegenden Wert 0 g zu erkennen.

Dink schrieb:
> Farbe und Helligkeit der 3 Kanäle zur Informationsdarstellung zu
> verwenden halte ich für einen Irrweg (den ich auch gegangen bin).

Ja, wenn das ein ernstzunehmendes Messgerät werden sollte, dann stimmt 
das.
Hier geht es nur um eine Spielerei. Ich habe mir winzige FPGA Platinen 
in China gekauft und um die einmal in Betrieb zu nehmen habe ich mir 
eine Art Eval-Board gebastelt. Nur JTAG und UART ist etwas wenig, dafür 
lohnt sich kein Board, also habe ich eben noch den ADXL, LEDs, die 
WA2812b, einen ADC, einen PMOD, einen Taster mit draufgepackt damit man 
was ausprobieren kann. Und es ging mir auch drum ein Gefühl dafür zu 
bekommen was in diesen winzigen FPGA so rein passt. 2k LEs sind eben 
nicht viel, aber es geht schon was.

Bei der RGB LED geht es mir nur drum, dass das schöne bunte Lichter gibt 
wenn man die Platine im Raum orientiert. Würde ich die XYZ Werte direkt 
als Helligkeit ausgeben, dann wäre die LED eigentlich immer ziemlich 
hell und weißlich. Ja, man sieht dass sich etwas verändert, aber eben 
nicht deutlich. Jetzt mit der LUT sieht das viel besser aus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren