Dynamische Marquee-LED-Beleuchtung mit Arduino Nano und NeoPixels erstellen
Komponenten und Zubehör
| Arduino Nano R3 | × | 1 |
| NeoPixel-Streifen | × | 1 |
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Einfache DIY-animierte Marquee-Beleuchtung
Dieses einfache Tutorial zeigt, wie Sie animierte Beleuchtung zu Ihrem Arcade-Automaten oder anderen Projekten hinzufügen können. Es eignet sich für die (Hintergrund-)Beleuchtung von Marquees und vielen anderen Zwecken.
Sie benötigen einen Arduino Nano (oder ein kompatibles Board), einen NeoPixel-Streifen und drei Kabel.
Der Aufbau
Sehen Sie sich das Video unten für den Aufbau an:
Kurze Einrichtung
Hardware
Löten Sie drei Kabel vom Arduino Nano zum NeoPixel-Streifen: 5V, digitales Signal (ich habe Pin 2 am Arduino gewählt) und Masse.
Tipp: Verwenden Sie ein Stück Schrumpfschlauch, um die Kabel zusammenzuhalten, insbesondere den LED-Streifen (stellen Sie sicher, dass die Lötverbindungen abgedeckt sind). Dies verhindert, dass sich die Lötverbindungen lösen.
Code
Legen Sie die Anzahl der LEDs des angeschlossenen Streifens im Sketch fest, laden Sie ihn auf den Arduino hoch und testen Sie ihn. Ich habe eine „laufende“, blinkende und pulsierende Animation im Sketch verwendet, nur in der Farbe Weiß. Sie können den Code anpassen, um alle möglichen Animationen und viele Farben zu erstellen. Oder einfach nur als einfache Hintergrundbeleuchtung nutzen – ganz nach Belieben.
Der Bau
Ich habe zwei Pappstücke zugeschnitten, die passgenau in meinen Automaten passen. Eines dient als Hintergrund, auf den der NeoPixel-Streifen geklebt wird. Das andere Stück wird flach hinter den unteren Teil des Marquees gelegt, um zu verhindern, dass das Licht der NeoPixels direkt nach unten scheint. Anschließend musste ich kleine Kanten abschneiden, damit es in meinen Automaten passt.
Ich habe ein paar Stück Gaffa-Tape auf die Pappe geklebt, um sie schwarz zu machen. Den NeoPixel-Streifen habe ich auf die Pappe geklebt und die Kabel sowie den Nano auf der Rückseite der Pappe befestigt.
Setzen Sie die beiden Teile in den Automaten ein und schließen Sie ein USB-Kabel vom Nano an eine 5V-Stromquelle an. In meinem Automaten ist es an einen USB-Port eines Raspberry Pi angeschlossen.
Setzen Sie dann das originale Marquee wieder ein oder erstellen Sie Ihr eigenes, um Ihren Bau anzupassen. Ich habe ein einfaches erstellt, auf Fotopapier gedruckt und passend zum Marquee zugeschnitten.
Tipp: Das Endergebnis wird noch besser, wenn Sie Ihr Design von einer professionellen Druckerei auf Folie drucken lassen.
Bibliotheken
Der Sketch benötigt eine Bibliothek:
- Adafruit NeoPixel Bibliothek
Lizenz
Teile des Sketches wurden im Internet gefunden, alle Credits gehen an die Ersteller. Sie dürfen den Code für persönliche Zwecke frei verwenden, nicht für kommerzielle Zwecke. Kontakt: ericBcreator@gmail.com
Code
Animierter Marquee-Licht-Code
/* **********************************************************************
* Marquee lighting with Neopixels by ericBcreator
* simple script for lighting an (arcade) marquee
**********************************************************************
* last update 20181021 by ericBcreator
*
* Inspired by an article by sandyjmacdonald
* https://sandyjmacdonald.github.io/2015/12/02/picade-errata/
*
* components:
* - Neopixel strip
* - Arduino Nano
*
* This code is free for personal use, not for commercial purposes.
* Please leave this header intact.
*
* contact: ericBcreator@gmail.com
********************************************************************** */
// include the libraries
#include <Adafruit_NeoPixel.h>
#define PIN 2 // define the pin the strip is connected to
// setup variables and initialize the neopixel strip
int numOfLeds = 11; // the numbers of leds on the strip
int minBrightness = 80; // the minimum brightness of the pulsing and flashing (0-255)
int maxBrightness = 255; // the maximum brightness of the pulsing and flashing (0-255)
int walkingLedsDelay = 250; // the delay in ms for the walking leds
int flashDelay = 250; // the delay in ms for the flashing leds
int numOfFlashLoops = 3; // the number of times the leds flash
int numOfPulseLoops = 10; // the number of times the leds pulse from min to max
int pulseDelay = 20; // the delay in ms when pulsing from min to max and vice verse
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numOfLeds, PIN);
// setup
void setup() {
strip.begin();
}
// main loop
void loop() {
walkingLeds(); // show the walking leds
flashLeds(); // flash the leds
for (int i = 0; i < numOfPulseLoops; i++) // pulse the leds
pulseBrightness();
}
// functions
void walkingLeds() {
setLedColorsToZero();
strip.setBrightness(maxBrightness);
strip.show();
for (int x = numOfLeds; x > 0; x--) {
strip.setPixelColor(x, strip.Color(255, 255, 255));
strip.show();
delay(walkingLedsDelay);
strip.setPixelColor(x, 0);
strip.show();
}
}
void flashLeds() {
setLedColors();
for (int i = 0; i < numOfFlashLoops; i++) {
strip.setBrightness(maxBrightness);
strip.show();
delay(flashDelay);
strip.setBrightness(minBrightness);
strip.show();
delay(flashDelay);
}
}
void pulseBrightness() {
setLedColors();
for (int i = minBrightness; i < maxBrightness; i++) {
strip.setBrightness(i);
strip.show();
delay(pulseDelay);
}
for (int i = maxBrightness; i > minBrightness; i--) {
strip.setBrightness(i);
strip.show();
delay(pulseDelay);
}
}
void setLedColors() {
for (int x = 0; x < numOfLeds; x++)
strip.setPixelColor(x, strip.Color(255, 255, 255));
}
void setLedColorsToZero() {
for (int x = 0; x < numOfLeds; x++)
strip.setPixelColor(x, strip.Color(0, 0, 0));
}
Schaltplan
Schaltplan-Bild verfügbar im Originalprojekt.
Herstellungsprozess
- Günstiges drahtloses Sensornetzwerk für Zuhause selbst bauen
- Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
- Elektrokonstruktion meistern: Projekte mit E3.schematic-Funktionen optimieren
- Deckenventilator per Alexa steuern – Schritt-für-Schritt-Anleitung
- Heimtemperatur weltweit überwachen: Arduino Cloud Integration mit TMP36
- TV per Alexa steuern mit Arduino IoT Cloud – Schritt-für-Schritt
- Zentralheizung nahtlos mit Arduino verbinden für smarte Steuerung
- ThimbleKrox: Fingermontierte Maussteuerung mit Arduino Micro & MPU-6050
- Arduino MKR1000 Pinout: Das ideale Board für IoT-Entwicklung
- Fortgeschrittene Automatisierung freischalten: Warum 3D-Vision für Ihre Projekte unverzichtbar ist