潜力变实力 发表于 2022-5-4 08:12

基于RT-Thread和N32G457的RGB点阵屏

1.作品介绍
- 硬件部分:
使用32*32 P5 RGB LED 屏,HUB接口,1/16扫描,之前淘宝 20块买了两块,没事就拿出来玩玩又放回去,一直没有把这个做成实用的
HUB75复制



[*]┌─────────┐
[*]
[*]│ R1G1│   MTX_PR0 MTX_PG0
[*]
[*]│ B1GND │   MTX_PB0
[*]
[*]│         │
[*]
[*]│ R2G2│   MTX_PR1 MTX_PG1
[*]
[*]└┐B2GND │   MTX_PB1
[*]
[*]│      │
[*]
[*]┌┘A0A1│   MOVE_IOA MOVE_IOB
[*]
[*]│ A2AEX │   MOVE_IOC MOVE_IOD
[*]
[*]│         │
[*]
[*]│ CLK LOCK│   MTX_PCLK MTX_PLOCK
[*]
[*]│ OEGND │   MTX_POE
[*]
[*]└─────────┘

复制代码




显示原理:
32X32 RGB LED被分为 上下2部分 上半部分有R1 G1 B1输入信号,下半部分由R2 G2 B2输入信号,每部分16横行,由A0 A1 A1 A3,选择一行显示,通过串行输入RGB信号32次,显示一行, 重复16次,利用人眼视觉暂留效应,刷新频率大于60HZ,就可以全屏扫描显示,控制LED颜色,要么是电流控制需要每个灯都是独立控制,节约成本PWM控制,R255 G255 B255 8位 显示颜色,LED灯只有开关状态,我们需要在每横行显示增加PWM控制,即显示横行时,将RGB值分为8Bit,循环显示8次,每次延时时长2^N递减,依次类推 就可以显示灰度图
接线定义复制



[*]MTX_PR0———->PA0
[*]
[*]MTX_PB0———->PA1
[*]
[*]MTX_PG0———->PA2
[*]
[*]
[*]
[*]MTX_PR1———->PE8
[*]
[*]MTX_PB1———->PE9
[*]
[*]MTX_PG1———->PE10
[*]
[*]
[*]
[*]MTX_PCLK ——->PB0
[*]
[*]MTX_PLOCK——->PB1
[*]
[*]MTX_POE——->PB2
[*]
[*]
[*]
[*]MOVE_IOA———->PC0
[*]
[*]MOVE_IOB———->PC1
[*]
[*]MOVE_IOC———->pc2
[*]
[*]MOVE_IOD———->PC3
[*]

复制代码




注意: MTX_POE IO口此位置焊接一个 10K上拉电阻,避免烧录程序时乱信号输入显示,电流过大导致坏点,别问我怎么知道到软件部分
[*]使用RT-thread 不适合刷RGB 点阵屏,中断太多耗时,但是比赛要求使用,只能修改代码了
[*]一个主线程,2个定时器,空闲线程,控制台线程,系统OS tick 50HZ 20ms中断一次
[*]

[*]空闲线程:用钩子函数调用,LED显示部分,内部直接调用寄存器控制IO输出,中断锁上,避免中断导致显示高亮闪烁,

[*]

[*]定时器1:每秒 控制台输出显示帧率,需要时开启,70HZ左右

[*]

[*]定时器2:20MS 扫描依次按键, KEY1 切换显示DEMO KEY2 切换DEMO内图片,KEY3 开关显示

[*]

[*]主线程:显示切换 显示缓存刷新计算等

[*]动画取模可以到这个网站抓包解析数据 https://pixel.divoom-gz.com/#/
[*]淘宝有对应产品卖
2.创新性
[*]好像没啥创新点,都是参考别人到设计代码,我只是综合利用罢了,
[*]本人一直想用STM32驱动32X32点整屏 ESP8266后台访问网页,爬取divoom的图片,显示到这个屏幕上,或者直接PoJie divoom APP设置显示
[*]还有一个比较好玩到开源应用,利用重力感应,屏幕小点随机碰撞显示,不过别人是用ZYNQ+FPGA做的
3.实用性
[*]divoom 点音别人已经做成产品了,
[*]P5 32X32淘宝上也有卖,放在车后
4.技术性
[*]多多参考别人到的代码,多多学习一下
显示效果下如图 照片拍出来没有实际效果好





演示视频地址:
【RGB点阵屏演示-哔哩哔哩】
源码地址:
https://gitee.com/miwang186/rgb_led_array

参考代码**地址:
http://www.**/d/1065868.html
http://bbs.mydigit.cn/read.php?tid=1721594
https://github.com/pulsar256/STM32RGBMatrixDriver
https://github.com/xupenghu/STM32RGBMatrixDriver
https://github.com/hzeller/rpi-rgb-led-matrix

yangjiaxu 发表于 2022-7-31 11:15

RTT还没用过,但是感觉MCU上操作系统真的是爽爆了,简单的不得了
页: [1]
查看完整版本: 基于RT-Thread和N32G457的RGB点阵屏