Skocz do zawartości
FlyingDutch

Pasek LED RGBW problem z odwzorowaniem kolorów

Pomocna odpowiedź

Napisano (edytowany)

Cześć,

nabyłem metrowy pasek diód adresowalnych RGB. Oto link do tego produktu:

https://botland.com.pl/pl/paski-led-adresowane/13383-pasek-led-rgbw-sj-10060-4020-cyfrowy-adresowany-ip65-60-ledm-18wm-5v-1m.html

podłączyłem pasek do odpowiedniego zasilania 5V (ograniczenie prądowe 4,7 A) i do Arduino UNO (z zainstalowaną biblioteką "Adafruit_Neopixel"). Pasek w przykładowych aplikacjach działa jak nalezy.

Mam jednak inny problem: chciałem sprawdzić jak wygląda kilka kolorów podanych jako RGB. Używałem metody:

pixels.Color(R, G, B)

Korzystałem z tej strony WWW:

https://pl.infobyip.com/htmlcolorpicker.php

Najpierw sprawdziłem błękitny: pixels.setPixelColor(i, pixels.Color(26, 249, 238)), potem fioletowy: pixels.setPixelColor(i, pixels.Color(249, 21, 246)) i te kolory są w miarę poprawnie odwzorowane.

Następnie chciałem sprawdzić kolor pomarańczowy: pixels.setPixelColor(i, pixels.Color(249, 118, 4)) i tutaj  już wychodzi tragedia, kolor nie przypomina pomarańczowego. potem sprawdzałem jeszcze sporo kolorów RGB i całkiem spora część z nich jest błędnie odtwarzana.

Chciałem się zapytać, czy to jest znany ogólny problem dla diod LED RGB, czy może powinienem podejrzewać mój egzemplarz paska ?

Nie mam doświadczenia z diodami RGB, więc chciałem się zapytać, czy takie słabe odwzorowanie kolorów to ich normalna cecha, czy  można znaleźć paski diód RGB o dobrym odwzorowaniu kolorów? Czy ktoś może spotkał się z podobnym problemem?

Pozdrawiam

Edytowano przez FlyingDutch

Udostępnij ten post


Link to post
Share on other sites

ja tak miałem jak był za długi kabelek do paska... to co wyświetlały diody to był całkiem niezły generator losowy 🙂

poza tym nie za dużo wymagasz? dokładne odwzorowanie kolorów wymaga emisji o pewnej konkretnej długości fali, a nie po prostu "tani czerwony" 😞

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
18 minut temu, ethanak napisał:

ja tak miałem jak był za długi kabelek do paska... to co wyświetlały diody to był całkiem niezły generator losowy 🙂

poza tym nie za dużo wymagasz? dokładne odwzorowanie kolorów wymaga emisji o pewnej konkretnej długości fali, a nie po prostu "tani czerwony" 😞

Cześć ethanak,

czyli nie ma się co spodziewać lepszego odwzorowania kolorów po paskach diod RGB dostępnych w sprzedaży? A nie ma w sprzedaży pasków z diodami laserowymi RGB (domyślam się, że cena byłaby zaporowa) - diody laserowe powinny mieć dokładną długość fali?

Akurat w zastosowaniu do którego chciałem użyć tego paska jakość odwzorowania kolorów jest ważna. Spodziewałem się jakichś błędów w odwzorowaniu kolorów, ale, że jest tak źle to nie myślałem.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

nie jest tak źle - część kolorów możesz uzyskać - niestety doświadczalnie, bo tabele kolorów są podawane dla konkretnych długości fali, a receptory w oku reagują na całe pasmo, tyle że nieliniowo i przeliczenie tego byłoby praktycznie niemożliwe.

powiedz może co chcesz zrobić?

Udostępnij ten post


Link to post
Share on other sites

Mieszanie światła to nie mieszanie farb, nie da się w łatwy sposób przenieść wartości RGB kolorów widzianych na monitorze na odwzorowanie tego samego na światło.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

to jak do instalacji artystycznej to zainteresuj się światełkami teatralnymi... ale tanie to nie jest. A filmik zaraz obejrzę.

po obejrzeniu...

wydaje mi się, że nie potrzebujesz dokładnego odwzorowania wszystkich kolorów, tylko kilku konkretnych. mylę się?

Edytowano przez ethanak

Udostępnij ten post


Link to post
Share on other sites

A jesteś pewny,  że przy deklaracji tego paska (nie wiem jak się to fachowo nazywa) masz poprawnie wybrane RGB a nie czasem GRB (tak jest domyślnie, w którymś przykładzie). Ja miałem podobny problem i to pomogło. U mnie to wygląda dokładnie tak:

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800);

 

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
3 godziny temu, Mechano napisał:

A jesteś pewny,  że przy deklaracji tego paska (nie wiem jak się to fachowo nazywa) masz poprawnie wybrane RGB a nie czasem GRB (tak jest domyślnie, w którymś przykładzie). Ja miałem podobny problem i to pomogło. U mnie to wygląda dokładnie tak:


Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800);

 

Cześć,

muszę to sprawdzić, ale raczej nie - sprawdzałem to doświadczalnie. Przy podaniu RGB kolor jest chociaż trochę podobny do tego który powinien być, natomiast przy podaniu w kolejności GRB nie przypomina nawet trochę prawidłowego koloru. Jutro jeszcze to sprawdzę, nie mam teraz tego kodu pod ręką.

Dzięki za sugestię 🙂

Pozdrawiam

Edytowano przez FlyingDutch

Udostępnij ten post


Link to post
Share on other sites

Żeby sprawdzić kolejność kolorów wytarczy zrobić dwa testy: w pierwszym pokazać 100% samego czerwonego a w drugim 100% samego zielonego 🙂 

Oczywiście struktury w diodach RGB dają zupełnie inne prążki (tak położenie jak i szerokość) niż filtry światła białego w monitorach LCD choćby z powodu zupełnie innego zjawiska (tu generacja światła a tu filtrowanie), więc raczej nie należy spodziewać się odpowiedniości. Jeżeli nie potrzebujesz wiernego odwzorowania setek kolorów a tylko kilku, może -nastu, to radziłbym zrobić na szybko aplikację z trzema suwaczkami. To może być prosta komunikacja z PC przez port szeregowy i komenda typu "100,150,200<Enter>" wystukiwana na klawiaturze lub nawet trzy potencjometry. Taki banał napiszesz w 5 minut i w ten sposób, bez ciągłej rekompilacji kodu szybko ustawisz akceptowalne kombinacje składowych. Weź pod uwagę, że dla naszego oka i odczuwanych wrażeń ważna jest też jasność. Ten sam przyjemny pomarańczowy z monitora przepisany 1:1 do LEDów może być żarówiastym neonem. Być może trzeba nie tylko dobierać wielkości RGB, ale jednocześnie pokombinować z ich jasnością.

Zauważ też, że popularne diody adresowalne po wysterowaniu 255,255,255 dają trupio białe, zimne światło z dużą zawartością niebieskiego. To też jest jakaś wskazówka co do słabego współczynnika CRI przy traktowaniu ich jako oświetlacze.

No i na koniec: przestrzeń kolorów RGB jest mocno ograniczona względem tego co nasze oko może zobaczyć. Być może trafiłeś na kolor, którego za pomocą danych diodek po prostu nie możesz zsyntetyzować. Wszystko zależy od tego, między jakimi trzema punktami rozpięty jest trójkąt tego typu diodki a punkty te wyznaczone są przez konstrukcję i czystość tonalną poszczegółnych struktur LED:

http://stephaniebryanphoto.com/myblog/understanding-color-space

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij, aby zacząć pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...