Żeby grał i błyszczał

To, że odtwarzana na pececie muzyka zapisana w formacie MP3 stopniowo wypiera płyty audio, staje się faktem. Ale po uruchomieniu Winampa komputerowi z pewnością wystarczy mocy obliczeniowej na wykonanie innych, dodatkowych zadań. Weźmy na przykład sterowanie kolorowymi diodami świecącymi. Takie elementy, migające rytmicznie w takt odtwarzanej piosenki, możemy umieścić w dowolnym miejscu. Pomysł zapewne spodoba się zwolennikom tuningu obudowy komputera.

Czemu zresztą nie zrobić czegoś na większą skalę? Zapewne wielu bywalców przeróżnych klubów czy też domorosłych didżejów zwróciło uwagę na systemy kolorowych reflektorów. Mało kto jednak próbował do sterowania takim oświetleniem zaprzęgnąć domowego peceta. A szkoda, bo to nie tylko możliwe, ale jeszcze na dodatek proste do zrealizowania. Proponuję zatem zbudowanie układu, który będzie sterował zestawem świateł błyskających w rytm odtwarzanej muzyki. Przy okazji nauczymy się, jak napisać bibliotekę DLL.

Zatrudniamy dyrygenta

Zacznijmy od samego początku. Skoro lampy mają zapalać się w rytm odtwarzanej muzyki, to sygnały sterujące światłem musimy pozyskać wprost z Winampa.

Aplikacja ta ma cechę czasem niedostrzeganą przez użytkowników – potrafi korzystać z dodatkowych, specjalnie przygotowanych programów, czyli tzw. wtyczek. Mają one postać plików DLL i potrafią dodać do programu nowe, niedostępne wcześniej funkcje. Pierwsze zadanie zaczyna nam się już nieco krystalizować – musimy napisać plug-in do Winampa, który wydobędzie informacje o rytmie odtwarzanej muzyki.

Bez sprzętu ani rusz

Aby pobierane z Winampa dane odpowiednio “zagospodarować”, potrzebny będzie jeszcze interfejs sprzętowy. Brzmi to groźnie, ale jeśli wystarczy nam sterowanie ośmioma lampami, to sprawę załatwimy jedną kostką typu FT245BM. Przyjmie ona nam kolejne bajty z portu USB komputera i prześle je na osiem linii wyjściowych. Krótko mówiąc, będziemy mieli już gotowe sygnały (0 lub 1), które posłużą do zapalania i gaszenia lamp. Schemat układu prezentujemy na $(LC119028: Żeby grał i błyszczał)$. Praca związana z budową interfejsu sprowadza się do wlutowania odpowiednich elementów na płytkę drukowaną, której wzór znajdziecie na dołączonym do magazynu CHIP-CD.

Aby urządzenie pobierało dane przesłane do portu USB, potrzebne są odpowiednie sterowniki systemowe. Dla naszych celów w zupełności wystarczą drivery dostarczane przez firmę FTDI, producenta zastosowanego układu scalonego FT245BM. W instalacji pomoże kreator Windows, startujący automatycznie po wykryciu nowego urządzenia USB w systemie (czyli w momencie wetknięcia wtyczki interfejsu do gniazda). Na płycie dołączonej do CHIP-a zamieściliśmy wszystkie niezbędne drivery.

Po pojawieniu się okna kreatora zaznaczamy pole Zainstaluj z listy lub określonej lokalizacji i naciskamy przycisk Dalej. Zobaczymy kolejne okienko, w którym powinniśmy uaktywnić opcję Uwzględnij tę lokalizację w wyszukiwaniu i wskazać ścieżkę dostępu do katalogu, gdzie zapisaliśmy sterowniki. Po kliknięciu przycisku Dalej pojawi się informacja o tym, że drivery nie zostały przetestowane w laboratoriach Microsoftu. Nie ma wyjścia, musimy się z tym faktem pogodzić. Naciskamy zatem przycisk Mimo to kontynuuj. Po chwili system poinformuje nas o poprawnym zakończeniu procedury instalacyjnej.

Na koniec trzeba jeszcze zaprogramować pamięć EEPROM wchodzącą w skład interfejsu. Posłużymy się aplikacją FT2XX Serializer and Tester, którą znajdziemy na CHIP-CD. Opis tej procedury zamieściliśmy w ramce “Programowanie pamięci EEPROM” na $(LC119034: Programowanie pamięci EEPROM)$.

Więcej:bezcatnews