LED Cube
By Kyle Goins, Corbett Kaniff, Mitchell Spears, and Leo Wang
Task Delegation:
- Kyle Goins - mbed code for audio signal processing and cube patterns, speaker and 3.5mm input implementation
- Corbett Kaniff - LED cube construction
- Mitchell Spears - SPIO implementation, breadboard wiring, mbed code for audio signal processing and cube patterns
- Leo Wang - Web app and WiFi functionality
Goal:
The overall goal of this project is to construct a 4x4x4 LED Cube that blinks in sync with music. Utilizing a 3.5mm input into the mbed, the cube analyzes the incoming signal and blinks the different layers in sync with the amplitude of the incoming signal. The 3.5mm input also outputs to a speaker amplified by a Class D amplifier, making it so that audio can be played while using the LED Cube.
An SPI IO expander is used to select LEDs to light up. In order to light up a certain LED, its row and column is selected within the code. There are also several patterns available for the cube, all of which can be chosen from a web app that communicates with the mbed using the Adafruit ESP8266 Huzzah WiFi controller.
Hardware:
- mbed LPC1768 Microcontroller
- Class-D Audio Amplifier
- Speaker
- TRRS Analog Input
- Adafruit ESP8266 Huzzah WiFi Controller
- MCP23S17 SPI IO Expander
- LEDs
mbed | huzzah | trrs | Class D Amp | Speaker | MCP23S17 | LED Cube |
---|---|---|---|---|---|---|
p5 | SI | |||||
p6 | SO | |||||
p7 | SCK | |||||
p15 | CS | |||||
p19 | TIP | IN + | ||||
p21 | layer 0 BJT Base | |||||
p22 | layer 1 BJT Base | |||||
p23 | Layer 2 BJT Base | |||||
p24 | Layer 3 BJT Base | |||||
p26 | RST | |||||
p27 | TX | |||||
p28 | RX | |||||
VOUT | VCC | |||||
gnd | gnd | IN - | VDD, A0, A1, A2 | gnd | ||
5V | ||||||
out + | + | |||||
out - | - | |||||
GPIOA0..A7 | ||||||
GPIOB0..B7 | ||||||
Pinout:
Code:
Import programLED_CUBE_web_app
Web app and controls for LED Cube
Web App:
The web app selects which mode the LED Cube uses to sync to the music. Here is a screenshot of the UI:
Picture:
Videos:
Please log in to post comments.