Skocz do zawartości

[PWM][I2C] PCA9685, ściemniacz do LED


mike660

Pomocna odpowiedź

Cześć

Poszukuję jakiegoś układu do obsługi PWM poprzez I2C do sterowania LED'ami.

Zastanawiam się nad użyciem pca9685.

Pytanie brzmi czy posiada on taką funkcję jak "fade" ? Chodzi mi o to żeby płynnie rozjaśnić LED do jakiegoś poziomu.

Nie wiem czy w ogóle istnieje jakiś układ który ma taką funkcję ?

 

Link do komentarza
Share on other sites

Takiej funkcji nie ma, ale przecież możesz ze 20 razy na sekundę uaktualnić jasność diodki i dostaniesz płynne rozjaśnianie i ciemnienie. Niestety (a raczej na szczęście) nasze oko nie jest liniowe więc taki sterownik musiałby wiedzieć wg jakiej krzywej chcesz zmieniać tę jasność, bo zwykłe odliczanie od min do max wygląda koszmarnie. Bardzo ładnie (dla oka) zachowują się żarówki więc zupełnie spokojnie możesz odwzorować krzywą nagrzewania i studzenia. Robiłem wiele takich sterowników (np. do modeli samolotów) i to mi pasowało najbardziej. Rzecz jasna niczego nie trzeba symulować/liczyć na bieżąco - wystarczy, że stablicujesz sobie przebieg takiej krzywej a potem już tylko czytasz kolejne wartości i wysłasz do diodki. Zawsze możesz także użyć LEDów z wbudowanymi driverami PWM czyli np. popularnych WS2812.

Link do komentarza
Share on other sites

W końcu znalazło się trochę czasu i dotarł moduł PCA9685.

Ustawianie wartości PWM poszło bez problemu dzięki znalezionej bibliotece.

Mam problem z odczytaniem wartości z modułu.

Chciałbym odczytać aktualny stan.

Robię to w ten sposób:

uint16_t tmp[4];
uint8_t RegisterAddress;
RegisterAddress = PCA9685_LED0_ON_L + (4 * Channel);
HAL_I2C_Mem_Read(pca9685_i2c, PCA9685_ADDRESS, RegisterAddress, 1, &tmp,1, 10);

Otrzymuję dziwne wartości, które są cały czas takie same, nie zależnie jaka wartość PWM jest ustawiona.

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.