LedBanner
Project LedBanner | |
---|---|
Status | Completed |
Contact | User:Juerd |
Last Update | 2024-08-28 |
Introduction
The LED banner is an active RGB LED display, consisting of 8 rows of 80 pixels each fixed on a flexible banner. A Raspberry Pi drives it.
The following can be displayed:
- scrolling fixed images, horizontal or vertical
- scrolling text in various colours
- animated GIFs
- real-time generated images, e.g. game-of-life
- etc.
The use of a flexible banner makes it easy to transport and easy to put up.
Hardware
The hardware consists of the following parts:
Raspberry Pi
A Raspberry Pi is used because it can be controlled over the network, can run perl scripts and has a fast SPI port to drive the LEDs.
Network
At RevSpace, the banner is reachable on 10.42.76.66
Power supply
The power supply has been chosen to supply sufficient current for the LEDs. When the space is closed, the Raspberry Pi stays powered from the "standby 5V" output, while the LEDs are powered down.
LED strips
The display consists of 8 pieces of LED strip of 80 LEDs each. They are arranged in a left-to-right zig-zag manner for ease of connecting them in series.
The LED strip consists of pairs of RGB LEDs, where each pair is controlled by an LPD8806. See [1] for more information on driving these chips.
Flexible banner
The banner itself is custom made, with metal eyelets in each corner for fixation.
Software
The software runs on the Pi and is mostly written in Perl.
Display server
To drive the LEDs, a display server written in C does the low-level driving of the LEDs over the SPI port. It also takes care of the white balance and gamma correction.
There is a simple SDL simulator of the display server that can be run stand-alone on a PC to preview led banner animations, effects, etc. The code can be found in the 'sim' subdirectory of the ledbanner repo.
Audio visualisation
A number of audio visualisation applications can be found on github in the bannervis project.
The way this works is that a squeezelite audio player runs on the raspi, using option '-v' to make the currently playing audio available in a mmap-ed file in /dev/shm. On the audio server, the audio sent to the ledbanner can be synchronised to the klusbunker. The audio visualisation tools read this file and produce image frame corresponding to the audio.
Video of the spectrogram visualisation.
Sources
- ledbanner display server source code
- nyancat, a set of small C programs to generate animated GIFs of 80x8 pixels, written specifically for the LedBanner.
- Game of Life for a 80x8 LED screen