Introduction
This flexible RGB LED matrix display has 7x71 RGB LEDs. Designed with flexible PCB board, it is light and bendable. The onboard MCU simplifies the way to display numbers and alphabets. It can keep display status even separated from the main control. So that it can be conveniently integrated to projects, especially wearable device, such as hats, backpacks, clothes, skirts, shoes, belts, masks, etc. For items, it can be used for wallets, musical instruments, cups, vases, clock ornaments, etc. And it also be used in advertising walls, displays, and holiday decorations.
Please kindly note that the flexible RGB LED matrix display should not be over-curved (no more than 30°) and bent repeatedly, so is prone to damage. The screen dimension is 269mm x 30mm, among it the matrix dimension is 232mm x 22mm, and Pixel Pitch is 3.2mm.
This flexible RGB LED matrix display supports showing both numbers and alphabets, we recommend to use DFR0598 to show Chinese.
NOTE:
- The flexible PCB board cannot be over-curved (no more than 30°) and bent repeatedly. Although the product can work curvedly, but the resulting consequences will not be responsible.
- Arduino UNO can drive this matrix display. Once the brightness increased, please guarantee it with an independent 5V power supply, otherwise it may lead to abnormal color show and exceptional display.
Specification
- Operating Voltage: 5.0V
- Rated Current: < 500mA (brightest)
- Resolution: 7 x 71
- Module Dimension: 269x30mm / 10.59x1.18inch
- Display Dimension: 232x22mm / 9.13x0.87inch
- Pixel Pitch: 3.2mm
- Colors: Red, Yellow, Green, Cyan, Red, Blue, Purple, White
- Communication: Serial Port
Pinout
Name | Description |
---|---|
VCC | + |
GND | - |
RX | Serial Port Input |
TX | Serial Port Output |
Tutorial
1.Set display data
Function Type: bool setMessage (const char *message_)
- Parameter: Show strings (letters and numbers) in the flexible matrix display.
- *message_: characters, covered by " ", its parameter is letter and number.
E.g.
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
/*Display string "DFRobot"*/
screen.displayMessage("DFRobot");
}
void loop() {
}
2.Set Message List
Function Type:
bool setMessageList(uint8_t banN, const char *message_);
bool setMessageList(eBanner_t banN, const char *message_);
- Function: Set 8 message list
- Parameter:
- banN: Serial number
- *message_: List information
E.g.
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
const char *s = "DFRobot";
const char* M1 = "DFRobot"; //"A"
const char* M2 = "<CRY>DFRobot"; //"B"
const char* M3 = "Hi!"; //"C"
const char* M4 = "<CRY>Hello!"; //"D"
const char* M5 = "World!"; //"E"
const char* M6 = "66"; //"F"
const char* M7 = "77"; //"G"
const char* M8 = "88"; //"H"
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
/*Send 8 information lists to the serial screen*/
screen.setMessageList(1 << 0, M1);
screen.setMessageList(1 << 1, M2);
screen.setMessageList(1 << 2, M3);
screen.setMessageList(1 << 3, M4);
screen.setMessageList(1 << 4, M5);
screen.setMessageList(1 << 5, M6);
screen.setMessageList(1 << 6, M7);
screen.setMessageList(1 << 7, M8);
/* Prints a list of "DFRobot" in the message list, and the data of the M0 message list*/
screen.displayBanner(1 << 0);
/*Print data of M8 information list*/
//screen.displayBanner(1 << 7);
/*Print data for M1 and M8 information lists*/
//screen.displayBanner(1 << 0 | 1 << 7);
/*Display all information lists for M1~M8*/
//screen.displayBanner(1 << 0 | 1 << 1 | 1 << 2 | 1 << 3 | 1 << 4 | 1 << 5 | 1 << 6 | 1 << 7);
}
void loop() {
}
3.Set Move Mode
Function Type:
bool setMoveMode(eMoveMode_t m_);
- Function: Set the move mode of the information
- Parameter:
- eMoveLeft: Move left
- eMoveRight: Move right
- eMoveHold: Keep
- eMoveDown: Move downward
- eMoveUp: Move upward
- eMoveFlash: Flash
E.g.
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
delay(5);
/*Display string "DFRobot"*/
screen.displayMessage("DFRobot");
/*Set the move mode to hold*/
/*eMoveMode_t: eMoveLeft = left
eMoveRight = right
eMoveHold = hold
eMoveDown = down
eMoveUp = up
eMoveFlash = flash
*/
screen.setMoveMode(screen.eMoveHold);
}
void loop() {
/*Switch a mobile display mode every 5s*/
DFRobot_SerialScreen771::eMoveMode_t buf[]= {screen.eMoveLeft,screen.eMoveRight,screen.eMoveHold,screen.eMoveDown,screen.eMoveUp,screen.eMoveFlash};
for(int i = 0; i < sizeof(buf)/sizeof(DFRobot_SerialScreen771::eMoveMode_t); i++){
screen.setMoveMode(buf[i]);
delay(5000);
}
}
4.Set Move Mode
Function Type:
bool setMoveSpeed(eSpeedLevel_t s_)
- Function: Set the move speed
- Parameter:
- eSpeedLevel_1: Speed class 1
- eSpeedLevel_2: Speed class 2
- eSpeedLevel_3: Speed class 3
- eSpeedLevel_4: Speed class 4
- eSpeedLevel_5: Speed class 5
- eSpeedLevel_6: Speed class 6
- eSpeedLevel_7: Speed class 7
- eSpeedLevel_8: Speed class 8
E.g.
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
delay(5);
/*Display string "DFRobot"*/
screen.displayMessage("DFRobot");
/*Set the display's movement mode to shift left*/
screen.setMoveMode(screen.eMoveLeft);
/*Set the displayed moving speed level*/
/*eBrightLevel_t: eSpeedLevel_1 = Speed class 1
eSpeedLevel_2 = Speed class 2
eSpeedLevel_3 = Speed class 3
eSpeedLevel_4 = Speed class 4
eSpeedLevel_5 = Speed class 5
eSpeedLevel_6 = Speed class 6
eSpeedLevel_7 = Speed class 7
eSpeedLevel_8 = Speed class 8
*/
screen.setMoveSpeed(screen.eSpeedLevel_1);
}
void loop() {
}
5.Set Display Brightness
Function Type:
bool setBrightness(eBrightLevel_t b_)
- Function: Set the backlight brightness
- Parameter:
- eBrightLevel_1: Brightness level 1
- eBrightLevel_2: Brightness level 2
- eBrightLevel_3: Brightness level 3
- eBrightLevel_4: Brightness level 4
- eBrightLevel_5: Brightness level 5
- eBrightLevel_6: Brightness level 6
- eBrightLevel_7: Brightness level 7
- eBrightLevel_8: Brightness level 8
E.g.
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
// Initialize communication interface (Serial1) and debug interface (Serial)
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
// Display string "DFRobot"
screen.displayMessage("DFRobot");
// Set the brightness level of the display
/*eBrightLevel_t: eBrightLevel_1 = Brightness level 1
eBrightLevel_2 = Brightness level 2
eBrightLevel_3 = Brightness level 3
eBrightLevel_4 = Brightness level 4
eBrightLevel_5 = Brightness level 5
eBrightLevel_6 = Brightness level 6
eBrightLevel_7 = Brightness level 7
eBrightLevel_8 = Brightness level 8
*/
screen.setBrightness(screen.eBrightLevel_1);
}
void loop() {
}
6.Set Display Color
Function Type:
bool setDispalyColor(eColorMode_t font, eColorMode_t shading);
- Parameter:
- eColorMode_t font_: Font color
- eColorMode_t back: Background color
- eColorRed: Red
- eColorYellow: Yellow
- eColorGreen: Green
- eColorCyan: Cyan
- eColorBlue: Blue
- eColorPurple: Purple
- eColorWhite: White
- eColorBlack: Black
E.g.
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
delay(5);
/*Display string "DFRobot"*/
screen.displayMessage("DFRobot");
/*Set the string to display the background and font color, set it to red on the black background*/
screen.setDispalyColor(screen.eColorRed, screen.eColorBlack);
}
void loop() {
/*Switch one font color every 5s*/
DFRobot_SerialScreen771::eColorMode_t backgroud,font;
backgroud = screen.eColorBlack;
DFRobot_SerialScreen771::eColorMode_t buf[]= {screen.eColorRed, screen.eColorYellow, screen.eColorGreen, screen.eColorCyan, screen.eColorBlue, screen.eColorPurple, screen.eColorWhite};
for(int i = 0; i < sizeof(buf)/sizeof(DFRobot_SerialScreen771::eColorMode_t); i++){
font = buf[i];
screen.setDispalyColor(font, backgroud);
delay(5000);
}
}
7.Set Display Color
Function Type:
bool setFullScreenColor(eColorMode_t color_);
- Function: Set fullscreen color
- Parameter:
- eColorRed: Red
- eColorYellow: Yellow
- eColorGreen: Green
- eColorCyan: Cyan
- eColorBlue: Blue
- eColorPurple: Purple
- eColorWhite: White
- eColorBlack: Black
E.g.
#include <Arduino.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
/*Set screen color*/
/*eColorMode_t: eColorRed = red
eColorYellow = yellow
eColorGreen = green
eColorCyan = cyan
eColorBlue = blue
eColorPurple = purple
eColorWhite = white
eColorBlack = black
*/
screen.setFullScreenColor(screen.eColorBlack);
}
void loop() {
/*Switch one screen color every 5s*/
DFRobot_SerialScreen771::eColorMode_t buf[]= {screen.eColorRed, screen.eColorYellow, screen.eColorGreen, screen.eColorCyan, screen.eColorBlue, screen.eColorPurple, screen.eColorWhite,screen.eColorBlack};
for(int i=0; i < sizeof(buf)/sizeof(DFRobot_SerialScreen771::eColorMode_t); i++){
screen.setFullScreenColor(buf[i]);
delay(5000);
}
}
Arduino Application
Please connect the circuit as shown in the Connection Diagram, then download the sample code to UNO, once uploaded successfully, the flexible display would show.
Requirements
Hardware
- DFRduino UNO R3 (or similar) x 1
- 7*71 Flexible RGB LED Matrix x 1
- Lightboard Transfer-line x 1
Software
- Arduino IDE
- Download and install the XXX Library (About how to install the library?)
Connection Diagram
Sample Code
/*!
* file SerialScreen771.ino
*
* Copyright [DFRobot](http://www.dfrobot.com), 2016
* Copyright GNU Lesser General Public License
*
* version V1.1
* date 2022-1-24
*/
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen771.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen771 screen(Serial1);
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin();
/*Set the brightness level of the display*/
screen.setBrightness(screen.eBrightLevel_8);
/*Set the move mode to hold*/
screen.setMoveMode(screen.eMoveHold);
/*Display string "DFRobot"*/
screen.displayMessage("DFRobot");
/*Set the string to display the background and font color, set it to red on the black background*/
screen.setDispalyColor(screen.eColorRed, screen.eColorBlack);
}
void loop() {
}