Sie sind auf Seite 1von 16

CHAPTER 1

INTRODUCTION
This project takes the simple concepts of LED light in three dimensions. This visual LED cube
(3D LED light) consists of a 8x8x8 array of LEDs that is able to display low-resolution images.
The primary hardware design goal was to come up with a way to control all 512 LEDs using the
least amount of wires and components necessary but without sacrificing performance and
controllability of the cube. This project has no definitive endpoint. An endless number of
animations can be created. The LED cube is a viable commercial product with limitless potential
in design applications. Construct an 8x8x8 Single color LED Cube and light up LED Cube

in different patterens. 8x8x8 LED Cube auto and Acoustic signal.


Back in the 70s there was a novel possession found in almost every best room, this glorious
device was the Lava Lamp. This object has had a great impact on pop culture ever since. Fast
forward 40 years and Lava Lamps have essentially gone extinct. Now is the time to revive the
idea of this eye pleasing lamp and update it with technology from the 21st century. We
proudly present the LED Cube.Weve modernize the lava lamp. This device consists of 512
LEDs formed in an 8x8x8 cube.
LED technology is more advanced and much more efficient than traditional incandescent
light bulbs and as such our team decided we wanted to build a device related to LEDs.
An LED cube is capable of displaying 3D animations and lighting patterns with much
increased complexity compared to any 2D display of comparable resolution.
Arduino is open source hardware with arduino software for programming. Arduino board
is a programmable device which can be used to develop interactive object, taking inputs
from a variety of switches and controlling a variety of lights, motors, and other physical
outputs according to the program burn in it. It is a simple microcontroller board IC
ATmega8 which is 8 bit microcontroller. We will interface it with 8 shift register and
transistor.

1.1BACKGROUND OF THE PROJECT


Construct an 4x4x4 Single color LEDs Cube and light up LEDs Cube in different patterns.

The objective of the electronic hardware will be to have control of the 64 LEDs. In order
to minimize the number of traces from the LEDs, a unique wiring scheme was
implemented instead of each LED having its own power and ground.
The wiring scheme that will be implemented is in the following figure. All of the anodes
within each of the 16 columns (4 LEDs per column) are connected together and share
power. All of the cathodes within each of the 4 rows (16 LEDs per row) will be
connected together and share grounds. Total there will be 16 power columns and 4
ground rows. This scheme allows for control of each LED and reduces the amount of
connections from 128 (64 power, 64 grounds) to 20 connections (16 power, 4grounds).

Fig.1.1 System Block Diagram

NE555 TIMER- The 555 timer IC is an integrated circuit (chip) used in a variety of timer,
pulse generation, and oscillator applications. The 555 can be used to provide time delays, as
an oscillator, and as a flip-flop element. It will provide the clock pulses for the 4020 IC.
4020 IC- 4020IC is a 14 stage binary counter with a clock input buffer output the
counter 6+advances on the high to low transition of clock pulse. A feature of this device
is its high speed. It operates o0ver a recommended power supply of 3v to 5v .

CHAPTER 2
LITERATURE SURVEY
For the accomplishment of this project work, we have studied many articles, blogs and
papers on the related topics of the Arduino, shift register .Since we have interfaced the
Arduino board with shift register.
3D LED cube is a evolution from 2D display. Before this, 2D display is usually used in
many electronic devices to display something. After that, 3D takes a part on the
electronic technology world.
The first era of 3D LED cube is built the 8x8x8 pocket LED. It just use 512 LED to
shown some text display or interactive design. The cube's 3D with use 512 LEDs, the
design or text that display is not too clear. It runs using a PIC16F690 and a piece of
software written in VB.NET.
After that, 4x4x4 LED CUBE has been introduced. 64 LED s has been used to show the
3D view. Many type of controller can be used to develop this project. PCB is one of the
controller that been used. For example, Atmel Atmega16 microcontroller and AVR
microcontroller. Each LED can be addressed individually in software, enabling it to
display amazing 3d animations. On the programming side, many type of coding can be
built for this project such as FPGA, mat lab and c language.
Now 5x5x5 3D LED CUBE with 125 LED s has been choosing for this project. It has
two ways can be choose as controller for this projct. Whether by PIC16F877A or by
arduino controller board. Have a same concept, but with a different works. C language
with hex files will be use to run the program. The reason why will choose C language
because it related with microcontroller interfacing subject that had been taken for all
electric and electronic student in UniKL BMI. MATLAB IDE will be use as software to
run this program. This unique way of displaying messages is a very eye catching and
much more stand out compared to the two dimensional normal panel displays

