RGB scrolling font with U-64 panel

 

A few days ago we showed how to display a scrolling font on our 4x64 LED matrix. We have installed the module in a PC.

 

By today's standards, however, everything in the computer must be RGB. That's why today in our blog post we try to realize a similar scrolling font with our U-64 LED panels.

 

Important note: the U-64 LED panels are equipped with the widely used and popular WS2812b LEDs. A WS2812b LED consists of 3 small LEDs (red, green and blue) as well as a small controller chip, all in a very compact component.

 

These RGB LEDs are individually addressable, and very bright. Each LED pulls at full luminosity (red, green and blue to a maximum of 50mA at 5V).

This means that if we set only 4 of the 64 LEDs in the panel to the maximum brightness, we have already reached the limit of our Nano V3.

 

In other words, anyone who supplies this module with voltage via the Arduino can be sure that it will burn through in the foreseeable future.

 

Therefore, it is absolutely necessary for WS2812b LEDs to use an external 5V power supply with sufficient power.

 

I use a 5V power supply with 10A for this project.

We use the following parts in the project:

 

1x  Nano V3.0 PRO, soldered version with USB cable

4x U-64 LED Panel

1x 5V power supply 13+ A

1x Electrolytic capacitor 1000-F 10V

1x 220" resistance

5x 3-pin pin header

Lots of jumper cables. I recommend the AZ-Delivery Set 3x Breadboard + 3x Jumper Wire

I want to connect 4 panels with 64 LEDs each, i.e. 256 LEDs in total. 256 * 50mA = 12800 mA = 12.8A.

 

So I'm aware that to make sure my power supply doesn't go up in flames, I shouldn't run the panels at full brightness.

 

Since the panels are not among the cheapest components, I recommend using only one panel at the beginning. The panels have 3 pins on each side, and can be easily connected by.

 

We close the panel as follows:

 

Power supply

1000 F 20V Elco

Panel

Nano V3

+

+ (long leg)

Vcc

Vin

-

- (Short leg)

Gnd

Gnd

 

 

Din

D5 (with 220" resistor)

 

 AZ-Delivery U-64 WS2812b

 

After we have connected everything and plugged in our power supply, our panel does not show anything at first. So we have to set each LED, i.e. each pixel, with a color value (red, green and blue) as well as the brightness.

 

Conveniently, there are some libraries that make this effort easier.

 

We use the widely used FastLED library by Daniel Garcia https://github.com/FastLED , as well as the ledMatrix and LEDText libraries by Aaron Liddiment https://github.com/AaronLiddiment .

 

Although the panel will eventually be installed in a PC, in the meantime it will become an informative display that reminds the parcel service of where our front door is so that it can pick up your packages faster.

 

#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 How are the LEDs arranged 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 " YOUR EXPERT FOR "                                  EFFECT_HSV .x00 xff.xff" "M" EFFECT_HSV .x20 xff.xff" "I" EFFECT_HSV "X40"xff" "K" EFFECT_HSV "X60"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!

 

For arduinoProjects for advanced

8 comments

Moritz

Moritz

6.3V für den ElKo sind schon etwas knapp…. schlimmstenfalls macht es “plopp” :-D

Eosne

Eosne

Kann man auch einen elektrolytkondensator mit 1000 µF 6,3V benutzen ?

Dominik

Dominik

Keiner dieser Sketches aus den oben genannten Bibliotheken funktioniert auf dem Uno! Es heißt immer nicht genügend RAM verfügbar!

Thomas

Thomas

Wie bekomme ich Umlaute hin? Also ÖÜÄß.

Rüdiger

Rüdiger

Bei bis 12 A die Versorgung über die dünnen Jumper Wire und das Breadboard zu leiten ist gelinde gesagt “sportlich”! Ich hätte da nicht Angst, das das Netzteil “in Flammen aufgeht”, sondern eher, das die Kontaktstellen verschmoren, die Kabel warm werden und die Daten “seltsam aussehen”, da der Massepunkt am jeweiligen Panel am “floaten” ist!
Da sollte man mindestens 1 mm2, besser 1,5 mm2 Kabel verwenden und die Panels über eine sternförmige Verdrahtung anschliessen (lediglich die Datenleitung wird dann busförmig verlegt)
Also bitte die 5V Versorgung oben im fritzing-Bild nur für den Arduino verwenden und das oder die Panels direkt mit dem Netzteil verdrahten.

Kiwix

Kiwix

Heute im Newsletter von dem Projekt gelesen. Zuerst dachte ich, es wäre ja eine tolle Idee, wenn man die benötigten Komponenten als Paket anbieten würde. Hätte ich gekauft und dann direkt mal nachgebaut.
Aber dann musste ich feststellen, dass bis auf den Arduino gar nichts im Shop zu finden ist. Ich finde das nicht so gelungen, auf Projekte mit Komponenten hinzuweisen, die man gar nicht (mehr) im Angebot hat.

Viele Grüße
Kiwix

Pentalon

Pentalon

Danke für die tolle Demo.
Bei mir ist der Text allerdings spiegelverkehrt.
Was muss ich hier ändern, damit die Schrift korrekt angezeigt wird ?

Bester Grüsse…

veit

veit

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

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. Install ESP32 now from the board manager
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP programming via WLAN