27 de mar. de 2014

Servos

Hoje fiz o primeiro teste com o servo.
Não foi tão simples quanto eu imaginava, porém para minha surpresa, diferente do arduino, no Netduino não precisamos de uma biblioteca <servo.h>

 
 PWM servo = new PWM(PWMChannels.PWM_PIN_D5, 20000, 1500, PWM.ScaleFactor.Microseconds, false);
            uint firstPosition = 1000;
            uint lastPosition = 2500; 
            for (uint currentPosition = firstPosition;
                currentPosition <= lastPosition;
                currentPosition += 10)               
                servo.Duration = currentPosition;
                servo.Period = 20000;
                servo.Start();
                Thread.Sleep(20);
            }  
            servo.Duration = firstPosition; // duração do pulso
            servo.Period = 20000;  //periodo do pulso
            servo.Start();    
no caso acima ele faz um movimento de 1000 pulsos até 2500 pulsos da uns 110º

Fiz uma classe, para que eu possa no programa falar assim (Servo mova-se 20 graus, mova 40 graus, etc).
http://netduinonetmf.blogspot.com.br/p/servocs.html

Ainda na versão 1.0, preciso pegar um servo 360º para finalizar testes.

Nenhum comentário:

Postar um comentário