Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Von dmtinkdevFolgen Sie mehr vom Autor:
Fusion 360-Projekte »
Nachdem er für mein 7-jähriges Kind eine Minecraft-Lampe gebaut hatte, wollte sein kleiner Bruder etwas Ähnliches. Er steht mehr auf SuperMario als auf Minecraft, also zeigt sein Nachtlicht Videospiel-Sprites.
Dieses Projekt basiert auf dem Neoboard-Projekt, aber Teile können in 3D gedruckt werden und das Arduino benötigt keine SD-Karte, um die Bilder zu lesen (sie können im Flash-Speicher gespeichert werden).
Lieferungen
- 1x Arduino-Board (Uno oder Nano sind in Ordnung)
- 2x Filament (schwarz für den Hauptkörper und transparent für die Diffusoren). Auch wenn Sie eine andere Farbe für Ihren Stand wünschen, benötigen Sie dennoch schwarzes Filament für den Teil der LED-Trennwände. Ich habe PLA verwendet.
- 1 Taster
- 1 300-500 Ohm Widerstand (für den Dateneingangspin des Streifens)
- 1x 1000 µF Kondensator (um den Streifen vor plötzlichen Stromänderungen zu schützen)
- 1 16x16 LED-Matrix-Panel
- Typische Herstellermaterialien (Kleber, Dupontdrähte, Selbstlötverbinder, M4-Schrauben usw.)
Schritt 1: Laden Sie den Code herunter und verarbeiten Sie Ihre Bilder
Sie können den Code aus dem GitHub-Repository abrufen.
Es gibt bereits Platformio-Profile für die Arduino Uno- und Nano-Boards.
Um die Bilder zu verarbeiten, verwenden wir Processing (entweder die GUI oder das CLI-Tool funktionieren). Der Verarbeitungscode liest ein 16x16-Bild und konvertiert alle Pixelfarben in ein uint8-Array, das sortiert ist, wie die LED-Matrix normalerweise angeschlossen ist.
In 99 % der Fälle müssen Sie zur korrekten Verarbeitung Ihrer Bilder nur:
- Ändern Sie den Wert in die Variablen inputFilename und outputFilename
- Kopieren Sie den Inhalt der Datei outputFilename und fügen Sie ihn in /src/sprites.h. ein
Innerhalb des Arduino-Codes müssen Sie auch ändern
- Die Werte für LEDS_PIN, BUTTON_PIN und TOTAL_SPRITES
- Vielleicht der LED-Typ im Streifenkonstruktor … sollte aber nicht üblich sein
- Und der 'Schalter' in der changeSprite()-Funktion, um alle Ihre Bilder anzuzeigen
Wie Sie in der Deklaration der Arrays sehen, verwenden wir das Schlüsselwort PROGMEM, um die Daten im Flash anstelle von SDRAM zu speichern. Auf diese Weise benötigen wir keine SD-Karte, um die Farbinformationen der Bilder zu speichern.
Wie Sie in einem Bild oben sehen können, benötigt das Speichern des Codes und der 10 SuperMario-Bilder nur etwa 11 kByte, sodass viel Platz für weitere Bilder vorhanden ist (und noch mehr, wenn Sie ein MEGA2650-Board verwenden).
Schritt 2: Drucken Sie alle Teile
Ich habe die Teile mit Fusion360 entworfen. Sie können sie herunterladen von:
Oder wenn Sie nur die STL-Dateien möchten, sind diese in Thingiverse verfügbar:
Die Rückseite ist einfach zu drucken, und der Ständer benötigt nur Stützen (aber je nachdem, wie Sie ihn platzieren, benötigen Sie mehr Stützen oder eine Drucker-/Filament-Kombination, die große Brücken drucken kann).
Für den Diffusor dachte ich ursprünglich, dass die Verwendung einer glatten beschichteten Platte und des Hilbert-Kurvenmusters die besten Ergebnisse liefert, aber ich habe verschiedene Kombinationen von Schichten, Auflösungen, Platten und Mustern getestet und die besten Ergebnisse mit dem transparenten PLA erzielt Filament von BQ mit diesen Einstellungen:
- Blech: pulverbeschichtetes Blech
- Schichten: 3
- Auflösung: 0,2
- Muster: geradlinig
Abhängig von Ihrem Filament, dem Hersteller der LEDs in Ihrer Matrix, dem Abstand vom Diffusor zur LED und bei vollständiger Trennung zwischen Ihren LEDs können Ihre Ergebnisse jedoch variieren. Fragt mich nicht, warum ich Experte für diese Mikronische geworden bin:)
Ich habe die PrusaSlicer-Option verwendet, um die Farbe während eines Drucks manuell zu ändern, um zwischen transparenten und schwarzen Filamenten zu wechseln, sodass ich den Diffusor und den LED-Separator in einem Teil habe (kein Verkleben erforderlich).
Schritt 3: Alles verbinden
Das Anschließen aller Teile könnte nicht einfacher sein: Versorgen Sie die Platine und die LED-Matrix mit einem 5V-USB-Kabel und verbinden Sie den Taster und den Streifeneingang mit den vorgesehenen Platinenanschlüssen.
Denken Sie daran, dass es empfohlen wird, einen Kondensator und einen Widerstand zu seiner Verbindung hinzuzufügen, um eine Beschädigung der Matrix zu vermeiden.
Wenn alles richtig gemacht ist, sehen Sie einen glücklichen Pinguin in Ihrer Matrix:)
Um zu überprüfen, ob alles gut funktioniert:
- Das Bild sollte einen schwarzen Hintergrund mit blauem Farbverlauf haben
- Die Ecken haben grüne Pfeile
- Der Pfeil in der unteren linken Ecke wird um 2 rote Pixel erweitert