_SKU_DFR0598__12x48_Flexible_RGB_LED_Matrix - jimaobian/DFRobotWikiCn GitHub Wiki
新型1248RGB软屏,采用12*48颗灯珠组成,主要用于背包、酒瓶、衣服、腰带、表带、帽子、手镯;该LED柔性屏软屏,灯珠紧凑美观,亮度高,性能稳定,板面简洁,美观,生产方便,故障率低,是灯饰亮化的理想设计选择。
- 安装方式: 镶嵌式
- 最大工作电流: 970mA(最高亮度)
- 工作电压:5.0V
- 分辨率 12x48点
- 模块尺寸:160mm x 36mm
- 屏幕尺寸: 143x29mm(mm)
- 可显示颜色:红、黄、绿、青、兰、紫、白、黑
- 控制方式:串口通信
名称 | 功能描述 |
VCC | 电源正极 |
GND | 电源负极 |
RX | 串口输入 |
TX | 串口输出 |
引脚说明
函数原型:bool disChiCharacter(eMoveMode_t m_, eColorMode_t c_,const unsigned char *message_, uint16_t len_);
- 函数功能:在软屏上显示中文
- 参 数:
-
eMoveMode_t m_:显示模式
- eMove_left:左移
- eMove_right:右移
- eMove_hold:保持
- eMove_down:下移
- eMove_up:上移
- eMove_flash:闪烁
- eMove_marquee:跑马灯
-
eMoveMode_t m_:显示模式
-
-
eColorMode_t c_:字体颜色
- eColor_red:红色
- eColor_yellow:黄色
- eColor_green:绿色
- eColor_cyan:青色
- eColor_blue:蓝色
- eColor_purple:紫色
- eColor_white:白色
-
eColorMode_t c_:字体颜色
-
- econst unsigned char *message_:字体取模数组
例:
|
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
unsigned char dis[]={0x10,0x20,0x40,0x10,0x82,0x10,0x28,0x2F,0xFE,0xE4,0x82,0x10,0x44,0xA9,0x02,0x22,
0x82,0xFE,0x82,0xA1,0xF8,0x20,0x8F,0x10,0x7C,0xA2,0x08,0xFC,0x82,0x10,0x44,0xA5,
0x10,0x22,0x82,0xFC,0x44,0xA0,0xE0,0x70,0x83,0x44,0x44,0xAF,0x1E,0x68,0xEE,0x44,
0x58,0xA3,0xF8,0xA7,0x82,0x28,0x42,0x22,0x08,0x20,0x82,0x10,0x42,0x23,0xF8,0x20,
0x82,0x28,0x3E,0x62,0x08,0x20,0x86,0xC6,};//Font type Song body 9 font "创客科技"
void setup() {
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
screen.disChiCharacter(eMove_hold,eColor_red,dis,sizeof(dis));//Still display red "创客科技"
}
void loop() {
}
|}
函数原型:bool powerOn();
bool shutDown();
- 函数功能:控制屏幕开关
例:
|
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
void setup() {
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
delay(1000);
screen.shutDown(); //shut down
Serial.println("SHUT DOWN!");
delay(5000);
screen.powerOn(); //power ON
Serial.println("POWER ON");
}
void loop() {
}
|}
函数原型:bool disString(eMoveMode_t m_, eColorMode_t c_,const unsigned char *message_, uint16_t len_);
-
函数功能:设置显示信息的移动方式
-
参 数:
-
eMoveMode_t m_:移动方式
- eMove_left:左移
- eMove_right:右移
- eMove_hold:保持
- eMove_down:下移
- eMove_up:上移
- eMove_flash:闪烁
- eMove_marquee:跑马灯
-
eMoveMode_t m_:移动方式
-
- eColorMode_t c_:显示颜色
-
- const unsigned char *message_:显示字符
例:
|
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
const char *s="DFROBOT";
void setup() {
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
}
void loop() {
/*Switch a mobile display mode every 2s*/
eMoveMode_t buf[]= {eMove_left,eMove_right,eMove_hold,eMove_down,eMove_up,eMove_flash,eMove_marquee};
for(int i = 0; i < sizeof(buf)/sizeof(eMoveMode_t); i++){
screen.disString(buf[i],eColor_red,s,strlen(s)); //display string "DFROBOT"
delay(2000);
}
}
|}
函数原型:bool setMoveSpeed(eSpeedLevel_t s_)
-
函数功能:移动速度
-
参 数:
- 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
例:
|
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
eBrightLevel_t bright;
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
screen.disString(eMove_left,eColor_red,"DFROBOT",strlen("DFROBOT"));
/*Set the displayed moving speed level*/
screen.setMoveSpeed(eSpeedLevel_1);
}
void loop() {
screen.setMoveSpeed(eSpeedLevel_1);
delay(5000);
screen.setMoveSpeed(eSpeedLevel_8);
delay(5000);
}
|}
函数原型:bool setBrightness(eBrightLevel_t b_)
-
函数功能:设置背光亮度
-
参 数:
- 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
例:
|
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
/*Set the brightness level of the display*/
screen.setBrightness(eBrightLevel_1);
}
void loop() {
}
|}
函数原型:void setFullScreenColor(eColorMode_t color_)
- 函数功能:设置全屏显示颜色
- 参 数:
- eColor_red:红色
- eColor_yellow:黄色
- eColor_green:绿色
- eColor_cyan:青色
- eColor_blue:蓝色
- eColor_purple:紫色
- eColor_white:白色
例:
|
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
void setup() {
/*Initialize communication interface (Serial1) and debug interface (Serial)*/
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
/*Set screen color*/
screen.setFullScreenColor(eColor_red);
}
void loop() {
/*Switch one screen color every 2s*/
eColorMode_t buf[]= {eColor_red, eColor_yellow, eColor_green, eColor_cyan, eColor_blue, eColor_purple, eColor_white};
for(int i=0; i < sizeof(buf)/sizeof(eColorMode_t); i++){
screen.setFullScreenColor(buf[i]);
delay(2000);
}
}
|}
按照引脚说明连接好硬件,并下载样例代码到UNO中,上传成功,即可看到软屏的彩色显示效果。
-
硬件
- 1 x DFRduino UNO控制板 购买链接
- 1 x 12x48 Flexible RGB LED Matrix
- 1 x 灯板转接线
-
软件
- Arduino IDE 点击下载Arduino IDE
|
/*!
* file SerialScreen1248.ino
*
* Display Chinese characters in different ways and colors
* @Display Chinese characters:"创客科技"
*
* Copyright [DFRobot](http://www.dfrobot.com), 2016
* Copyright GNU Lesser General Public License
*
* version V1.0
* date 2019-7-4
*/
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include "DFRobot_SerialScreen1248.h"
#ifdef ARDUINO_AVR_UNO
SoftwareSerial Serial1(2, 3); //RX, TX
#endif
DFRobot_SerialScreen1248 screen;
unsigned char dis[]={0x10,0x20,0x40,0x10,0x82,0x10,0x28,0x2F,0xFE,0xE4,0x82,0x10,0x44,0xA9,0x02,0x22,
0x82,0xFE,0x82,0xA1,0xF8,0x20,0x8F,0x10,0x7C,0xA2,0x08,0xFC,0x82,0x10,0x44,0xA5,
0x10,0x22,0x82,0xFC,0x44,0xA0,0xE0,0x70,0x83,0x44,0x44,0xAF,0x1E,0x68,0xEE,0x44,
0x58,0xA3,0xF8,0xA7,0x82,0x28,0x42,0x22,0x08,0x20,0x82,0x10,0x42,0x23,0xF8,0x20,
0x82,0x28,0x3E,0x62,0x08,0x20,0x86,0xC6,};//Font type Song body 9 font "创客科技"
void setup() {
Serial.begin(115200);
Serial1.begin(19200);
screen.begin(Serial1);
screen.setDbgSerial(Serial);
screen.disChiCharacter(eMove_hold,eColor_red,dis,sizeof(dis));//Still display red "创客科技"
/*Set the brightness level of the display*/
screen.setBrightness(eBrightLevel_1);
/*Set the displayed moving speed level*/
screen.setMoveSpeed(eSpeedLevel_1);
}
void loop() {
}
|}