BPI RGB LED Matrix Expansion Module

From Banana Pi Wiki
Revision as of 18:46, 16 May 2018 by Sinovoip (talk | contribs) (Created page with "# BPI 8*8 RGB LED Matrix Expansion Module Front : ![](8x8 RGB LED Matrix 1.JPG) Back: ![](8x8 RGB LED Matrix 6.JPG) **1.Product Specification:** ![](spec.jpg) =Produc...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

BPI 8*8 RGB LED Matrix Expansion Module

Front :

![](8x8 RGB LED Matrix 1.JPG)

Back:

![](8x8 RGB LED Matrix 6.JPG)

    • 1.Product Specification:**

![](spec.jpg)

Produce Overview

The Matrix LED module is specifically designed for Banana Pi. The module with 8X8 Matrix LED. User can custom display content through programming. Pay attention, the module do not include driver board. You have to cooperate with Infinity cascade IO expand module

Produce Features

  • 1. Full color RGB
  • 2. Square LED point source
  • 3. Ultrathin
  • 4. Plug and Play
  • 5. No wire needed

Port

need work with IO extend module.

![](io ext board 2.jpg)

Banana Pi connection port,also can use on raspberry pi.


5.Product Parameters

  • 1. Dot Size: 5.0mm
  • 2. Pixel Array: 8×8
  • 3. Luminous Intensity: 40mcd
  • 4. Package Dimension: 60mm×60mm
  • 5. Reverse Voltage(Max): 5V
  • 6. Forward Current(Max): 25mA
  • 7. Peak Forward Current(Max): 100mA
  • 8. Power Dissipation(Max): 100mW
  • 9. Operating Temperature(Max):-35~+85℃
  • 10. Storage Temperature(Max): -35~+85℃
  • 11. Lead Solder Temperature(Max): 260℃ for 5 seconds

Typical Application

  • 1. Scroll the display
  • 2. LOGO display
  • 3. Dynamic signage

How to use

How to use on BPI-M1

For the Banana Pi ,just Insert these two module like the picture Below

![](8x8 RGB LED Matrix 8.JPG)

How to use on BPI-M3

OS: BPI-M3 Ubuntu15.10 (Kernel3.4)

Version: 1.0 HDMI

![](ON m3.jpg)

Step 1: Download WiringPI


$ git clone https://github.com/BPI-SINOVOIP/BPI-WiringPi.git1 -b BPI_M3
$ cd BPI-WiringPi
$ chmod +x ./build
$ sudo ./build

Step 2 : Copy smaple code to Blue_RGB8*8.c file

$ sudo vi Blue_RGB8*8.c 

Step 3 : Compile Blue_RGB8*8.c

$ gcc -o Blue_RGB8*8 Blue_RGB8*8.c -l wiringPi 

Step 4: Run Blue_RGB8*8

$ sudo ./Blue_RGB8*8 


Sample Code:

#include <stdio.h>
#include <wiringPi.h>
#include <sr595.h>
#define SPACE { \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0}, \
{0, 0, 0, 0, 0, 0, 0, 0} \
} 
#define FULL { \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1}, \
{1, 1, 1, 1, 1, 1, 1, 1} \
}
#define H { \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 1, 1, 1, 1, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0} \
}
#define E { \
{0, 1, 1, 1, 1, 1, 1, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 1, 1, 1, 1, 1, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 1, 1, 1, 1, 1, 0} \
}
#define L { \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 1, 1, 1, 1, 1, 1, 0} \
}
#define O { \
{0, 0, 0, 1, 1, 0, 0, 0}, \
{0, 0, 1, 0, 0, 1, 0, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 0, 1, 0, 0, 1, 0, 0}, \
{0, 0, 0, 1, 1, 0, 0, 0} \
}
#define Smile { \
{0, 0, 1, 1, 1, 1, 0, 0}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{1, 0, 1, 0, 0, 1, 0, 1}, \
{1, 0, 0, 0, 0, 0, 0, 1}, \
{1, 0, 1, 0, 0, 1, 0, 1}, \
{1, 0, 0, 1, 1, 0, 0, 1}, \
{0, 1, 0, 0, 0, 0, 1, 0}, \
{0, 0, 1, 1, 1, 1, 0, 0} \
}
#define Line { \
{1, 0, 0, 0, 0, 0, 0, 0}, \
{0, 1, 0, 0, 0, 0, 0, 0}, \
{0, 0, 1, 0, 0, 0, 0, 0}, \
{0, 0, 0, 1, 0, 0, 0, 0}, \
{0, 0, 0, 0, 1, 0, 0, 0}, \
{0, 0, 0, 0, 0, 1, 0, 0}, \
{0, 0, 0, 0, 0, 0, 1, 0}, \
{0, 0, 0, 0, 0, 0, 0, 1}, \
}
int RowRed[8]={116,117,118,119,120,121,122,123};
int RowGreen[8]={108,109,110,111,112,113,114,115};
int RowBlue[8]={100,101,102,103,104,105,106,107};
int Column[8]={124,125,126,127,128,129,130,131};


void MatrixSetup()
{
int j;
for(j = 0; j < 32; j++)
{
pinMode(100 + j, OUTPUT);
}
for(j = 0; j < 8; j++)
{
digitalWrite(100 + j, 1);
}
for(j = 0; j < 8; j++)
{
digitalWrite(116 + j, 1);
}
for(j = 0; j < 8; j++)
{
digitalWrite(108 + j, 1);
}
}
void Clear()
{
int i;
for(i=0;i<8;i++)
{
digitalWrite(RowRed[i],1);
digitalWrite(RowGreen[i],1);
digitalWrite(RowBlue[i],1);
digitalWrite(Column[i],0);
}
}
int main(int argc, char *argv[])
{
int column, row, thisPixel;
long long k;
wiringPiSetup();
sr595Setup(100, 32, 12, 14, 10);
MatrixSetup();
int matrix[8][8]= Smile ;
while(1)
{
Clear();
for(column=0;column<8;column++)
{
digitalWrite(Column[column],1);
for(row=0;row<8;row++)
{
if(matrix[column][row] == 1)
digitalWrite(RowBlue[row],0); // Blue color
digitalWrite(RowBlue[row],1); // Blue color
}
digitalWrite(Column[column],0);
}
}
}