Introduction: Rotating Display (Making + Code)

This is a step by step guide for making a rotating LED Display

Step 1: Materials Needed

Materials needed

  1. Verro Board
  2. 2 X 14 pin rail
  3. 2 X 8 pin header
  4. 1 X Microcontroller (ATMEGA 8)
  5. 1 X Battery
  6. PVC board (Small strip)
  7. Soldering Iron
  8. Soldering Lead
  9. Cutter
  10. Scissor
  11. Hot Glue gun
  12. Multimeter (For testing the circuit)
  13. Some Wires

and of course a Rotating device like table fan.

Step 2: Preparing the PVC Board Display

First take a 9cm strip of pvc board and cut according to your desired width. Mark 7 points 1 cm apart in around the middle of the strip. Now punch holes in the pints and enlarge the holes so that the LEDs fits snugly. now put all the LEDs in the holes. Make sure that all the LEDs fit in same side(ie anodes at same side.)

Step 3: Soldering the PVC Board Display

Firstly bend all the cathodes in same direction overlapping each other.Now solder the Cathodes. Use a 8 pin header and solder the common cathode. Clip off the anodes to smaller length. Now use wires to connect 7 anodes to the header. Now use hot glue to strengthen all the loose wires and LEDs

Step 4: Soldering the Controller Board

Take a piece of Verroboard and place all the headers as in the figure. Also remember to make a 8 cable jumper to connect the controller board to display.

Step 5: Setting It Up

Use any type of table fan to set it up finally. Use tapes or hot glue to stick the parts to the fan. During sticking parts keep in mind the balance. If there is balance problem the fan will be too shaky. Use jumper wires to connect two boards and the battery.

Step 6: Code Snippet

This is a snippet of my code....
Full code can be found on the project page in my blog. http://blog.shparvez.net/rotating-display/

/*<br> * Roatting Display AVR Programming
 *
 * Created by Shahadat Hussain Parvez
 *  Author: SHParvez001@gmail.com
 *
 */
<avr io.h=""><util delay.h="">void print(unsigned char disp)
{
    switch (disp)
    {


    case ' ':
    {
        portd=0b00000000;
        delay();
        portd=0b00000000;
        delay();
        portd=0b00000000;
        delay();
        portd=0b00000000;
        delay();
        portd=0b00000000;
        delay();
        portd=0b00000000;
        delay();
        break;


    }




    case 'A':
    {
        portd=0b01111110;
        delay();
        portd=0b10010000;
        delay();
        portd=0b10010000;
        delay();
        portd=0b10010000;
        delay();
        portd=0b10010000;
        delay();
        portd=0b01111110;
        delay();
        break;
    }


    case 'B':
    {
        portd=0b11111110;
        delay();
        portd=0b10010010;
        delay();
        portd=0b10010010;
        delay();
        portd=0b01011010;
        delay();
        portd=0b00100100;
        delay();
        portd=0b00000000;
        delay();
        break;
    }
    }
}


int main(void)
{
    ddrd = 0b11111111;


    while(1)
    {


                print('E');
                print('E');
		print('E');
		print(' ');
		print('S');
		print('U');
		print('S');
		print('T');
		print(' ');
		print('R');
		print('O');
		print('C');
		print('K');
		print('S');
		print(' ');
		print('!');
		print('!');
		print('!');
		print(' ');
    }
}

Step 7: Final Output

See the final output on this video.