DIY 视觉暂留 (POV) 球体:Arduino Mega 驱动的 LED 光绘艺术
组件与材料
| 组件 | 数量 |
|---|---|
| Arduino Mega 2560 | 1 |
| Adafruit NeoPixel 环形模块 (WS2812 5050 RGB LED) | 1 |
| 330Ω 电阻 | 1 |
| 接近传感器 (霍尔/光电) | 1 |
| 直流减速电机 | 1 |
| 开放式滚珠轴承 625 2RS (5×16×5mm) | 1 |
| 3D 打印结构件 | 1 套 |
所需工具
- 3D 打印机
- 电烙铁
项目简介
大家好,今天分享一个视觉暂留 (POV) 球体项目。
POV 原理:交流电灯以 50/60Hz 频率闪烁,人眼视觉暂留效应使其看似持续发光。利用这一原理,单排高速旋转的 LED 可在空间中“绘制”出球面图像。本项目每半圈 58 颗 LED,共 116 颗,配合 3D 打印圆环与电机旋转,形成球形显示面。详细制作过程见视频。
代码
使用 FastLED 库驱动 WS2812B,通过中断检测霍尔传感器同步每转位置,按预存图案数组 kalp[40][75] 逐列点亮 LED,形成心形等图案。
#include "FastLED.h"
#define NUM_LEDS 58
#define DATA_PIN 6
unsigned char i, m;
unsigned int wait = 1;
unsigned int wait2 = 10;
byte hall = 0;
CRGB leds[NUM_LEDS];
// 40行 x 75列 图案数组 (1=亮, 0=灭)
bool kalp[40][75] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
// ... 此处省略中间 36 行,完整数组请见源码 ...
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
attachInterrupt(1, LEDiyak, RISING); // 数字引脚 3 (中断 1) 接霍尔传感器
for (int i = 0; i < 58; i++) leds[i] = CRGB::Black;
FastLED.show();
}
void LEDiyak() {
hall++;
if (hall > 2) hall = 0;
}
void loop() {
if (hall > 0) {
for (m = 0; m < 75; m++) {
for (i = 0; i < 40; i++) {
if (kalp[i][m] == 1) leds[i + 7] = CRGB::Green;
else leds[i + 7] = CRGB::Blue;
}
FastLED.show();
delayMicroseconds(wait);
}
for (int i = 0; i < 58; i++) leds[i] = CRGB::Blue;
FastLED.show();
delayMicroseconds(wait2);
for (int i = 0; i < 58; i++) leds[i] = CRGB::White;
FastLED.show();
delayMicroseconds(wait2);
}
}
原理图

制造工艺
- Arduino POV 时钟:自制视觉暂留 LED 显示器
- 定制 4×4 井字棋名片 PCB – 设计、制作与代码指南
- 多位置温度传感器系统,助力智能家居集成
- 862D+ 电烙铁 DIY 智能温控器:精准可靠,低成本替代方案
- MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
- 3D 打印机防火卫士:智能传感器安全系统
- 自制便携式视觉暂留显示器:Arduino UNO 与 ATtiny85
- 基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
- Arduino 简易排斥式磁悬浮:电路与 DIY 指南
- 进阶遥控夹爪机器人:精密抓取 DIY 指南
- 高性能 Arduino 气象气球数据记录器
- CoroFence 热成像检测器:Panasonic GridEye + PIR + IoT 集成