LedBanner: Difference between revisions

From RevSpace
Jump to navigation Jump to search
(Add link to display server source code)
m (Reverted edits by F0x (talk) to last revision by Bertrik Sikken)
Tag: Rollback
 
(6 intermediate revisions by 2 users not shown)
Line 11: Line 11:


The following can be displayed:
The following can be displayed:
* scrolling fixed images
* scrolling fixed images, horizontal or vertical
* scrolling text in various colours
* scrolling text in various colours
* animated GIFs
* animated GIFs
* real-time generated images, e.g. game-of-life
* etc.
* etc.


Line 45: Line 46:
=== Display server ===
=== Display server ===
To drive the LEDs, a display server written in C does the low-level driving of the LEDs over the SPI port.
To drive the LEDs, a display server written in C does the low-level driving of the LEDs over the SPI port.
It also controls the white balance and takes care of gamma correction.
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 [https://github.com/bertrik/bannervis 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.
 
[https://www.youtube.com/watch?v=Ca-l_F9cK0c Video] of the spectrogram visualisation.


=== Sources ===
=== Sources ===
* [https://github.com/bertrik/ledbanner ledbanner display server] source code
* [https://github.com/bertrik/ledbanner ledbanner display server] source code
* [https://github.com/bertrik/nyancat nyancat], a set of small C programs to generate animated GIFs of 80x8 pixels, written specifically for the LedBanner.
* [https://github.com/bertrik/nyancat nyancat], a set of small C programs to generate animated GIFs of 80x8 pixels, written specifically for the LedBanner.
* [https://github.com/sgielen/clife Game of Life for a 80x8 LED screen]

Latest revision as of 14:26, 28 August 2024

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.

Youtube video

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.

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