Arduino Based RGB Matrix LED Tester

by smching in Circuits > Arduino

73107 Views, 42 Favorites, 0 Comments

Arduino Based RGB Matrix LED Tester

Arduino_based_RGB_Matrix_LED_tester.jpg

This is a very simple Arduino project which control the 16x32 RGB LED Matrix Panel via an 16pin IDC cable. The Arduino will continuously sending 5 set colours (Red, Green, Blue, White, Black) to the LED Matrix Panel that allow the technician to find out which part of the LED Matrix Panel is malfunction.

​The Story

Bad_16x32_RGB_LED_Matrix_Panel.jpg

After completing the large LED screen project, my company always left out many bad 16x32 RGB LED Matrix Panel awaiting me to diagnose. I must light up all the LED Matrix in order to find out where is the actual problem

LED_screen_control_system.jpg

Normally I have to use a computer plus a sending card & receiving card as shown in figure above to light up the LED, it is consuming power and very troublesome.

Arduino_based_RGB_Matrix_LED_tester_1.jpg

By using an Arduino, I'm able to draw graphic such as Lines, Circles, Boxes and Bitmaps on the LED Matrix Panel without using an expensive computer & sending/receiving card.

Materials

  • Arduino UNO, I'm using my own design Arduino
  • 16pin IDC cable and header connect between Arduino & RGB LED Matrix Panel
  • 5V 3a power supply to poewr the Arduino & RGB LED Matrix Panel
  • Power cable to connect between Arduino & RGB LED Matrix Panel
  • 1 x DC jack (Male)
  • 2 x DC jack (Female)

Source Code and Downloads

To control the RGB LED Matrix Panel, you need to include the Adafruit RGB Matrix Panel library which is available at GitHub. This is an Arduino library for 16x32 and 32x32 RGB LED matrix panels, you can get more information on how to use the library on the Adafruit web site.

Here is the test code example for this project.

#include "Adafruit_GFX.h" // Core graphics library
#include "RGBmatrixPanel.h" // Hardware-specific library

#define CLK 8 // MUST be on PORTB!
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2

// Last parameter = 'false' disable double-buffering
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);

void setup() {
matrix.begin();
}

void loop() {
// fill the screen with red
matrix.fillRect(0, 0, 32, 16, matrix.Color333(7, 0, 0));
delay(1000);

// fill the screen with green
matrix.fillRect(0, 0, 32, 16, matrix.Color333(0, 7, 0));
delay(1000);

// fill the screen with blue
matrix.fillRect(0, 0, 32, 16, matrix.Color333(0, 0, 7));
delay(1000);

// fill the screen with white
matrix.fillRect(0, 0, 32, 16, matrix.Color333(7, 7, 7));
delay(1000);

// fill the screen with black
matrix.fillScreen(matrix.Color333(0, 0, 0));
delay(1000);
}

Connection Between Arduino and RGB LED Matrix Panel

Connection_table.jpg

This project is based on Arduino UNO/Duemilanove (ATMega328), however you can use it on Arduino Mega (ATmega2560) with some changes in the pin configuration.

Arduino PCB and Power Cable

Power_cable.jpg

Here is my Arduino PCB design and power cable. The power cable is made for two different types of power connectors as shown.

Different Types of Power Connectors

Different_types_of_power_connectors.jpg

Top View of the Arduino PCB Design

Top_view_of_the_Arduino_PCB.jpg

Bottom View of the PCB Design

Bottom_view_of_the_Arduino_PCB.jpg

Previous Design

Arduino_PCB.jpg

This is the previous PCB design where the IDC cable is solder directly on the PCB

Schematic for 16x32 RGB LED Matrix Panel

Schematic_for_16x32_RGB_LED_matrix_panels.jpg

This is the 16x32 RGB LED Matrix schematic, I get it from the China website.

You can download a higher resolution schematic (PDF file) from my personal website
http://www.ediy.com.my/index.php/projects/item/109...