Odwrócona inżynieria dwuprzewodowej taśmy LED
Choć Święta Bożego Narodzenia już za nami, to różne kolorowe LED-owe wynalazki można dziś spotkać w naszych domach o każdej porze roku. [Tim] dostał w swoje ręce kurtynę LED wyposażoną w pilota zdalnego sterowania, który pozwala użytkownikowi nie tylko ustawić kolor diod LED jako całości, ale także uruchamiać proste animacje. Ale to nie były standardowe paski WS2812B z liniami danych: wszystkie diody LED były po prostu połączone równolegle dwoma przewodami, więc jak to w ogóle było możliwe?
Protokół łańcuchów LED jest bardzo prosty, z jednym polem adresu i jednym polem danych.
[Tim] podłączył swój oscyloskop do łańcuchów LED, aby sprawdzić jak one działają, a wyniki opisał w obszernym wpisie na blogu. Jak się okazuje, kontroler na krótko zwiera napięcie zasilania paska LED, aby wygenerować bity danych, podobnie jak w przypadku starych telefonów z wybieraniem impulsowym. Malutki układ scalony zintegrowany z każdą diodą LED odbiera te impulsy, ale zachowuje swój wewnętrzny stan dzięki kondensatorowi, który utrzymuje układ w stanie zasilania, gdy linia zasilająca przechodzi w stan niski.
Po odtworzeniu protokołu, [Tim] zaimplementował podobny projekt używając ATMega328P jako kontrolera i ATtiny10 jako sterownika LED. Z zaledwie kilkoma liniami kodu i kondensatorem buforowym 100 nF na pinach zasilania ATtiny, [Tim] był w stanie włączać i wyłączać diodę LED wysyłając impulsy przez linie zasilające. Trzeba jeszcze trochę popracować, aby w pełni zaimplementować protokół używany w łańcuchach LED, ale jako proof-of-concept pokazuje, że tego typu komunikacja po liniach zasilających jest możliwa przy użyciu standardowych komponentów.
Widzieliśmy już wcześniej projekty, które wysyłały sygnały w dół dwuprzewodowego łańcucha LED, ale jako dodatek do bardziej zwyczajnych taśm LED. [Tim] nie jest pierwszym, który zajmuje się inżynierią wsteczną słabo udokumentowanych protokołów taśm LED, ale prawdopodobnie nie będzie też ostatnim.
…
Czytaj dalej: https://hackaday.com/2022/01/31/reverse-engineering-a-two-wire-led-strip-protocol/