Consideramos 0.5ms como 180º y 2.5ms como 0º.
public void MoveServoByAngle(double angle)
{
double pulseWidth = 2500 - 11.1111 * angle;
double pause = 25000 - pulseWidth;
for (int i = 0; i < 30; i++)
{
servoPort.Write(true);
DelayMicroSecByAngle(pulseWidth);
servoPort.Write(false);
DelayMicroSecByAngle(pause);
}
}
Próximente colgaré los diseños 3D en ProEngineer que vamos a cortar en madera contrachapada de 3mm para montar el quadropod. Lo que haremos, como no tenemos ni idea de qué tornillos vamos a utilizar y de si será estable o no, será montar una de las cuatro patas para el miércoles que viene dia 11 y así ver como se comporta e intentar utilizar threads para mover ambos servos a la vez.
No hay comentarios:
Publicar un comentario