Hola de nuevo a todos,siento no poder estar todo lo que me gustaria con ustedes,pero hice un invento con internet al querer cambiar de compañia y llevo 20 dias castigado.Suerte que todavia quedan amigos para dejarte el ordenador.
Mi pregunta es la siguiente: tengo los servos de mi primer bipedo que tienen los movimientos muy rapidos,y quisiera que sus movimientos fueran mas suaves o sea mas realistas ¿Es esto posible?.
Aqui os dejo el trozo de codigo donde se centran los servos por si sirve de algo:
#include <16F873.h>
#device *=8 //pic a utilizar
#fuses XT,NOWDT,NOPROTECT //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#use standard_io(B) //Puerto B como salida
#use standard_io(A)
/* C E N T R A D O D E S E R V O S */
void Centra_Servo_1(int Repeticiones)
{
int Bucle;
for(Bucle=1;Bucle<=Repeticiones;++Bucle)
{
output_high(pin_B0);
delay_us(1550);
output_low(pin_B0);
delay_ms(20);
}
}
void Centra_Servo_2(int Repeticiones)
{
int Bucle;
for(Bucle=1;Bucle<=Repeticiones;++Bucle)
{
output_high(pin_B1);
delay_us(1500);
output_low(pin_B1);
delay_ms(20);
}
}
void Centra_Servo_3(int Repeticiones)
{
int Bucle;
for(Bucle=1;Bucle<=Repeticiones;++Bucle)
{
output_high(pin_B2);
delay_us(1500);
output_low(pin_B2);
delay_ms(20);
}
}
void Centra_Servo_4(int Repeticiones)
{
int Bucle;
for(Bucle=1;Bucle<=Repeticiones;++Bucle)
{
output_high(pin_B3);
delay_us(1500);
output_low(pin_B3);
delay_ms(20);
}
}
void Centra_Servo_5(int Repeticiones)
{
int Bucle;
for(Bucle=1;Bucle<=Repeticiones;++Bucle)
{
output_high(pin_B4);
delay_us(1500);
output_low(pin_B4);
delay_ms(20);
}
}
void Centra_Servo_6(int Repeticiones)
{
int Bucle;
for(Bucle=1;Bucle<=Repeticiones;++Bucle)
{
output_high(pin_B5);
delay_us(1500);
output_low(pin_B5);
delay_ms(20);
}
}
void Fin_de_Centrado(int Repeticiones)
{
int Fin;
for(Fin=1;Fin<=Repeticiones;++Fin)
{
output_high(pin_A0);
delay_ms(250);
output_low(pin_A0);
delay_ms(250);
}
}
/* P R O G R A M A P R I N C I P A L */
void main()
{
output_a(0x00);
set_tris_a(0b000000); /* Puerta PA todo salida */
set_tris_b(0x00); /* Puerta PB todo salidas */
output_b(0x00); /* Ponemos pines PB a 0 */
do
{
Centra_Servo_1(25); /* Llamamos a las funciones y generamos*/
Centra_Servo_2(25); /* 25 pulsos para darle tiempo a los */
Centra_Servo_3(25); /* servos a posicionarse en sus */
Centra_Servo_4(25); /* respectivas posiciones */
Centra_Servo_5(25);
Centra_Servo_6(25);
Fin_de_Centrado(2);
}
while(1);
}
PD: Aceptaria encantado sugerencias para mejoras del codigo ya que es mi primer proyecto.