Build a Spinning Mechanical TV with a Raspberry Pi Pico

Build a Spinning Mechanical TV with a Raspberry Pi Pico

用树莓派 Pico 打造一台旋转式机械电视

Want a weekend build that turns five LEDs and a spinning disk into a working video screen? Here’s the shopping list before anything else: a Raspberry Pi Pico, one small stepper motor, an A4988 stepper driver to run it, five LEDs (four white and one RGB), and a disk you can drill 20 tiny pin holes into. That’s the whole bill of materials for a modern mechanical television, and it costs less than most people spend on lunch for a week. 想要一个能把五个 LED 灯和一个旋转圆盘变成工作视频屏幕的周末制作项目吗?在开始之前,请准备好这份购物清单:一个树莓派 Pico、一个小型步进电机、一个用于驱动电机的 A4988 步进驱动器、五个 LED 灯(四个白色,一个 RGB)以及一个可以钻出 20 个微小针孔的圆盘。这就是打造一台现代机械电视所需的全部材料,其成本甚至低于大多数人一周的午餐费用。

What the Scanwheel actually is

什么是 Scanwheel?

Maker James Brown, who goes by “Ancient,” rebuilt a 1920s idea with parts you can buy today. Early mechanical TVs used a spinning perforated disk (a Nipkow disk) to scan an image line by line. His Scanwheel does the same thing, except the Pico handles the timing that used to need finicky electromechanical gear. The LEDs stay fixed in the center behind dividers that stop light from bleeding between them. The disk spins in front, and light only escapes through the pin holes. 创客 James Brown(网名“Ancient”)利用当今随处可见的零件,重现了 20 世纪 20 年代的构想。早期的机械电视使用旋转的穿孔圆盘(尼普科夫盘)来逐行扫描图像。他的 Scanwheel 实现了同样的功能,不同之处在于,过去需要复杂机电装置才能完成的定时工作,现在由 Pico 来处理。LED 灯固定在中心,后方设有隔板以防止光线在灯珠间溢出。圆盘在前方旋转,光线仅能通过针孔射出。

How 5 LEDs paint 20 rows

5 个 LED 如何绘制 20 行图像

The clever part is the pin-hole spiral. There are 20 holes arranged around the circumference, each one slightly offset in radius. When the top hole sweeps past an LED, the Pico blinks that LED to draw the top row of pixels. When the next hole passes, it draws the second row, and so on down all 20 rows. That gives you a 20-pixel-tall image from a single LED. Horizontal resolution isn’t fixed at all, it’s a function of spin speed and how fast you can modulate the GPIO pins, which is why the width reads as ”??? x 20.” This is persistence of vision doing the heavy lifting: the LEDs switch far faster than your eye can follow, so the rows fuse into one solid picture. The A4988 driver keeps the stepper spinning at a steady rate so the timing stays locked. Four of the five LEDs are white; only the center one is RGB, so color lives in a single channel. 最巧妙的部分在于针孔的螺旋排列。圆周上排列着 20 个孔,每个孔的半径略有偏移。当最上方的孔扫过 LED 时,Pico 会控制该 LED 闪烁以绘制第一行像素。当下一个孔经过时,它会绘制第二行,以此类推,直到完成全部 20 行。这意味着单个 LED 就能呈现出 20 像素高的图像。水平分辨率并非固定,它取决于旋转速度以及 GPIO 引脚的调制速度,这就是为什么宽度显示为“??? x 20”的原因。这是视觉暂留效应在起作用:LED 的切换速度远超人眼捕捉极限,因此各行图像融合为一幅完整的画面。A4988 驱动器确保步进电机以恒定速率旋转,从而锁定定时。五个 LED 中有四个是白色的,只有中心的一个是 RGB 灯,因此色彩仅存在于单一通道中。

Why it’s worth a Sunday

为什么值得花一个周日去尝试

The best detail is how it scales. Want more resolution? Make the wheel bigger and drill more pin holes. Nothing in the code changes conceptually, you just add more rows to the scan loop. For an ECE or robotics student, this is a compact lesson in stepper control, interrupt timing, and how displays actually work under the hood, all for the price of a Pico and a handful of LEDs. Full build notes and video are on the Hackster writeup. Grab a Pico from circuit.rocks and start drilling. 最棒的细节在于它的可扩展性。想要更高的分辨率?把圆盘做大一点,多钻几个针孔就行。代码在概念上无需任何改动,只需在扫描循环中增加行数即可。对于电子工程或机器人专业的学生来说,这是一个关于步进电机控制、中断定时以及显示器底层工作原理的精简课程,而成本仅仅是一个 Pico 和几个 LED 灯。完整的制作笔记和视频可以在 Hackster 的文章中找到。从 circuit.rocks 买个 Pico,开始动手钻孔吧。