37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百二十:P6全彩LED模组16X32显示屏单元板 P6-RGB-16X32-8S室内全彩8扫电子屏(HX-P6-16X32-A)
P6全彩LED模组 16x32显示屏单元板是一种常用的LED显示屏模块,常用于广告牌、信息显示、指示牌以及其他需要显示动态图像、文字和视频的场景。P6代表着LED像素的间距为6mm,表示每个LED像素点之间的距离为6毫米。此模块一般被广泛应用于户内或近距离显示的场合,具有较高的分辨率和较清晰的显示效果。
主要特点:
- 模块尺寸和像素
• 显示尺寸:通常每个模块的尺寸是16x32像素,即一个模块由16行32列的小型LED点阵组成。
• 像素间距:6mm的像素间距,即每个LED点之间的距离为6毫米,适合近距离查看。 - 全彩显示:
• 全彩色:P6模块支持红、绿、蓝三种颜色的混合,通过调节不同的颜色亮度,形成丰富的彩色图像、文字和动画效果。
• 显示效果:能呈现高质量的图片、视频、文本,适用于动态广告显示和信息广播。 - 扫描方式:
• 8扫描:这表示每个模块的扫描方式为8扫描。扫描方式是指模块在显示时,LED每8行进行一次扫描更新,意味着每次显示的行数是8行,通过扫描显示,减少了电流和驱动电路的压力,保证了显示屏的稳定性和功耗。
• 驱动IC:常见的P6模块使用的是定制的驱动芯片,如MBI5024,它负责驱动每个LED点的亮灭。 - 接口方式:
• 串口/并口接口:通常通过串口(如UART)或并口(如TTL)来控制P6模块。通过微控制器(如Arduino、Raspberry Pi和ESP32等)进行数据传输和显示控制。
• 连接方式:多个模块可以通过排线连接形成更大的显示屏,拼接起来达到任意显示尺寸。 - 应用场景:
• 广告牌和电子屏幕:由于其色彩鲜艳,分辨率较高,广泛应用于户内广告、商场展示、车站和机场的公告显示。
• 动态信息显示:用于显示新闻、天气、公告和实时动态信息。
• 图像和视频播放:由于支持全彩显示,可以播放图像、动画视频等内容。
典型应用:
• 室内广告牌:商场、车站、电影院、地铁站等地方,用于动态显示广告内容。
• 信息发布系统:用于发布企业、学校、交通、公共场所等的实时信息。
• 创意显示:可以用在舞台、演唱会等场合,作为装饰性显示屏,展示实时画面或动态效果。
引脚接线设置,主要参考这个
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百二十:P6全彩LED模组 16X32显示屏单元板 P6-RGB-16X32-8S室内全彩8扫电子屏(HX-P6-16X32-A)
项目二:P6全彩16X32单元板之实现红、绿、蓝三种颜色在屏幕上依次点亮
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百二十:P6全彩LED模组 16X32显示屏单元板 P6-RGB-16X32-8S室内全彩8扫电子屏(HX-P6-16X32-A)
项目二:P6全彩16X32单元板之实现红、绿、蓝三种颜色在屏幕上依次点亮
*/
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#include <Adafruit_GFX.h>
// 创建配置对象(32x16,1块面板)
HUB75_I2S_CFG mxconfig(32, 16, 1);
// 设置引脚连接
void setupPins() {
mxconfig.gpio.r1 = 25; // 红色通道引脚
mxconfig.gpio.g1 = 26; // 绿色通道引脚
mxconfig.gpio.b1 = 27; // 蓝色通道引脚
mxconfig.gpio.a = 23; // 地址 A 引脚
mxconfig.gpio.b = 19; // 地址 B 引脚
mxconfig.gpio.c = 5; // 地址 C 引脚
mxconfig.gpio.d = 17; // 地址 D 引脚
mxconfig.gpio.lat = 4; // 锁存引脚
mxconfig.gpio.oe = 15; // 输出使能引脚
// 如使用不同的时钟引脚,请取消注释并设置
// mxconfig.gpio.clk = ...;
}
// 创建矩阵对象
MatrixPanel_I2S_DMA matrix(mxconfig);
void setup() {
setupPins(); // 设置引脚
matrix.begin(); // 初始化矩阵
matrix.setBrightness8(30); // 设置亮度(0~255)
matrix.fillScreen(matrix.color565(0, 0, 0)); // 清屏,填充黑色
}
void loop() {
// 显示红色
matrix.fillScreen(matrix.color565(255, 0, 0));
delay(1000); // 延迟1秒
// 显示绿色
matrix.fillScreen(matrix.color565(0, 255, 0));
delay(1000); // 延迟1秒
// 显示蓝色
matrix.fillScreen(matrix.color565(0, 0, 255));
delay(1000); // 延迟1秒
}
简单解读
你的代码使用 ESP32-HUB75-MatrixPanel-I2S-DMA 库控制 P6 16x32 LED 面板,核心功能如下:
初始化 LED 矩阵
设定 GPIO 引脚(如 r1, g1, b1 控制颜色)。
调用 matrix.begin() 启动 LED 屏幕。
设置亮度
matrix.setBrightness8(30); 设定屏幕亮度(范围 0-255)。
循环显示颜色
matrix.fillScreen(matrix.color565(R, G, B)); 设置屏幕颜色。
依次显示 红 → 绿 → 蓝,每种颜色保持 1 秒。
实验场景图 动态图