Todd Nelson Ryan Straily Overview Dimensions 8x8x8, 512 LEDs total Individually Control each LED Microprocessor ATmega 328 (Arduino Uno) Persistence of Vision (POV) Power/Ground Minimal MCU control pins Shift Register Decoder Rapid Cycling EGGN 482 2 Cube Construction Template for LED planes Grounding of planes Construction Connection to transistor Straightening of wire Soldering joints Connecting planes together EGGN 482 3 Circuit Board & Components Shift registers Input signal Clock Decoder Transistors Switches Resistors Current limiting Pull up/Pull down Pull-up resistors 3:8 Decoder Shift Register (x8) NPN transistor Current Limiting Resistors EGGN 482 4 Top Level Circuit Schematic EGGN 482 5 Plane Schematic EGGN 482 6 Row Schematic EGGN 482 7 Arduino Uno Why we picked it Cost Ease of use (USB) ATmega 328 Microcontroller 16 MHz Clock 14 Digital I/O Pins 6 Analog I/O Pins EGGN 482 8 Code Flowchart EGGN 482 9 Variables Global 8x8 char array - cube Stores values to be output to shift registers and corresponding plane # Global int - current_layer Stores which layer the effect is currently on Global delay variable Scales delay times for functions to slow down effects EGGN 482 10 Interrupts Output compare Scaled clock by 256 (6.25 KHz) Interrupt every 100 clock cycles Shifts out all 8 values in 8x8 array Ground selected plane Register C pin change Selects effects program EGGN 482 11 Main Program Series of case statements to select display effect Default is 0, which occurs when reset button pressed After an effect program is selected, it continuously loops until another selection made or reset occurs EGGN 482 12 Effects Load the global array with desired arrangement for a plane Select corresponding plane 1.6ms delay Delay time to allow for viewing Sub-functions Coordinate System EGGN 482 13 Summary 512 LEDs 85 feet of straightened wire Total cost per cube: $150 Hours spent: 180 man hours Building: 140 hours Coding: 40 hours For 3 complete cubes EGGN 482 14 Questions? EGGN 482 15 POV Control 512 LED’s individually with minimal number of MCU pins Interrupt Routines and Hardware Flags Timer System (clock scaling, output compare) Power PWM Advanced C language concepts EGGN 482 16