Inhaltsverzeichnis:

LED-Matrix-Spiel des Lebens 32 X 32 - Gunook
LED-Matrix-Spiel des Lebens 32 X 32 - Gunook

Video: LED-Matrix-Spiel des Lebens 32 X 32 - Gunook

Video: LED-Matrix-Spiel des Lebens 32 X 32 - Gunook
Video: #01 - The Show | Conway´s Game of Life on 32x64 LED Matrix & Arduino Nano 2024, Juni
Anonim
LED-Matrix-Spiel des Lebens 32 X 32
LED-Matrix-Spiel des Lebens 32 X 32

Ich wurde von Jptrsns 16 x 16 Game of Life inspiriert, war aber am Ende viermal größer. Ich fand bei Bangood.com einige MAX7219 Dot Matrix Module 4-in-1-Displays für Arduino-Boards für £ 3,50, als sie ankamen, stellte sich heraus, dass es Es ist ziemlich schwer, sie auseinander zu brechen und sie in einem 16x16-Raster zu verwenden, wie ich es geplant hatte, also beschloss ich, ein 32x32-Raster zu erstellen. Dann wurde es schwierig, da Sie den Code nicht einfach hochskalieren können.

Schritt 1: Teile

Ich habe meine Teile von BangGood, aber Sie können diese überall beziehen. 1. Ein Arduino Nano (~ £ 2) 2. 4 1x4 LED-Matrizen (~ £ 3,50 x 4) oder suchen Sie nach Multipacks, die manchmal billiger sind 3. Etwas Kabel 4. Eine USB-Mikrobuchse (< £ 1) 5. Ein USB Netzteil (<£5)6. Ein 6 "x 6" / 15 cm x 15 cm Box-Bilderrahmen (~ £ 4) aus einem lokalen Bastelladen

Schritt 2: Werkzeuge

1. Heißklebepistole

2. Lötkolben

3. Abisolierzangen

4. Scharfes Messer

Schritt 3: Breadboard Build

Breadboard-Build
Breadboard-Build

Eine Sache, die ich an dieser Stelle gelernt habe, ist, dass ein Nano (und wahrscheinlich andere Arduinos) nicht genug Leistung liefern kann, um alle 4 Matrizen zu betreiben, ohne die Stromversorgung durchzubrennen! sei gewarnt

Als meine Boards ankamen, hatten sie nur Pins am Eingangsende und die Ausgangspins waren lose in der Tasche oder in einem Fall unter einem Display eingeklemmt, wodurch die Pins kurzgeschlossen wurden. Es stellt sich heraus, dass das für diese Displays nicht gut ist (guter Job, den ich gekauft habe 6). Sie müssen die Ausgangspins auf zwei der LED-Matrizen löten, wenn sie nicht auf Ihren montiert sind.

Das Layout ist ziemlich einfach, Sie können zwei der Matrizen miteinander verketten, um zwei Ketten zu bilden, indem Sie einfach die Ausgangspins mit den passenden Eingangspins verbinden. Sie können nicht alle in einem Durchlauf verketten, da die LedControl-Bibliothek auf 8 Anzeigen gleichzeitig beschränkt ist.

Dann stecken Sie DataIn an Pin 12, Load (oder CS) an Pin 11 und Clock (oder CLK) an Pin 10 und für die andere Kette an 5, 4 & 3. Alternativ können Sie beliebige digitale Pins auswählen, die Sie einfach ändern möchten den Code, um Ihre Wahl widerzuspiegeln. Fügen Sie dann die USB-Buchse zum Steckbrett hinzu. Verbinden Sie dann die v + und Massestifte mit den Schienen des Steckbretts. Dann müssen Sie die Stromkabel von den 2 Ketten an +ve und Masse anschließen und die Arduino-Masse an Masse binden. Sobald wir mit der Programmierung des Boards fertig sind, können Sie das Arduino vin mit v+ verbinden und nie wieder den Aurdino USB anschließen.

Schritt 4: Code

Zuerst dachte ich, ich müsste nur den vorhandenen Code nehmen und auf 32x32 skalieren, aber es ist ein wenig trickreicher. 1. Sie benötigen zwei LedControls, da jede nur 8 MAX7219s ansteuern kann LedControl lc[2] = { LedControl(12, 10, 11, 8), LedControl(5, 3, 4, 8) };2. Auf einem Nano ist nicht genügend Speicher vorhanden, um 2 volle 32x32-Byte-Arrays zu speichern, um den Board-Zustand beizubehalten Board-Arrays als 32x4 und speichern den Zustand jeder Zelle als Bit in den Bytes im gesamten Array.

Schritt 5: Alles zusammenfügen

Testen Sie zuerst den Code und das Layout der Boards ist wie erwartet, indem Sie mit der Methode "testPattern" ein diagonales Kreuz über die Boards ziehen. Wenn dies nicht richtig aussieht, stimmt etwas mit der Reihenfolge der Boards und / oder den Pins, die Sie initialisiert haben. Wenn es nicht funktioniert, überprüfen Sie die Reihenfolge der Pins usw. Schließlich stellen Sie die Hauptmethode auf "Randomize" und stellen Sie NUMITR auf die Anzahl der Wiederholungen ein, die vor dem Zurücksetzen wiederholt werden soll.

Schritt 6: Rahmen Sie es auf

Gestalten Sie es auf
Gestalten Sie es auf

Jetzt alles in einen Rahmen setzen. Zuerst die Matrizen zu einem 32x32-Rahmen heiß zusammenkleben. Denken Sie daran, sicherzustellen, dass das Eingabeende für alle auf der gleichen Seite ist (oder ändern Sie den Lookup-Code in "gridToCell", damit die zweiten Platinen auf dem Kopf stehen). Fügen Sie die Steckdose und einen Schalter an der 5-V-Leitung hinzu und löten Sie alles zusammen.

Schritt 7: Rahmenprobleme

Es stellt sich heraus, dass Sie einen größeren Rahmen benötigen als den 6x6, den ich habe. Also muss ich zurückkommen, um das zu beenden, wenn ich die Gelegenheit habe, in den Laden zu kommen.

Schritt 8:

Empfohlen: