Update

This week, things were going pretty smoothly at first. I followed an open-source tutorial online and a kit I bought, soldering step by step, and I successfully assembled an LED cube.

image.png

image.png

image.png

Until…

eb1eeff5b05b38e41c96e75b181f3eed.jpg

When I started using an Arduino to replace the original microcontroller board and began thinking about how to make it work, I realized this was an

Impossible Mission

Let me first explain what I learned about how an LED cube works:

Frame 2.png

This is one layer of the LED cube. Only when a specific column is driven to the positive terminal and the corresponding row is driven to the negative terminal can a particular LED light up. The cube can actually light only a very limited number of LEDs at once. If you want animation effects (like what I’m trying to do this time), you’re essentially “tricking” human eyes by showing different LEDs at an extremely high refresh rate.

But that means I need 8 pins to precisely control one layer. With 4 layers, I’d need at least 32 pins to fully control the cube. That’s much better than needing 64 pins to control every single LED, but it’s still beyond what an Arduino can realistically handle. (MJ reminded me during last week's class, but I didn't quite get her point.

Possible solutions

1

I immediately thought that using 74HC595N shift-register modules might solve the problem of not having enough pins. A 74HC595N converts serial data into parallel outputs. As long as the Arduino outputs fast enough, the delay introduced by these modules can be ignored.