What is an LED Light Bar?

Created on: 21 September 2012

An LED light bar is a set of LEDs housed in a single package. In the video below a square LED light bar that contains four LEDs is shown.

LED light bars come in different sizes and may be square or rectangular. The longer rectangular light bars may have many more than four LEDs in the package. The LED light bar in the video is made by Kingbright and has the part number: KB-2855SGD (RS Components stock number: 247-2205).

The light bar shown has eight pins that are numbered the same way that a DIP IC package is numbered. The eight pins are for the anode and cathode of each LED.

Driving the LED Light Bar Display

In the video an Arduino Uno is used to drive the LED light bar for demonstration purposes. The Arduino sketch switches all four LEDs on and off simultaneously four times. Each LED is then switched on in sequence four times. The program then repeats.

This is the listing of the Arduino sketch used in the demo:

/*--------------------------------------------------------------
  Program:      LED_light_bar_drv

  Description:  LED light bar driver - drives the LEDs of a
                four LED light bar.
                
                This program flashes all four light bar LEDs
                on and off four times and then switches each
                LED on in sequence four times.
  
  Hardware:     LED light bar from Kingbright, part number:
                KB-2855SGD or similar. The LEDs are
                connected to Arduino pins 2 to 5 via 220 ohm
                resistors.
                
  Date:         21 September 2012
 
  Author:       W.A. Smith, http://startingelectronics.org
--------------------------------------------------------------*/
void setup()
{
    // using pins 2 to 5 as outputs to drive LEDs
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
}

void loop()
{
    int j, k;
    
    // flash all LEDs on and off four times
    for (j = 0; j < 4; j++) {
        // switch all LEDs on
        AllLEDState(HIGH);
        delay(1000);
        // switch all LEDs off
        AllLEDState(LOW);
        delay(1000);
    }
    
    // switch only one LED on in sequence, four times
    for (j = 0; j < 4; j++) {
        k = 0;
        do {
            // switch all LEDs off
            AllLEDState(LOW);
            digitalWrite(k + 2, HIGH);
            delay(500);
            k++;
        } while (k < 4);
    }
}

// function to switch all LEDs on or off
// state can be: LOW  - switch all LEDs off
//               HIGH - switch all LEDs on
void AllLEDState(int state)
{
    int i;
    
    for (i = 0; i < 4; i++) {
        digitalWrite(i + 2, state);
    }
}