CIRCUIT DESCRIPTION
The power supply used is a fixed 5 volts since
the Servo motor can only accomodate 3 to 6 volts which is also the same for the
PIC microcontroller then the supply is connected to pin 14 of the PIC
microcontroller. Capacitors of 22pF are used to increase the stability of the
oscillator which is then connected to ground and to the crystal of 8Mhz which
will serve as the clock frequency and is connected to pin 16 and 15 which is
the clock in and clock out respectively. The joystick is connected to a
resistor to enhance stability of the signal. The joystick is connected to pins
1, 2, 17, 18 which serves as the input
of the design, and in Vcc. Pin 17 is for the upward motion, 18 for the
downward, 1 for the right, and lastly pin 2 for the left motion.
The output pulse
of the portb pin0 of our microcontroller is the input pulse of our servo
no.1,and the output pulse of the portb pin4 of our microcontroller is the input
pulse of our servo no.2.
If the pulse is 1.5ms on
and 18.5ms off the servo motor goes to its 0o.
If the pulse is 2.5ms on
and 18.5ms off the servo motor goes to its +90o.
If the pulse is 0.5ms on and 18.5ms
off the servo motor goes to its -90o.
Source
code
int a=150;
int b=150;
void main() {
TRISA=0xff; //set portA as input ports
TRISB=0x00; //set portB as output
ports
while(1){
PORTB=0x01; //make portB pin0 high
vdelay_ms(a/100); //maintain portB pin0 high for
a/100 ms
PORTB=0x10; //make portB pin4 high
vdelay_ms(b/100); //maintain portB pin4 high for
b/100 ms
PORTB=0x00; //make all portB low
delay_ms(37/2); //maintain all portB low for
18.5 ms
if(RA0_bit){ //when portA pin0 is
pressed
if(a>=250)
continue; //set maximum value
for a=250
a=a+10; //increment a=a+10
}
if(RA1_bit){ //when portA pin1 is
pressed
if(a<=50)
continue; //set minimum value
for a=50
a=a-10; //decrement a=a-10
}
if(RA2_bit){ //when portA pin2 is
pressed
if(b>=250)
continue; //set maximum value
for b=250
b=b+10; //increment b=b+10
}
if(RA3_bit){ //when portA pin3 is pressed
if(b<=50) continue; //set minimum value for b=50
b=b-10; //decrement b=b-10
}
}
}
3 comments:
hi everybody, hi manager, i'd like merely express gratitude with this fantastic weblog as well as informations relating to this technologies and that i may shar this within tweets a good my personal myspace. since i such as this weblog merely
Hola amigo, que buen blog, oyes crees poder ayudarme a desarrollar la programacion para un cnc que dibuje las pistas de un circuito electronico
te dejo mi correo
mundo_toxico@hotmail.com
hola edy! verificar tu correo. gracias. check your mail. Thanks.
Post a Comment