Difference between revisions of "BPI RGB LED Matrix Expansion Module"

From Banana Pi Wiki
Jump to: navigation, search
(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...")
 
Line 10: Line 10:
 
![](8x8 RGB LED Matrix 6.JPG)
 
![](8x8 RGB LED Matrix 6.JPG)
  
**1.Product Specification:**
 
  
![](spec.jpg)
 
  
 
=Produce Overview=
 
=Produce Overview=
 +
 +
[[File:8x8_RGB_LED_Matrix_1.JPG|thumb|Overview ]]
 +
[[File:8x8_RGB_LED_Matrix_2.JPG|thumb|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  
 
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  
Line 52: Line 53:
 
*2. LOGO display
 
*2. LOGO display
 
*3. Dynamic signage
 
*3. Dynamic signage
 +
 +
**1.Product Specification:**
 +
 +
![](spec.jpg)
  
 
=How to use=
 
=How to use=

Revision as of 18:50, 16 May 2018

BPI 8*8 RGB LED Matrix Expansion Module

Front :

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

Back:

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


Produce Overview

Overview
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
    • 1.Product Specification:**

![](spec.jpg)

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);
}
}
}