Propeller Circuit & Programming using Proteus and AVR

Posted on at


Propeller Circuits:

Main part of Micro COntroller which is called Brain. Following pictures shows the circuit of it.



The propeller is made up of 8 LEDs (0.5mm) LEDs that are

Connected in active low manner i-e the anodes of all LEDs are connected together and further connected +5V with a 330Ω of current limiting resistor, and cathode of each led is connected to the each port pin of the controller.



Mechanical Design:

 

The display of propeller is scanned each time, by rotating the whole assembly in a circular path.

 

Following picture give us the detail of Mechanical part.



Here, one major challenge how how to bring +5V supply to the ISPnning circuit. That is combining the battery to the rotating platform.

Blood of µ_Heart(Code):

The code is written in a static manner that is it will show the text “FET-IIUI”. Mapping of letters done in the case statements, we can display any letter by making their mapping in a similar manner. The code is in written here in column form.

 

 

#include<AT89x51.h> char x;

void delay (void)

{
TMOD=0x10;
TL1=0x90;
TH1=0xFE;
TR1=1;
while(TF1==0);
TF1=0;
TR1=0;
P3=~P3;
}

void disp(x)

{
switch(x)
{

case' ':
{

P2=0xFF;
delay();

P2=0xFF;
delay();
P2=0xFF;

delay();
P2=0xFF;

delay();
P2=0xFF;

delay();
}

break;

case 'F':

{
P2 = 0x01; delay (); P2 = 0x6E; delay (); P2 = 0x6E; delay (); P2 = 0x6E; Delay (); P2 = 0x7E; delay ();
}

break;

case '1':

{
P2 = 0xEF; delay (); P2 = 0xCE; delay (); P2 = 0xEF; delay (); P2 = 0xEF; delay (); P2 = 0x83; delay ();

}

break;

case 'E':

{
P2 = 0x01; delay (); P2 = 0x6D; delay (); P2 = 0x6D; delay (); P2 = 0x6D; delay (); P2 = 0x7D; delay ();

}
break;

case 'T':

{
P2 = 0x7F; delay (); P2 = 0x7F; delay (); P2 = 0x01; delay (); P2 = 0x7F; delay (); P2 = 0x7F; delay ();
}
break;
case '/':
{
P2 = 0xFB;
delay ();
P2 = 0xF7;
delay ();
P2 = 0xEF;
delay ();
P2 = 0xDF;
delay ();
P2 = 0xBF;
delay ();
}
break;
case 'I':
{
P2 = 0x7D;
delay ();
P2 = 0x7D;
delay ();
P2 = 0x01;
delay ();
P2 = 0x7D;
delay ();
P2 = 0x7D;
delay ();
}
break;

case '-':
{
P2 = 0xEF;
delay ();
P2 = 0xEF;
delay ();
P2 = 0xEF;
delay ();
P2 = 0xEF;
delay ();
P2 = 0xEF;
delay ();
}
break;

case 'U':
{
P2 = 0x01;
delay ();
P2 = 0xFD;
delay ();
P2 = 0xFD;
delay ();
P2 = 0xFD;
delay ();
P2 = 0x01;
delay ();
}
break;
}
}
void main (void)
{
P2 = 0x00;
while(1)
{
disp('F');
disp(' ');
disp('1');
disp(' ');
disp('1');
disp(' ');
disp('/');
disp(' ');
disp(' ');
disp(' ');
disp('F');
disp(' ');
disp('E');
disp(' ');
disp('T');
disp('-');
disp('I');
disp(' ');
disp('I');
disp(' ');
disp('U');

disp(' '); disp('I'); disp(' '); disp(' '); disp(' ');

}
}



About the author

Ihtasham-Zahid

I am student of Electronics Engineering in International Islamic University Islamabad.

Subscribe 0
160