聚丰项目 > 基于 CH32V103R8 与 WS2812B 点阵显示屏
基于 CH32V103R8 开发板与 WS2812B 点阵模块实现的一个点阵显示屏, 通过 CH343G 高速 USB 转串口与电脑连接, 可以实时显示上位机软件 VideoPixelPicker 播放的视频内容。 因为 WS2812B 不能发出黑色的光, 所以为了提高显示屏的对比度, 在 WS2812B 显示屏 的 LED 灯表面用双面胶贴了一层正反面均打印成黑色的 A4 纸做简单的处理, 这样使 WS2812B 显示屏的显示效果提高了很多, 同时也降低了 WS2812B 的亮度, 让眼睛看起来不 会那么刺眼。
快乐攻城狮
分享快乐攻城狮
团队成员
王志青 队长
袁宏 成员
CH32V103RB 开发板+WS2812B+CH343G 高速 USB 转串口, CH343G 高速 USB 转串口的最
大波特率可以达到 6Mbps, WS2812B 组成的屏幕分辨率为 48*48, 这个传输带宽可以显示
一个低分辨率的视频图像。
WS2812B 的连接方式: 首先由 8*8 个 LED 组成一个最小单元, 再由 3*3 个(8*8) LED
单元组成一个中单元, 最后由 4 个中单元最后组成一个 48*48 的大单元。
CH32V103R8 软件实现
1, 初始化串口 :
串口使用 USAR1, 引脚为 PA9, PA10 采用 DAM 的方式(DMA1_Channel5)接收上位机
软件发送过来的数据。
波特率设置 1Mbps 8 N 1,传输速率为 100000Bytes/S, 48*48点阵屏一帧数据大小为 48*48*3
(RGB888) = 6912Bytes , 100000Bytes/S 的传输速度可以满足播放视频的最大帧率为
100000/6912>14 帧, 这个带宽能够把把视频的帧率降为 14 帧以下播放。
2, 初始化定时器:
WS2812B 采用定时器 PWM+DAM 的方式驱动显示。 使用 TIM3, DMA1_Channel3.
使 用 TIM3_CH1(PA6),TIM3_CH2(PA7),TIM3_CH3(PB0),TIM3_CH4(PB1) 来 分 别 驱 动
WS2812B 显示屏的的四个中单元。
上位机播放软件 VideoPixelPicker
VideoPixelPicker 的功能是对视频文件进行采样, 将采样后的像素数据发送到下位机进行显
示。
VideoPixelPicker 使用 C# WinForm 开发, 用 OpenCVSharp 解码视频文件, 使用指定采样分辨
率和采样间隔对视频图像进行采样, 然后将采样的 RGB 数据进行打包, 之后通过串口发送到下
位机进行处理显示。 像素数据发送时分块进行发送, 并且可以更改像素块的发送顺序。 方便下位
机将不同的像素块发送到不同通道的 WS2812B 子屏上。
VideoPixelPicker 与下位机传输的像素数据具有两种格式 RGB888 和 RGB565。 使用 RGB565 可
有效降低帧数据量, 提高传输速度, 适应更高分辨率的 WS2812B 点阵屏。
VideoPixelPicker 可修改采样分辨率, 以适应不同分辨率的 WS2812 点阵屏。 可修改帧率, 以
改变播放速度。 可修改串口波特率适应不同的传输速率。 在播放时可以显示采样点, 可以方便查
看, 对哪些位置进行采样的。
VideoPixelPicker 支持多种视频格式文件, 并且支持 Gif 图片文件播放
其中 CH32V103R8 和 VideoPixelPicker 的代码均已开源上传到了 Gitee 仓库中,
链接地址: https://gitee.com/happylion/ws2812b_array_display
显示屏演示效果连接:https://www.bilibili.com/video/BV1W44y1E7jA/
演示视频:
上位机播放软件软件 VideoPixelPicker 使用方法
1. 双击 VideoPixelPicker.exe 打开上位机软件
2. 设置所使用的串口把鼠标指针移动到 VideoPixelPicker 串口中, 单击鼠标右键, 选择串口->COM(选择自己使用的串口)。
3. 设置串口波特率为1Mbps。4.设置视频的播放帧率为10帧/S,注意这个帧率的大小和串口通信的波特率以及采样分别率相关,这几个参数的设置组合不能超过串口通信的最大传输带宽。
5.设置帧格式RGB888。
6. 设置采样分辨率行48,列48,采样分辨率为屏幕的大小,是8*8的整数倍。VideoPixelPicke播放软件会把打开的视频或者GIF动画按照设置的分辨率采样并把数据发送给CH32V103R8开发板。
7. 设置数据块的发送顺序,数据块以 8*8 个 LED 大小为一包数据发送。 数据块的发送顺序设置和 WS2812B 的接线顺序有关。
8. 打开要播放的视频, 视频支持播放 MP4、FLV、MKV 等格式。
9. 也可以打开需要播放的 GIF 动图,GIF动图可以循环播放。
(0.40 MB)下载