RGB Laufschrift mit U-64 Panel

 

Vor einigen Tagen haben wir gezeigt wie man eine Laufschrift auf unserer 4x64er LED Matrix darstellen kann. Wir haben das Modul in einen PC eingebaut.

 

Nach heutigen Maßstäben muss aber alles im Computer RGB sein. Deswegen versuchen wir heute in unserem Blog-Beitrag eine ähnliche Laufschrift mit unseren U-64-LED-Panels zu realisieren.

 

Wichtiger Hinweis: die U-64-LED-Panels sind mit den weit verbreiteten und beliebten WS2812b LEDs bestückt. Eine WS2812b LED besteht dabei aus 3 kleinen LEDs (Rot, Grün und Blau) sowie einem kleinen Controller-Chip, alles in einem sehr kompakten Bauelement.

 

Diese RGB LEDs sind einzeln adressierbar, und sehr hell. Jede LED zieht bei voller Leuchtstärke (Rot, Grün und Blau jeweils auf maximal) ca. 50mA bei 5V.

Dies bedeutet: wenn wir nur 4 der 64 LEDs im Panel auf die maximale Helligkeit setzen, haben wir das Limit von unserem Nano V3 schon erreicht.

 

Anders Formuliert: Wer dieses Modul über den Arduino mit Spannung versorgt, kann sich sicher sein das dieser in absehbarer Zeit durchbrennt.

 

Daher ist es bei WS2812b LEDs unbedingt notwendig ein externes 5V Netzteil mit ausreichend Leistung zu benutzen.

 

Ich nutze für dieses Projekt ein 5V Netzteil mit 10A.

Wir verwenden in dem Projekt folgende Teile:

 

1x  Nano V3.0 PRO, gelötete Version mit USB Kabel

4x U-64-LED-Panel

1x 5V Netzteil 13+ A

1x Elektrolytkondensator 1000µF 10V

1x 220Ω Widerstand

5x 3-Pin Stiftleiste

Viele Jumperkabel. Ich empfehle das AZ-Delivery Set 3x Breadboard + 3x Jumper Wire

Ich möchte 4 Panels mit je 64 LEDs zusammenschalten, also 256 LEDs insgesamt. 256 * 50mA = 12800 mA = 12,8A.

 

Ich bin mir also im Klaren darüber dass ich, umssicher zu gehen dass mein Netzteil nicht in Flammen aufgeht, die Panels nicht mit voller Helligkeit betreiben sollte.

 

Da die Panels nicht zu den günstigsten Bauteilen gehören, empfehle ich für am Anfang nur ein Panel zu verwenden. Die Panels haben 3 Pins auf jeder Seite, und können sehr einfach durch verbunden werden.

 

Wir schließen das Panel wie folgt an:

 

Netzteil

1000 µF 20V Elco

Panel

Nano V3

+

+ (langes Beinchen)

VCC

VIN

-

- (Kurzes Beinchen)

GND

GND

 

 

DIN

D5 (mit 220Ω Widerstand)

 

 AZ-Delivery U-64 WS2812b

 

Nachdem wir alles angeschlossen haben, und unser Netzteil einstecken, zeigt unser Panel erstmal nichts an. Wir müssen also jeder LED, also jedem Pixel einen Farbwert (Rot, Grün und Blau) sowie die Helligkeit setzen.

 

Praktischerweise gibt es einige Bibliotheken die diesen Aufwand erleichtern.

 

Wir nutzen die weit verbreitete FastLED Bibliothek von Daniel Garcia https://github.com/FastLED , sowie die darauf setzenden Bibliotheken LEDMatrix und LEDText von Aaron Liddiment https://github.com/AaronLiddiment .

 

Zwar soll das Panel irgendwann in einen PC eingebaut werden, aber in der Zwischenzeit soll es ein informatives Display werden, welches den Paketdienst daran erinnert wo unsere Eingangstür ist, damit er eure Pakete schneller abholen kann.

 

