Arduino Based RGB Matrix LED Tester

61,005

37

7

About: A place for DIY projects

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: ​The Story

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

Step 2:

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.

Step 3:

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.

Step 4: 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)

Step 5: 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);
}

Step 6: Connection Between Arduino and RGB LED Matrix Panel

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.

Step 7: Arduino PCB and Power Cable

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

Step 8: Different Types of Power Connectors

Step 9: Top View of the Arduino PCB Design

Step 10: Bottom View of the PCB Design

Step 11: Previous Design

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

Step 12: Schematic for 16x32 RGB LED Matrix Panel

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...

1 Person Made This Project!

Recommendations

  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

7 Discussions

0
None
3720381

1 year ago

Hi Team,

I am using your library RGBmatrixPanelDue in my RGB running display.
Could you please help me with few queries:
1) P-10 RGB 16x32 panel Width and P-10 RGB 16x32 x 2 panel Height Hub-75 port But how to connect both display panel convert to 32x32 size connections?
2)How to print String value to display?
3)How to scroll the (text) value?
Can you please provide me any .CPP file with the same ,as the demo file does not contain the above examples in it.
Awaiting your valuable reply. (vishwas_mathew@yahoo.com) or (vishwasmathew@gmail.com)

Thanks& Regards

Vishwas Mathew

0
None
RAIBBELDI

2 years ago

Thank you very much this work, it's nice

0
None
magnocampos

3 years ago

Hello,

sorry but I can't understand what you include as

#include // Core graphics library
#include // Hardware-specific library

3 replies
0
None
smchingmagnocampos

Reply 3 years ago

Instructables remove the code inside angle brackets automatically.

Now change to quotation mark:
#include "Adafruit_GFX.h" // Core graphics library
#include "RGBmatrixPanel.h" // Hardware-specific library

0
None
magnocampossmching

Reply 3 years ago

Many thanks...
it is all what I need..

can you tell me if it can show video?

0
None
smchingmagnocampos

Reply 3 years ago

Due to limited memory, it can support simple GIF only.