Flexible RGB LED Matrix 7x71-DFRobot Product wiki

DFR0597 Flexible RGB LED Matrix 7x71

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.

warning_yellow.png NOTE:

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

Pinout

DFR0597 Flexible RGB LED Matrix 7x71 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_)

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

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

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_)

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_)

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

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

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

Connection Diagram

DFR0597 Flexible RGB LED Matrix 7x71 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() {

}

Expected Results

DFR0597 Flexible RGB LED Matrix 7x71 Expected Results

More Documents