CHAPTER 3
BASIC SYSTEM ORGANISATION
This project is being done to display the different patterns of an using shift register and
get the output on LED cube. We have used the Arduino Board interfaced with shift
register to do so. The objective of our project is:- Construct an 8x8x8 Single color Led
Cube and light up LED Cube in different patterens with auto and acoustic signal.
3.1 INTRODUCTION OF LED CUBE
A LED cube is like a LED screen, but it is special in that it has a third dimension, making it
3D. Think of it as many transparent low resolution displays. In normal displays it is normal to
try to stack the pixels as close as possible in order to make it look better, but in a cube one
must be able to see trough it, and more spacing between the pixels is needed.Since it is a lot
more work making a LED cube than a LED display, they are usually low resolution. A LED
display of 8x8 pixels are only 64 LEDs, but a LED cube in 8x8x8 is 512 LEDs, an order of
magnitude harder to make! This is the reason LED cubes are only made in low resolution.

Fig.3.1.1 8x8x8 LED CUBE

3.2 BLOCK DIAGRAM

Fig no 3.2 basic block diagram

3.3Microcontroller 8051
Apart from 8051, 8052 and 8031 complete the 8051 family. The 8052 microcontroller has
256 bytes of RAM and 3 timers. Programs written for 8051 projects can be used for 8052 as
well. The 8031 has all features of 8051 except that it is ROM-less. An external ROM that is
as large as 64 k bytes can be programmed and added to this chip for execution. The main
disadvantage of adding external ROM is that 2 out of 4 ports are used up leaving less for I/O
operations.
The different types of memory used in 8051 are:
i. Internal RAM Located from address 0 to 0xff.
ii. Special Function Registers (SFR) Located from address 0x80 to 0Xff.
iii. Program Memory Located at address 0. Uses 16 bit Special Function Register DPTR, to
save the tables of constants.
iv. External Data Memory Located at address 0. Uses MOVX (Move External) to access the
external data memory.
8051s history dates back to when Intel Corporation first built the 8 bit microcontroller in
1981. This microcontroller was referred as system on a chip because it had 128 bytes of
RAM, 4 Kbytes of ROM, 2 Timers, 1 Serial port, and four ports on a single chip.

Intel permitted other microcontroller manufacturers to fabricate different versions of 8051


with the condition that code compatibility should be maintained. The advantage of this is that
when the program is written, it can be used for any version of 8051 irrespective of
manufacturer.

3.4 LATCH 74HC574


The 74HC574; 74HCT574 is a high-speed Si-gate CMOS device and is pin compatible
with Low-power Schottky TTL. It is specified in compliance with JEDEC standard no.
7A. The 74HC574; 74HCT574 are octal D-type flip-flops featuring separate D-type
inputs for each flip-flop and 3-state outputs for bus-oriented applications. A clock (CP)
and an output enable (OE) input are common to all flip-flops. The 8 flip-flops will store
the state of their individual D-inputs that meet the set-up and hold times requirements on
the LOW-to-HIGH CP transition. When OE is LOW the contents of the 8 flip-flops are
available at the outputs. When OE is HIGH, the outputs go to the high-impedance OFFstate. Operation of the OE input does not affect the state of the flip-flops.
The 74HC574; 74HCT574 is functionally identical to:
74HC564: but has non-inverting outputs
74HC374; 74HCT374: but has a different pin arrangement

3.5 ULN2803 TRANSISTORS


Eight-channel NPN Darlington array used to interface logic ciruits (i.e., microcontroller)
to high-voltage, high-current devices like lamps, relays, and solenoids. The ULN2803A
is capable of driving 500 mA into a single channel, up to 250 mA per channel with four
channels active, and up to 125 mA with all eight channels active. ULN2803A outputs use
clamp diodes for transient suppression to protect low-power microcontroller circuitry.
In this project we use ULN to sink current of leds because shift register can't sink this
much current. UlN is eight channel npn darlington transistor with open collector so
aresistance must be connected to collector and then to vcc. ULN acts as abuffer and
inverter at the same time so we must consider that carefully because our code will
inverted.

3.6 DECODER 74HC138


The 74HC138 is a high speed CMOS device. The device accepts a three bit binary
weighted address on input pins A0, A1 and A2 and when enabled will produce one active
low output with the remaing seven being high. There are two active LOW enable inputs
E1 and E2, and one active HIGH enable input E3. The disabled device state results in all
outputs being high. The enable state occurs with E1 and E2 asserted low and E3 asserted
high. The multiple enable lines allow for the parallel expansion of decoders to create 4to-16 line versions with no additional parts and 5-to-32 versions with the addition of a
single inverter.

3.7 POWER SUPPLY


The DC input supply powers the Arduino microcontroller. The Arduino itself powers the
LEDs in the cube. A 2.1mm, center-positive, 12 V, 1A rated AC adapter is the minimum
current rating that should be used due to the current necessary to drive the circuits.

CHAPTER 4
SYSTEM BLOCK
4.1 MICROCONTROLLER 8051: The microcontroller can be classified can be broadly
into following components
Read Only Memory (ROM)
Read Only Memory (ROM) is a type of memory used to permanently save the program being
executed. The size of the program that can be written depends on the size of this memory.
ROM can be built in the microcontroller or added as an external chip, which depends on the
type of the microcontroller. Both options have some disadvantages. If ROM is added as an
external chip, the microcontroller is cheaper and the program can be considerably longer. At
the same time, a number of available pins is reduced as the microcontroller uses its own
input/output ports for connection to the chip. The internal ROM is usually smaller and more
expensive, but leaves more pins available for connecting to peripheral environment. The size
of ROM ranges from 512B to 64KB.
Random Access Memory (RAM)
Random Access Memory (RAM) is a type of memory used for temporary storing data and
intermediate results created and used during the operation of the microcontrollers. The
content of this memory is cleared once the power supply is off. For example, if the program
performes an addition, it is necessary to have a register standing for what in everyday life is
called the sum . For that purpose, one of the registers in RAM is called the "sum" and used
for storing results of addition. The size of RAM goes up to a few KBs.
Electrically Erasable Programmable ROM (EEPROM)
The EEPROM is a special type of memory not contained in all microcontrollers. Its contents
may be changed during program execution (similar to RAM ), but remains permanently saved
even after the loss of power (similar to ROM). It is often used to store values, created and
used during operation (such as calibration values, codes, values to count up to etc.), which
must be saved after turning the power supply off. A disadvantage of this memory is that the
process of programming is relatively slow. It is measured in miliseconds.

Special Function Registers (SFR)


Special function registers are part of RAM memory. Their purpose is predefined by the
manufacturer and cannot be changed therefore. Since their bits are physically connected to
particular circuits within the microcontroller, such as A/D converter, serial communication
module etc., any change of their state directly affects the operation of the microcontroller or
some of the circuits. For example, writing zero or one to the SFR controlling an input/output
port causes the appropriate port pin to be configured as input or output. In other words, each
bit of this register controls the function of one single pin.
Program Counter
Program Counter is an engine running the program and points to the memory address
containing the next instruction to execute. After each instruction execution, the value of the
counter is incremented by 1. For this reason, the program executes only one instruction at a
time just as it is written. Howeverthe value of the program counter can be changed at any
moment, which causes a jump to a new memory location. This is how subroutines and
branch instructions are executed. After jumping, the counter resumes even and monotonous
automatic counting +1, +1, +1
Central Processor Unit (CPU)
As its name suggests, this is a unit which monitors and controls all processes within the
microcontroller and the user cannot affect its work. It consists of several smaller subunits, of
which the most important are:

Instruction decoder is a part of the electronics which recognizes program


instructions and runs other circuits on the basis of that. The abilities of this circuit
are expressed in the "instruction set" which is different for each microcontroller
family.

Arithmetical Logical Unit (ALU) performs all mathematical and logical


operations upon data.

Accumulator is an SFR closely related to the operation of ALU. It is a kind of


working desk used for storing all data upon which some operations should be
executed (addition, shift etc.). It also stores the results ready for use in further
9

processing. One of the SFRs, called the Status Register, is closely related to the
accumulator, showing at any given time the "status" of a number stored in the
accumulator (the number is greater or less than zero etc.).

4.2 CIRCUIT DIAGRAM

Figure no 4.2 circuit diagram of Latch and decoder ic interfecing

4.3 LATCH 74HC574 IC


DESCRIPTION
The 74HC/HCT574 are high-speed Si-gate CMOS devices and are pin compatible with low
power Schottky TTL (LSTTL). They are specified in compliance with JEDEC standard no.
10

7A. The 74HC/HCT574 are octal D-type flip-flops featuring separate D-type inputs for each
flip-flop and non-inverting 3-state outputs for bus oriented applications. A clock (CP) and an
output enable (OE) input are common to all flip- flops. The 8 flip-flops will store the state of
their individual D-inputs that meet the set-up and hold time requirements on the LOW-toHIGH CP transition. When OE is LOW, the contents of the8 flip-flops are available at the
outputs. When OE is HIGH, the outputs go to the high impedance OFF-state. Operation of
the OE input does not affect the state of the flip-flops.
FEATURES

3-state non-inverting outputs for bus oriented applications

8-bit positive edge-triggered register

Common 3-state output enable input

Independent register and 3-state buffer operation

Output capability: bus driver

ICC category: MSI

4.4 ULN 2803 TRANSISTOR IC


DESCRIPTION
The eight NPN Darlington connected transistors in this family of arrays are ideally suited for
interfacing between low logic level digital circuitry (such as TTL, CMOS or PMOS/NMOS)
and the higher current/voltage requirements of lamps, relays, printer hammers or other similar
loads for a broad range of computer, industrial, and consumer applications. All devices
feature opencollector outputs and free wheeling clamp diodes for transient suppression The
ULN2803 is designed to be compatible with standard TTL families while the ULN2804 is
optimized for 6 to 15 volt high level CMOS or PMOS.

.Features

Output current (single output) 500 mA (max


High sustaining voltage output50 V (min)
=

Output clamp diodes

Inputs compatible with various types of logic.


11

Package TypeAPG : DIP18pin

Package TypeAFWG : SOL18pin

4.5 DECODER 74HC138 IC


DESCRIPTION
The MM74HC138 decoder utilizes advanced silicon-gate CMOS technology and is well
suited to memory address decoding or data routing applications. The circuit features high
noise immunity and low power consumption usually associated with CMOS circuitry, yet has
speeds comparable to low power Schottky TTL logic. The MM74HC138 has 3 binary select
inputs (A, B, and C).
If the device is enabled, these inputs determine which one of the eight normally HIGH
outputs will go LOW. Two active LOW and one active HIGH enables (G1, G2A and G2B)
are provided to ease the cascading of decoders. The decoders outputs can drive 10 low
power Schottky TTL equivalent loads, and are functionally and pin equivalent to the
74LS138. All inputs are protected from damage due to static discharge by diodes to VCC and
ground.

Features

Typical propagation delay: 20 ns

Wide power supply range: 2V6V

Low quiescent current: 80 mA maximum (74HC Series)

Low input current: 1 mA maximum

Fanout of 10 LS-TTL loads

12

CHAPTER 5
RESULT

13

CHAPTER 6
CONCLUSION AND FUTURE SCOPE
CONCLUSION:
This project is aimed at helping in displaying the different patterns using Arduino. As in our
project we have interfaced Arduino Board with shift register transistor and music chip IC.
The project clearly determines the features of LED CUBE.

FUTURE SCOPE:
This project focused primarily on the most efficient way to build an LED cube and to also
interface music with the cube. The cube was designed with simplicity in mind, so there is a
lot room for development of both the hardware and the software. This section outlines a few
of the possibilities for work on this as well as future LED cube projects.
In terms of hardware, this cube was built to simply function as a 8x8x8 matrix of LEDs.
While this build was stationary, rotational effects could be implemented using motors and
more loose fitted LEDs (in terms of wiring). Accelerometers could also be utilized in such
applications. Also, the only visual effects being generated by this LED cube are from the
LEDs themselves. Things such as one-way mirrors, lasers, light bulbs, smoke machines, and
even dry ice have all been suggested over the course of this year.
Improvement in software design is really where a lot of future work could be spent. While
this team focused purely on creating light shows for display and the ability to detect and play
an audio signal in real time, these are not the only possible ways in which to use the LED
cube. One aspect the team started to touch on near the end of the project was user
interactivity. Through the use of a serial monitor built in to the Arduino software, the
14

microcontroller can serially read in inputs from the keyboard and use these inputs to execute
specific code already uploaded to the Arduino. This was used to switch between the
animations and audio-visualization shows during the presentation, but the idea can be
expanded in other ways.

Various applications of this interface are-

Programming user-interactive games. The low resolution of the cube has its limitations, but
games such as 3D Snake or 3D Pong would greatly expand the current functionality of the
LED cube into something more than just a light show.
The cube could also be used to simulate 3D models such as earthquakes, fluids, or cellular
automation. Again, however, the low resolution of the cube would not allow for models that
are extremely detailed and complex, so a larger single colours cube would most likely be a
better build if such applications were to be implemented.
Improvements could also be made on how the animations are coded and that also expand on
the idea of user interactivity. Simply put, this teams method for coding the cube may not
have been the most efficient or easiest way to achieve the light and music shows. While
explicitly writing the binary values into an array for each colour was very intuitive and
straightforward, it required a lot of abstract thinking to properly turn on and off each LED for
each desired image.
The most interesting solution to this problem, and a solution that opens up coding the cube to
everyone and not just programmers, is to create a graphic user interface, or GUI, to visually
program the cube. By having a model of the cube on a computer, the user would be able to
choose a colour and then click the LEDs that they wanted to turn on with that colour and then
save the image for use in the actual visual display. The user would then move on to
programming the next image until eventually they have a complete light show finished in a
fraction of the time it would take to program it individually. While it would take a very long
time to actually program the GUI to be streamlined and bug free, it would save a lot of time
in the long run. This type of interface would also eliminate the need for the common user to
have a substantial knowledge of programming.

15

REFERENCES
http://arduino.com/
http://www.instructable.com/LED-cube-8x8x8/
http://www.instructables.com/how-to-build-an-8x8x8-LED-cube-and-control-i-with/

16

Das könnte Ihnen auch gefallen