用 Arduino 做的 LED Cube

这学期选了一门叫做 “基于开源硬件的电子制作” 的选修课,一开始我还以为用的是 Raspberry Pi 或者 Android Things 之类的东西,没想到是单片机._. 其实之前也没怎么用过单片机,智能车无人机什么的对我来说又太难了,那就用 Led Cube 水一个交了作业么好了。

最近也是在忙学校的 FPGA 实验展示和最后的期末考试,都没什么时间写点东西,心塞塞的。

直接上视频

一开始是计划控制到每个灯的,但是无耐 PWM 信号不能经过译码器扩展 IO 口来传递,想过外加电容之类的但是迫于水平不足,最后作罢,只实现了精确到行的细度控制,而且,这个 mega2560 的主频实在太低了,模拟 PWM 输出占用了大量的 cpu 时间结果都频闪了。之后查了下资料没用它原生的 DigitalWrite 函数,而是直接写到寄存器里,速度改善了很多,起码没有肉眼可见的延迟了。