Spisu treści:

LED Matrix Game of Life 32 X 32: 8 kroków
LED Matrix Game of Life 32 X 32: 8 kroków

Wideo: LED Matrix Game of Life 32 X 32: 8 kroków

Wideo: LED Matrix Game of Life 32 X 32: 8 kroków
Wideo: Свидание в 16 vs 26 лет 😨😳 2024, Czerwiec
Anonim
Matryca LED Gra życia 32 X 32
Matryca LED Gra życia 32 X 32

Byłem zainspirowany grą życia Jptrsn 16 x 16, ale ostatecznie okazał się cztery razy większy. dość trudno je rozdzielić i użyć w siatce 16x16, tak jak planowałem, więc zdecydowałem się zrobić siatkę 32x32. Wtedy sprawy stały się trudne, ponieważ nie można po prostu skalować kodu w górę.

Krok 1: Części

Dostałem swoje części z BangGood, ale możesz je znaleźć w dowolnym miejscu. 1. Arduino Nano (~ 2 GBP) 2. 4 matryce Led 1x4 (~ 3,50 GBP x 4) lub szukaj wielopaków, które czasami są tańsze 3. Trochę przewodów 4. Gniazdo micro USB (< 1 GBP) 5. USB zasilacz (<£5)6. Ramka na zdjęcia w pudełku 6 "x 6" / 15 cm x 15 cm (~ 4 £) z lokalnego sklepu z rękodziełem

Krok 2: Narzędzia

1. Pistolet do klejenia na gorąco

2. Lutownica

3. Ściągacze do przewodów

4. Ostry nóż

Krok 3: Budowa tabliczki chlebowej

Budowa tabliczki chlebowej
Budowa tabliczki chlebowej

Jedną z rzeczy, których nauczyłem się w tym momencie, jest to, że nano (i prawdopodobnie inne Arduino) nie mogą zapewnić wystarczającej mocy, aby uruchomić wszystkie 4 matryce bez wypalania zasilania! być ostrzeżonym

Kiedy moje płyty dotarły, miały tylko piny na wejściu, a piny wyjściowe były luźne w torbie, lub w jednym przypadku zacięły się pod wyświetlaczem, zwierając piny. Okazuje się, że nie jest to dobre dla tych wyświetlaczy (dobra robota kupiłem 6). Będziesz musiał przylutować piny wyjściowe do dwóch matryc LED, jeśli nie są one dopasowane do twojej.

Układ jest dość prosty, możesz połączyć ze sobą dwie matryce, tworząc dwa łańcuchy, po prostu łącząc piny wyjściowe z pasującymi pinami wejściowymi. Nie można połączyć ich wszystkich w jednym przebiegu, ponieważ biblioteka LedControl jest ograniczona do 8 wyświetlaczy na raz.

Następnie podłącz DataIn do styku 12, załaduj (lub CS) do styku 11, a zegar (lub CLK) do styku 10, a drugi łańcuch do 5, 4 i 3. Alternatywnie możesz wybrać dowolne piny cyfrowe, które chcesz, po prostu pamiętaj o zmianie kod odzwierciedlający Twój wybór. Następnie dodaj gniazdo USB do płytki stykowej. Następnie połącz piny v+ i uziemienia z szynami płytki stykowej. Następnie musisz podłączyć przewody zasilające z 2 łańcuchów do +ve i uziemienia i związać uziemienie Arduino z ziemią. Po zakończeniu programowania płytki możesz połączyć Arduino vin z v+ i nigdy więcej nie podłączać Audino USB.

Krok 4: Kod

Na początku myślałem, że wszystko, co muszę zrobić, to wziąć istniejący kod i przeskalować go do 32x32, ale jest to trochę bardziej podstępne. 1. Potrzebujesz dwóch LedControl, ponieważ każdy może sterować tylko 8 MAX7219s LedControl lc[2] = { LedControl(12, 10, 11, 8), LedControl(5, 3, 4, 8) };2. W Nano nie ma wystarczającej ilości pamięci, aby przechować 2 pełne tablice 32x32 bajty, aby utrzymać stan tablicy. (Wreszcie, cały czas, kiedy pisałem kod Game of Life na tablicy podczas wywiadów, się opłaca). tablice tablicy jako 32x4 i przechowują stan każdej komórki jako bit w bajtach całej tablicy.

Krok 5: Składanie wszystkiego razem

Najpierw przetestuj kod i układ plansz zgodnie z oczekiwaniami, używając metody "testPattern", aby narysować ukośny krzyż na planszach. Jeśli to nie wygląda dobrze, oznacza to, że coś jest nie tak z kolejnością desek i/lub pinów, które zainicjowałeś. Następnie sprawdź to za pomocą metody szybowca, która tworzy szybowiec poruszający się po ekranie. Ponownie, jeśli to nie zadziała, sprawdź kolejność pinów itp. Na koniec ustaw główną metodę na „randomizację”, ustaw NUMITR na liczbę powtórzeń przed zresetowaniem.

Krok 6: Ułóż to w ramę

Ramka w górę
Ramka w górę

Teraz umieść wszystko w ramce. Najpierw sklej na gorąco matryce w ramkę 32x32. Pamiętaj, aby upewnić się, że koniec wejściowy jest po tej samej stronie dla wszystkich z nich (lub zmodyfikuj kod wyszukiwania w "gridToCell", aby umożliwić odwrócenie drugiej tablicy). Dodaj gniazdo zasilania i przełącznik na linii 5v i zlutuj wszystko razem.

Krok 7: Problemy z ramkami

Okazuje się, że potrzebujesz większej ramy niż ta, którą mam 6x6. Więc będę musiał wrócić, żeby to dokończyć, kiedy będę miał okazję dostać się do sklepu.

Krok 8:

Zalecana: