亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

项目简介

这是我的第一个 Arduino 项目,灵感来源于多个制作者的 POV(视觉暂留)球体显示项目 [2,3,4]。

视觉暂留 是指人眼将多个离散图像融合为单一图像的光学错觉,被认为是电影和动画动态感知的解释 [1]。

参考项目 [2,3,4] 采用离散 LED 和移位寄存器实现 POV 球体显示,而我的装置使用旋转圆柱体和现成的 RGB LED 灯带作为 POV 显示屏。

主要特性

技术规格

机械结构

机械结构如下图所示。装置由底盘和转子两部分组成。

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

底盘由两块圆形胶合板圆盘通过三根螺纹杆连接,圆盘间距 120 mm。中间装有两个滚珠轴承和轴(同样使用螺纹杆)。轴通过两个伞齿轮和一个同步带由电机驱动,转速高达 1300 RPM(22 Hz)。

转子由两个泡沫塑料圆柱和两个圆形铝盘组成。泡沫圆柱粘接在下盘上,上盘可拆卸,用于将转子固定在轴上。

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

电子模块位于转子上部,包括:

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

电源(7.5V)通过滑动触点和集电环馈送至电源板。四条 LED 灯带共 40 个 RGB LED,通过线缆连接到 Arduino 扩展板。

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

四条 LED 灯带按下图布局放置。通过四条错位排列的灯带,Y 轴方向上 LED 间距缩减为 1/4,X 轴方向由软件控制。软件每转更新所有 40 个 LED 151 次。图中网格对应可见像素。

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

电子电路

电子电路详见附件 PDF 原理图。

电源板采用 LM317 稳压器,输入 7.5V,输出 4.6V,为 Arduino Due 和 LED 灯带供电。

自制扩展板包含 LED 灯带连接器和红外接收电路。红外接收器用于检测转子位置,连接至 Arduino 的定时器/中断输入引脚。

四条 LED 灯带命名为 STRIP0 至 STRIP3,每条含 5 个 LPD8806 驱动芯片和 10 个 RGB LED。STRIP0 接 USART0,STRIP1 接 USART1,均以 SPI 模式工作。STRIP2 和 STRIP3 串联后由 Arduino 的 SPI 接口驱动。

HC-06 蓝牙模块接 USART3,由 Arduino 提供的 3.3V 供电,用于与 PC 通信。

Arduino 软件

Arduino 软件由主程序(mpc.ino)和以下库组成:

图片向 LED 灯带的周期性输出由中断驱动。使用两个翻转帧缓冲,每个缓冲存储一幅 40 × 151 像素的图像,每像素为一字节调色板索引。一个缓冲通过中断和 DMA 输出到 LED 灯带,另一个由主程序准备(如解码 GIF)。帧中断例程负责翻转缓冲。

每转产生一帧中断,由红外传感器触发。帧中断例程通过硬件定时器测量转速,并编程周期性列中断(每列一个,即每转 150 次中断)。列中断例程将当前列数据输出到 LED 灯带。为提升性能,输出通过三个并行工作的 DMA 通道完成。

完整 Arduino 源代码可在 GitHub 获取。

PC 控制程序

PC 控制程序(pccp)是运行在 Cygwin 下的 C++ 命令行工具,通过蓝牙与 Arduino 通信。支持以下单字符命令:

pccp 还提供图形用户界面接口,并显示当前转速(Hz 和 µs)及帧计数器值。完整源码见 GitHub。

图形用户界面

GUI 为通用 Windows 应用,允许选择要显示的 GIF 文件。该应用源自“Microsoft Windows Universal Samples”中的 FilePicker 示例 [5]。完整源码见 GitHub。

用 Arduino Due 制作炫酷 POV 圆柱显示器——分步指南

参考资料

  1. https://en.wikipedia.org/wiki/Persistence_of_vision
  2. RGB LED GLOBE - POV - 40 x 200
  3. POV Globe Display RGB
  4. POV Globe Display RGB - 项目描述(德语)
  5. https://github.com/Microsoft/Windows-universal-samples

代码仓库

原理图

原理图请参考附件 PDF 文件。

制造工艺

  1. Arduino POV 时钟:自制视觉暂留 LED 显示器
  2. 用 Arduino Nano 和 Nokia 5110 LCD 自制 20kHz 示波器:简易 DIY 指南
  3. 智能窗帘:基于Arduino与太阳能的自动光控系统
  4. Arduino Due 触摸屏井字棋游戏 — 人机对战
  5. 智能存钱罐:Arduino Nano 控制硬币识别器实现余额显示
  6. 意大利语单词时钟:Arduino Nano + NeoPixel 144 灯珠 + LCD + RTC 打造
  7. Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
  8. 自制简易红外避障传感器:IR LED + 光电二极管 + Arduino
  9. 基于Arduino MKR Fox 1200构建可靠Sigfox千瓦时电表
  10. 蓝牙温度监测仪:Arduino Nano + NTC 热敏电阻 + HC-06 无线传输
  11. Arduino UNO + 以太网盾板实现低成本太阳辐射测量仪(热电堆原理)
  12. 为Arduino构建隔离模拟输入电路