【花雕学编程】Arduino动手做(220)---P6全彩16X32单元板之实现红绿蓝三色在屏幕上依次点亮

在这里插入图片描述

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毫米。此模块一般被广泛应用于户内或近距离显示的场合,具有较高的分辨率和较清晰的显示效果。

主要特点:

  1. 模块尺寸和像素
    • 显示尺寸:通常每个模块的尺寸是16x32像素,即一个模块由16行32列的小型LED点阵组成。
    • 像素间距:6mm的像素间距,即每个LED点之间的距离为6毫米,适合近距离查看。
  2. 全彩显示:
    • 全彩色:P6模块支持红、绿、蓝三种颜色的混合,通过调节不同的颜色亮度,形成丰富的彩色图像、文字和动画效果。
    • 显示效果:能呈现高质量的图片、视频、文本,适用于动态广告显示和信息广播。
  3. 扫描方式:
    • 8扫描:这表示每个模块的扫描方式为8扫描。扫描方式是指模块在显示时,LED每8行进行一次扫描更新,意味着每次显示的行数是8行,通过扫描显示,减少了电流和驱动电路的压力,保证了显示屏的稳定性和功耗。
    • 驱动IC:常见的P6模块使用的是定制的驱动芯片,如MBI5024,它负责驱动每个LED点的亮灭。
  4. 接口方式:
    • 串口/并口接口:通常通过串口(如UART)或并口(如TTL)来控制P6模块。通过微控制器(如Arduino、Raspberry Pi和ESP32等)进行数据传输和显示控制。
    • 连接方式:多个模块可以通过排线连接形成更大的显示屏,拼接起来达到任意显示尺寸。
  5. 应用场景:
    • 广告牌和电子屏幕:由于其色彩鲜艳,分辨率较高,广泛应用于户内广告、商场展示、车站和机场的公告显示。
    • 动态信息显示:用于显示新闻、天气、公告和实时动态信息。
    • 图像和视频播放:由于支持全彩显示,可以播放图像、动画视频等内容。

典型应用:
• 室内广告牌:商场、车站、电影院、地铁站等地方,用于动态显示广告内容。
• 信息发布系统:用于发布企业、学校、交通、公共场所等的实时信息。
• 创意显示:可以用在舞台、演唱会等场合,作为装饰性显示屏,展示实时画面或动态效果。

在这里插入图片描述
引脚接线设置,主要参考这个

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【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 秒。

实验场景图 动态图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值