#include <FastLED.h>
#include
<LEDMatrix.h> #include <LEDText.h> #include <FontRobotron.h> // Change the next 6 defines to match your matrix type and size #define LED_PIN        5 #define COLOR_ORDER    GRB #define CHIPSET        WS2812B #define MATRIX_WIDTH   32 #define MATRIX_HEIGHT  8 #define MATRIX_TYPE    VERTICAL_MATRIX // Wie sind die LEDs angeordnet cLEDMatrix<MATRIX_WIDTH, MATRIX_HEIGHT, MATRIX_TYPE> leds; cLEDText ScrollingMsg; const unsigned char TxtDemo[] = { EFFECT_SCROLL_LEFT EFFECT_HSV_CV "\x00\xff\xff\x40\xff\xff" "        AZ-DELIVERY"                                  EFFECT_HSV_CH "\x00\xff\xff\x40\xff\xff" "        IHR EXPERTE FUER "                                  EFFECT_HSV "\x00\xff\xff" "M" EFFECT_HSV "\x20\xff\xff" "I" EFFECT_HSV "\x40\xff\xff" "K" EFFECT_HSV "\x60\xff\xff" "R" EFFECT_HSV "\xe0\xff\xff" "O" EFFECT_HSV "\xc0\xff\xff" "E"                                  EFFECT_HSV "\xa0\xff\xff" "L" EFFECT_HSV "\x80\xff\xff" "E" EFFECT_HSV "\x00\xff\xff" "K" EFFECT_HSV "\x20\xff\xff" "T" EFFECT_HSV "\x40\xff\xff" "R" EFFECT_HSV "\x60\xff\xff" "O"                                  EFFECT_HSV "\xa0\xff\xff" "N" EFFECT_HSV "\x80\xff\xff" "I" EFFECT_HSV "\x00\xff\xff" "K" EFFECT_HSV "\x20\xff\xff" "!" EFFECT_RGB "\xff\xff\xff"                                  EFFECT_HSV_AH "\x00\xff\xff\xff\xff\xff" "   EINGANG RECHTS"                                  EFFECT_SCROLL_RIGHT EFFECT_HSV_AH "\x00\xff\xff\xff\xff\xff" ">>>>>>>>>>>>>>" }; void setup() {  FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds[0], leds.Size());  FastLED.setBrightness(10); // WICHTIG - Hier wird die Helligkeit eingestellt. Am Anfang einen niedrigen Wert verwenden, und langsam hochtasten.  FastLED.clear(true);  delay(500);  FastLED.showColor(CRGB::Red);  delay(1000);  FastLED.showColor(CRGB::Lime);  delay(1000);  FastLED.showColor(CRGB::Blue);  delay(1000);  FastLED.showColor(CRGB::White);  delay(1000);  FastLED.show();  ScrollingMsg.SetFont(RobotronFontData);  ScrollingMsg.Init(&leds, leds.Width(), ScrollingMsg.FontHeight() + 1, 0, 0);  ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);  ScrollingMsg.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff); } void loop() {  if (ScrollingMsg.UpdateText() == -1){    ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);    delay(20);  }  else    FastLED.show();  delay(20); }

Nach dem hochladen sehen wir dass wir, je nachdem wie lange der Text ist, uns schon langsam an die Grenzen des verfügbaren Speichers des Nano herantasten. 

 

 

 Wir hoffen, dass Sie unser heutiger Blogbeitrag Sie inspiriert hat, und wir freuen uns auf Ihre Kommentare.

Bis zum nächsten Beitrag von AZ-Delivery, Ihrem Experten für Mikroelektronik!

 

Letzter Artikel USB-Adapter erweitern mit Flash Jumper und Reset Taster

Kommentar

veit - August 25, 2018

Nur als Info: wenn man den “Kopier” Button nutzt, bekommt man unsichtbare Sonderzeichen über die Arduino dann schimpft ….

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe