3D LED CUBE 8x8x8

            An LED cube is basically a 3 Dimensional display which can display graphical images and animations in 3D. In this article I am describing about how to build a simple 8x8x8 cube and how to program it.
       The main requirements are:

  • Diffused LED 5mm (512 Nos)

  • PN2222A Transistors (16 Nos)

  • Arduino UNO Microcontroller

  • A Push Button Switch (1 Nos)

  • 74HC595 Shift Register IC (9 Nos)

  • Breadboard or PCB
  • 5V Power Source
CONSTRUCTING THE CUBE
       Basically an LED cube is a stack of matrices. In our case The cube is an 8 Layer stack of 8*8 LED matrices. The cube consists of x,y and z axis. The basic construction of a 3*3 Cube is shown below
          As you can seen in the above figure in each of the layer the cathodes of the LEDs are connected together and the anodes are connected like shown in the figure. Suppose we want to blink the First LED located at the top layer P1 line should be high and the N3 line is connected to the -ve end to blink the first LED. So that Individual LEDs are controlled by providing proper supply to the individual 64 anodes and 8 cathode layers in the case of our cube. 
        To control an 8*8*8 LED cube there must be 64+8 output lines are needed for controlling the cube. In The case of our micro-controller there is limited number of output lines. So The process done to control the  Cube 512 LEDs called DemultiplexingDemultiplex is a process reconverting a signal containing multiple analog or digital signal streams back into the original separate and unrelated signals.

CIRCUIT DIAGRAM

          The driver circuit is shown in the above diagram. Here the transistor array is used to control each of the 8 layers. Here each of the two transistor pairs are used as switch. The 64 anode lines are controlled by the shift registers 74HC595. In addition to control all the anode lines a separate shift register is used. The shift registers converts the 3 line code to an 8 line code to drive the cube.

You can get the data sheet of 74HC595 from here

You can download the Arduino code from here






FM TRANSMITTER

               FM Transmission is a common method in wireless communication which sends the low frequency  audio message in FM range (88 to 108 MHz). The transmitted message can be easily demodulated or decoded by the help of an FM radio receiver.
             The main components required are

  • 0.1uH Inductor
 Can be easily made by 6-7 turns of 26 SWG (0.45mm) winding wire
  • BC547 Transistor
  • 0-100pF Trimmer Capacitor 
  • Ceramic Disk Capacitors (22pF,0.001uF)
  • Resistors 
  • Audio input or Condenser Microphone 
  • Breadboard or PCB
CIRCUIT DIAGRAM 

                     Modulation is the process of superimposing a low energy low frequency signal into a high energy and high frequency carrier signal with changing of any of its properties like frequency, Amplitude or Phase. In the case of FM the frequency of the carrier is varied with the amplitude of message signal .
                    In the above circuit, the Inductor and trimmer capacitor constitutes a tank circuit which generates the carrier frequency. By adjusting the trimmer the frequency of oscillation can be varied.The transmitted signal from the FM transmitter is received and tuned by the FM receiver.
                

SIMPLE CELLPHONE CHARGING CIRCUIT

             A simple mobile phone charging circuit can be constructed from basic components. Here a zener diode and a transistor are the key components of this project. It is NOT suitable for daily purpose usage, but can be used to charge old cellphones. I'am explaining this circuit to only understand the basic working principle only. The main components required are,

  • BC 547 Transistor
  • 4.7 V Zener diode
  • 100uF Electrolytic Capacitor
  • 470 Ω resistor
  • Breadboard or PCB
CIRCUIT DIAGRAM
                The above figure is a series voltage regulator. The transistor is used as a control element and the zener used as a dtector. When the input supply voltage Vin increases the output voltage Vload also increases. This increase in Vload will cause a reduced voltage of the transistor base emitter voltage Vbe as the zener voltage Vzener is constant. This reduction in Vbe causes a decrease in the level of conduction which will further increase the collector-emitter resistance of the transistor and thus causing an increase in the transistor collector-emitter voltage and all of this causes the output voltage Vout to reduce. Thus, the output voltage remains constant.
             

ARDUINO DEVELOPMENT BOARD BASICS PART 2

            Lets continue talking about Arduino IDE. Arduino is a powerful solution for newbies. Let us discuss about a simple program. First open Arduino IDE and follow the path given below

File > Examples > Basics > DigitalReadSerial

It should open in a new program window as shown below 
            In the starting of the program  we can see a short description about the program followed by /* and */  indicates that it is a multi line comment which not considered during the execution of the program .  Also following that you can find a description followed by // which indicates they are single line comments. You can use these techniques to add important comments to your program.
            In the beginning of the program you can see that 
int pushButton =  2;
By closely observing the code you can find that the int is highlighted which means it is a function. int means that the function is an integer. Following that the word pushButton is a variable. The variable is just a word which holds the data provided by the = sign. You can set any name to a variable. Here = 2 indicates  it id digital pin 2 on the Arduino board. At the end of each statement it ends with ; which means that you are done with that function. You should provide ; to ending of each function.
Following that we have already discussed that the functions void setup() and void loop() are essential in writing the program code. void means that that function do not return any information back to the  program. The function setup() run only once in the program. But in the case of loop() which runs over and over in the program.
          The delay() function indicates the rate or speed of the process. It is expressed in milliseconds.  For example if we want to blink an led every second, after we turn it on we can place a delay(1000) which will make the processor sit there and do nothing for a second (1000 milliseconds). Delay is also useful in debugging and general flow control.

ARDUINO DEVELOPMENT BOARD BASICS PART 1

           An Arduino is a physical hardware which is very useful for electronic projects. The heart of an Arduino is a microcontroller chip which can be programmed by C programing language. It is very cheap and compact in size which can be very useful in robotics projects. There are various type of Arduino boards are available in the market such as Arduino uno, Mega, Nano...etc
             Talking about Arduino it consists of several connection pins as shown in the figure.  An Arduino can be used to analog to digital conversion and vice versa. As yo can see in the figure the left side pins A0 to A5 are analog pins and the right hand side consist of digital pins. The Arduino can itself provide  a constant DC voltage of 3.3V and 5V.
             An Arduino can be programed by the Arduino IDE which is a software installed on a desktop or laptop. The Arduino IDE can be downloaded from here.
                When you open the IDE it looks like this. When you first connected your Arduino board to your PC with the help of a USB cable you have to select your hardware in the IDE. For this select
Tools > port > Hardware name (Your hardware should appear  here).
Now your hardware is ready for programing.
                As you can see the program starts with two functions named void setup()and void loop(). In almost all Arduino programs these two functions are essential. The basic template of Arduino IDE is shown below

       void setup() {

//set up stuff to only run at the beginning 

}

    void loop() {

//which consist of the statements about the program

} 
We discuss all of these functions later.




                                            

CONDENSER MICROPHONE AMPLIFIER

           This circuit is basically a multi stage RC coupled amplifier. The main components required are following.

  • CONDENSER MICROPHONE 
  • 1K PRESET OR POT
  • BC147 AND BC149 TRANSISTORS 
  • RESISTORS 
  • CAPACITORS 
  • 6V POWER SUPPLY
  • BREADBOARD  OR PCB
CIRCUIT DIAGRAM 
                    The circuit is a multistage amplifier capable of amplify the low power signal generated by the microphone. Transistor BC149 utilise current series feedback the first stage. The second stage comprising transistor BC147 is connected in the voltage shunt feedback configuration. These two stages provide sufficient gain to pick up even the slightest whisper. 

VARIABLE POWER SUPPLY 1.5-24V

This simple circuit is bridge rectifier circuit can be used to power the circuits described in my previous blogs. The main  components required are listed

  • 240/24 V 1A Transformer
  • LM317 Voltage Regulator
  • IN4001/4007 Diodes

  • Potentiometers/variable resistors
  • Resistors
  • Capacitors
  • Breadboard or PCB
CIRCUIT DIAGRAM
              The transformer is used to step down the 240V AC supply to 24V. Bridge rectifier converts this AC to the Direct Current. This pulsating DC is filtered using the capacitor to get a clean DC and is given to the input of LM317 voltage regulator IC. Depending on the variations in the potentiometer the output gets varied. It is necessary to use a heat sink along with the IC because it became hot while the operation.

3D LED CUBE 8x8x8

            An LED cube is basically a 3 Dimensional display which can display graphical images and animations in 3D. In this article I am ...