驴友花雕
发表于 2022-5-21 19:02:40
P10(1R)V706模组32X16单红LED显示屏的实验环境
1、P10(1R)V706模组32X16单红LED显示屏实验所需硬件清单
25CM电源线X15V2A实验电源X15V4A实验电源X1DS1307时钟模块X1Arduino Uno开发板 X1LED显示屏P16双头排线X2HUB12接口UNO扩展板(自制的)X1P10(1R)V706模组32X16 LED显示屏X2
驴友花雕
发表于 2022-5-21 19:05:00
2、传感器模块实验所需软件平台代码编程 Arduino IDE (版本1.8.19)仿真编程 Linkboy (版本V4.6.3)图形编程 Mind+(版本 V1.7.0 RC2.0)以及编玩边学(线上平台https://ide.codepku.com/?type=Arduino)
3、P10(1R)V706模组主要接口说明Enable: 此引脚用于控制 LED 面板的亮度,通过给它一个PWM 脉冲。A, B: 这些称为多路复用选择引脚。它们采用数字输入来选择任何多路复用行。移位时钟 (CLK)、存储时钟 (SCLK) 和数据(DATA):这些是正常的移位寄存器控制引脚。这里使用了移位寄存器 74HC595。
驴友花雕
发表于 2022-5-21 19:06:34
4、自制HUB12接口UNO扩展板 以Proto Shield 原型扩展板为主,加装二只P16插座,便于做实验
驴友花雕
发表于 2022-5-21 19:08:01
做好的是这样(P5排插座是DS1307时钟模块的接口)
驴友花雕
发表于 2022-5-21 19:10:42
4、实验接线示意图
驴友花雕
发表于 2022-5-23 07:14:07
P10(1R)V706模组32X16单红LED显示屏的几个实验1、程序一:读取引脚 A0 的模拟值并在 P10 面板上显示该值(1)Arduino参考开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序一:读取引脚 A0 的模拟值并在 P10 面板上显示该值
*/
#include <TimerOne.h>//导入驱动库
#include "SPI.h"
#include <ledP10.h>
LedP10 myled;
void setup(){
// A-D6, B-D7, STORE-D8, OE-D9, 面板X1
myled.init(6, 7, 8, 9, 1);//初始化LED显示屏
}
void loop(){
int sensorValue = analogRead(A0);//读取A0口光敏电阻数值
myled.showmsg_single_static(sensorValue, 1);//LED屏显示
delay(500);
}
驴友花雕
发表于 2022-5-23 07:15:47
(2)实验场景图
驴友花雕
发表于 2022-5-23 07:16:59
(3)实测实验电流为0.42A
驴友花雕
发表于 2022-5-23 07:18:22
2、程序二:显示一个整数计数器值(当计数器 num1达到 50 时亮度降低)(1)Arduino参考开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序二:显示一个整数计数器值(当计数器 num1达到 50 时亮度降低)
*/
#include <TimerOne.h>//导入驱动库
#include "SPI.h"
#include <ledP10.h>
int num1=0;
LedP10 myled;
void setup(){
// A-D6, B-D7, STORE-D8, OE-D9, 面板X1
myled.init(6, 7, 8, 9, 1);//初始化LED显示屏
}
void loop() {
if(num1==50)
{
myled.setbrightness(50);//设置亮度(0-255)
}
myled.showmsg_single_static(num1,0);
num1+=1;
delay(500);//延时500毫秒
}
驴友花雕
发表于 2022-5-23 07:20:10
(2)实验场景图
驴友花雕
发表于 2022-5-23 07:21:49
3、程序三:显示两个高度为 8 像素的计数器(1)Arduino参考开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序三:显示两个高度为 8 像素的计数器
*/
#include <TimerOne.h>//导入驱动库
#include "SPI.h"
#include <ledP10.h>
int num1 = 0, num2 = 1;
LedP10 myled;
void setup() {
// A-D6, B-D7, STORE-D8, OE-D9, 面板X1
myled.init(6, 7, 8, 9, 1);//初始化LED显示屏
}
void loop() {
myled.showmsg_double_static(num1, num2, 0);
num1 += 1;
num2 += 2;
delay(500);//延时500毫秒
}
驴友花雕
发表于 2022-5-23 07:23:21
(2)实验场景图
驴友花雕
发表于 2022-5-23 07:24:36
4、程序四:行列控制,逐点显示斜线 (1)实验开源仿真编程(Linkboy V4.63)
驴友花雕
发表于 2022-5-23 07:25:55
(2)实验场景图
驴友花雕
发表于 2022-5-23 07:27:09
5、程序五:显示矢量图片字“你好”(1)使用单色图片编辑器,编辑“你好”的图片
驴友花雕
发表于 2022-5-23 07:28:22
(2)实验开源仿真编程(Linkboy V4.63)
驴友花雕
发表于 2022-5-23 07:29:45
(3)实验场景图
驴友花雕
发表于 2022-5-23 07:31:33
6、程序六:流动中文字幕(1)打开字体编辑器,编辑字体
驴友花雕
发表于 2022-5-23 07:35:21
(2)实验开源仿真编程(Linkboy V4.63)
驴友花雕
发表于 2022-5-23 07:37:47
(3)实验场景图
驴友花雕
发表于 2022-5-25 13:03:18
7、程序七:滚动显示Hello World 1234567890(1)Arduino参考开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序七:滚动显示Hello World 1234567890
*/
#include <SPI.h>//导入驱动库
#include <DMD.h>
#include <TimerOne.h>
#include "SystemFont5x7.h"
#include "Arial_black_16.h"
#define ROW 1
#define COLUMN 1
#define FONT Arial_Black_16//字体16
DMD led_module(ROW, COLUMN);//行、列
void scan_module() {
led_module.scanDisplayBySPI();//模块扫描显示 By SPI
}
void setup() {
Timer1.initialize(2000);
Timer1.attachInterrupt(scan_module);
led_module.clearScreen( true );
}
void loop() {
led_module.selectFont(FONT);//设置字体
led_module.drawMarquee("Hello World 1234567890", 25, (32 * ROW), 0);
long start = millis();
long timming = start;
boolean flag = false;
while (!flag)
{
if ((timming + 20) < millis())
{
flag = led_module.stepMarquee(-1, 0);
timming = millis();
delay(50);//通过延时时间来调整字幕滚动快慢
}
}
}