Skocz do zawartości

Korekcja gamma dla taśm LED


SOYER

Pomocna odpowiedź

Cześć, problem jak w temacie. Organoleptycznie sprawdzając zwykłe ++ dla taśm led od 0 do 255 powoduje, że widzimy gwałtowne zmiany przy niskich wartościach, a niezauważalne przy wyższych.

Jak to programowo ogarnąć by zrozumieć problem i oszukać oko. Nie chcę używać biblioteki, chcę to zrozumieć i posmakować.

  • Lubię! 1
Link do komentarza
Share on other sites

Dla małych mikrokontrolerów(tj: z małą ilością pamięci) generuje się tablice korekcyjne, taka tablica ma z góry określony rozmiar przez co diody steruje się krokami na przykład tablica ma zapisane 64 wartości PWM i wtedy nie generujesz sygnału 0...255 a wybierasz jedną z wartości w tablicy. Dla układów o większej pojemności zapewne są dostępne algorytmy które przeliczają wybraną barwę na bieżąco. 

Tu przykład takiego generatora https://victornpb.github.io/gamma-table-generator/

Edytowano przez _LM_
  • Lubię! 2
Link do komentarza
Share on other sites

No dobra ale jak to zrobić, tak jak pisze @_LM_ wywoływać tablicę, czy no. od 0 do 30 skok o 1 potem do 90 skok o 2, do 128 skok o 3, a później do 255 skok o 6. 
Jak to napisać?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ok, będę kombinował.

Inne pytanie, tutaj rośniemy do 255, a i w generatorze i w przykładach różnych bibliotek widzę dużo wyższe wartości maksymalne zależne od rozdzielczości (?) pwm, 8bit, 12bit(?).

O co chodzi? Jak to ustawić w esp32? Wtedy fading jest płynniejszy?

Link do komentarza
Share on other sites

10 minut temu, SOYER napisał:

maksymalne zależne od rozdzielczości (?) pwm, 8bit, 12bit(?)

Dokładnie tak jest, przecież jeśli masz PWM 8 bit to nie uda Ci się załadować tam większej wartości, tak samo dla popularnych diod ws2812 - ich max to właśnie 255 czyli 8bitów. 

12 minut temu, SOYER napisał:

O co chodzi? Jak to ustawić w esp32?

tu musisz doprecyzować pytanie bo nie bardzo wiem jak się odnieść 

Link do komentarza
Share on other sites

3 godziny temu, SOYER napisał:

Jak to napisać?

To nie jest tak że "skok co ileś" tylko każdy stopień jest X razy jaśniejszy od poprzedniego. Np. różnica między 1 a dwa jest taka sama jak między 128 a 255 (no, prawie).

Spróbuj zapuścić taki programik w pythonie:

#!/usr/bin/env python3

n=63    # ilość kroków ogólnie minus 1
q=8     # ilość kroków na podwojenie jasności
for i in range(n):
    p=255 * (2**(i/q) /(2**((n-1)/q)))
    print ("%02d: %3.2f" % (i+1,p))

Dostaniesz w wyniku współczynniki wypełnienia 8-bitowego PWM... niestety, jako floaty które przynajmniej w początkowym zakresie niespecjalnie dadzą się przełożyć na inty.  Ale przynajmniej będziesz wiedział, jakie wartości powinny znaleźć się w tablicy. Poeksperymentuj jeszcze z wartością q (nie musi być całkowita)...

I dopiero do tego można zastosować korekcję gamma.

A jakbyś płakał że osiem bitów to mało... spójrz przed siebie: Twój monitor ma właśnie 8 bitów na kolor...

Edytowano przez ethanak
  • Lubię! 1
Link do komentarza
Share on other sites

8 godzin temu, ethanak napisał:

Twój monitor ma właśnie 8 bitów na kolor...

Żeby jeszcze miał 8 bitów, to dobrze. Pewnie będzie miał 6 i przełączał między wyższym a niższym kolorem, żeby uzyskać ten pośredni nieobsługiwany.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.