37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。
知识点:P10(1R)V706模组32X16 LED显示屏
查看P10(1R)V706模组的芯片(手头上是厦门强力巨彩的产品)
大致看了相关芯片,板上主要是SM74HC595D,其他还有SD74HC245D等
技术资料链接
https://www.doc88.com/p-0022544129712.html?r=1
https://www.renrendoc.com/paper/176283428.html
P10单红V706模组 32*16单元板LED显示屏技术参数
1.物理点间距:10mm
2.物理密度:10000dots / m ^ 2
3.发光强度:2200cd / m ^ 2
4.单元板尺寸:320 * 160mm
5.电池板编号:512
6.小提琴组成:1R1G1B
7.单位板重:362g
8,最佳球场:> = 10 m
9.最佳视角:水平+ -80度,垂直+ -75度
10.驱动方式:恒流驱动,动态
11.扫描方式:1/2 sca
12.单元板接口:HUB 73
14.工作电压:DC 5V + -5%
15.平均功耗:16W
16.最大功耗:<= 27w
17.发光灯寿命:100000小时
P10(1R)V706模组32X16单红LED显示屏实验所需硬件清单
25CM电源线X1
5V2A实验电源X1
5V4A实验电源X1
DS1307时钟模块X1
Arduino Uno开发板 X1
LED显示屏P16双头排线X2
HUB12接口UNO扩展板(自制的)X1
P10(1R)V706模组32X16 LED显示屏X2
以Proto Shield 原型扩展板为主,加装二只P16插座,便于做实验
做好的是这样(P5排插座是DS1307时钟模块的接口)
Arduino参考开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百一十七:P10单红V706模组 32*16单元板LED显示屏
项目1:具有动态内容的静态显示(随机变化的三位数字)
*/
#include
#include "SPI.h"
#include
LedP10 myled;
void setup(){
// A- 3, B- 4, STORE- 8, OE-9, 1x Panel
myled.init(3,4,8,9,1);
}
void loop(){
int sensorValue = analogRead(A0);
myled.showmsg_single_static(sensorValue,1);
delay(500);
}
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百一十七:P10单红V706模组 32*16单元板LED显示屏
项目2:显示一个整数计数器值
*/
#include "TimerOne.h"
#include "SPI.h"
#include "ledP10.h"
int num1=0;
LedP10 myled;
void setup(){
myled.init(3,4,8,9,1);
}
void loop() {
if(num1==50){
myled.setbrightness(50);
}
myled.showmsg_single_static(num1,0);
num1+=1;
delay(500);
}
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百一十七:P10单红V706模组 32*16单元板LED显示屏
项目3:显示两个高度为8像素的计数器
*/
#include
#include"SPI.h"
#include
int num1=0,num2=1;
LedP10 myled;
void setup(){
myled.init(3,4,8,9 ,1);
}
void loop(){
myled.showmsg_double_static(num1,num2,0);
num1+=1;
num2+=2;
delay(500);
}
Arduino实验场景图
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百一十七:P10单红V706模组 32*16单元板LED显示屏
项目4:亮度控制
备注:functon&lt; setbrightness(uint8_t Brightness)&gt;的使用,此函数
采用uint8_t类型的一个参数,其值可以是0到255,亮度最高是255,最低是0。可
以在调用LedP10库的任何其他函数之后或之前的任何时间调用此函数。
在此示例中,当计数器“ num1”达到值50时,亮度降低。
*/
#include "TimerOne.h"
#include "SPI.h"
#include "ledP10.h"
int num1=0;
LedP10 myled;
void setup(){
myled.init(3,4,8,9 ,1);
}
void loop(){
if(num1==50)
{
myled.setbrightness(50);
}
myled.showmsg_single_static(num1,0);
num1+=1;
delay(500);
}
Arduino实验场景图