Spisu treści:

Mastermind z matrycą LED 8x8 RGB: 5 kroków (ze zdjęciami)
Mastermind z matrycą LED 8x8 RGB: 5 kroków (ze zdjęciami)

Wideo: Mastermind z matrycą LED 8x8 RGB: 5 kroków (ze zdjęciami)

Wideo: Mastermind z matrycą LED 8x8 RGB: 5 kroków (ze zdjęciami)
Wideo: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Listopad
Anonim
Mastermind z matrycą LED 8x8 RGB
Mastermind z matrycą LED 8x8 RGB
Mastermind z matrycą LED 8x8 RGB
Mastermind z matrycą LED 8x8 RGB
Mastermind z matrycą LED 8x8 RGB
Mastermind z matrycą LED 8x8 RGB

Wymagane części: Basys3 FPGA

Matryca LED 8x8 RGB firmy GEEETECH

Bateria 9V

Tranzystory 2N3904 (x32)

Rezystor 1K (x32)

Rezystor 100 omów (x1)

Rezystor 50 Ohm (x1)

Matryca LED jest wspólną matrycą anodową z 32 pinami. Wspólna anoda oznacza, że każdy rząd jest kontrolowany przez tylko 1 pin, podczas gdy każda kolumna jest kontrolowana przez 3 - po jednym dla każdego koloru. Kontrolowanie tego będzie się odbywać za pomocą 32 portów I/O PMOD na każdym końcu płyty.

Krok 1: Krok 1: Podłączanie tranzystorów

Krok 1: Podłączanie tranzystorów
Krok 1: Podłączanie tranzystorów
Krok 1: Podłączanie tranzystorów
Krok 1: Podłączanie tranzystorów
Krok 1: Podłączanie tranzystorów
Krok 1: Podłączanie tranzystorów

Podłącz 32 rezystory 1K do środkowego styku tranzystorów. Jest to pin „bazowy” tranzystorów i będzie odbierał sygnał z płyty bazowej.

Krok 2: Krok 2: Łączenie z tablicą

Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą
Krok 2: Łączenie się z tablicą

Podłącz wyjścia płytki do drugiego końca rezystora, jak pokazano. JXADC => czerwony, JA => zielony, JB => niebieski, JC => rząd/moc. W ten sposób tablica kontroluje, który wiersz/kolumna/kolor jest włączony. Każdy pin włącza lub wyłącza odpowiedni tranzystor, umożliwiając przepływ prądu z zasilania lub do masy z tego konkretnego tranzystora.

Krok 3: Krok 3: Łączenie się z Matrycą

Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą
Krok 3: Łączenie się z Matrycą

W tym miejscu zaczynają się różnić 8 tranzystorów po stronie anodowej i 24 tranzystory po stronie katodowej.

Patrząc na płaską stronę tranzystora, kolejność pinów to emiter, baza, kolektor. 24 katody matrycy muszą być podłączone do styku kolektora 24 tranzystorów, a 8 anod musi być podłączonych do styku emitera pozostałych 8 tranzystorów.

Polecam kodowanie kolorami każdego z przewodów idących do samej matrycy, aby ułatwić debugowanie. Ta konkretna matryca ma 16 pinów na „górze” (strona, którą oznaczyłem jako górna była stroną z napisem) i 16 pinów na „dole”. U góry 8 szpilek postępuje zgodnie z tą kolejnością (od lewej do prawej): Niebieski7:0 Przeczytaj7:0

dół: Wiersz7:4 Zielony7:0 Wiersz3:0

Mój kod koloru - Niebieski: niebieski i fioletowy

Czerwony: czerwony i pomarańczowy

Zielony: zielony i żółty

Rząd: czarny, biały, brązowy i szary

Krok 4: Krok 4: Zasilanie i uziemienie

Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie
Krok 4: Moc i uziemienie

Zacznę od uziemienia tranzystorów po stronie katody. Każdy pin emitera na nich będzie podłączony do uziemienia akumulatora, ale 8 czerwonych uziemień musi mieć dodatkowy rezystor 50 omów między nimi a uziemieniem akumulatora.

Połączyłem te fusy z rzędami wzdłuż zewnętrznej deski do chleba, ponieważ było to wygodne (jeśli zdecydujesz się użyć deski do chleba)

Jednak zasilanie musi być podłączone do pinu kolektora 8 tranzystorów. Ze względu na diody LED pomiędzy zasilaniem a tranzystorem należy umieścić rezystor 100 omów.

Krok 5: Krok 5: Programowanie tablicy

Krok 5: Programowanie tablicy
Krok 5: Programowanie tablicy

Oto wszystkie pliki VHDL, których będziesz potrzebować, aby go zaprogramować! Powodzenia!

Tylko upewnij się, że MAIN.vhd jest górnym modułem

Specjalne podziękowania dla Bryana Mealy'ego za dzielnik zegara i szablon automatu skończonego.

Zalecana: