Control de servo
Dependencies: mbed
Servo1.cpp@0:2b51cc3a1b24, 2015-05-16 (annotated)
- Committer:
- fonz626
- Date:
- Sat May 16 21:38:58 2015 +0000
- Revision:
- 0:2b51cc3a1b24
Servo control
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fonz626 | 0:2b51cc3a1b24 | 1 | #include "mbed.h" |
fonz626 | 0:2b51cc3a1b24 | 2 | PwmOut servo(PTB0); |
fonz626 | 0:2b51cc3a1b24 | 3 | DigitalIn gpo(PTC13); |
fonz626 | 0:2b51cc3a1b24 | 4 | int main() { |
fonz626 | 0:2b51cc3a1b24 | 5 | servo.period(0.020); // servo requires a 20ms period |
fonz626 | 0:2b51cc3a1b24 | 6 | while (1) { |
fonz626 | 0:2b51cc3a1b24 | 7 | // for(float offset=0.0; offset<0.001; offset+=0.0001) { |
fonz626 | 0:2b51cc3a1b24 | 8 | if (gpo==1){ |
fonz626 | 0:2b51cc3a1b24 | 9 | servo.pulsewidth(0.0006); // servo position determined by a pulsewidth between 1-2ms //0.0022 es maximo=180°, 0.0006 minimo=0°, medio 0.0014=90° |
fonz626 | 0:2b51cc3a1b24 | 10 | //printf("%i",servo.pulsewidth); |
fonz626 | 0:2b51cc3a1b24 | 11 | wait(0.25); |
fonz626 | 0:2b51cc3a1b24 | 12 | } |
fonz626 | 0:2b51cc3a1b24 | 13 | else |
fonz626 | 0:2b51cc3a1b24 | 14 | { |
fonz626 | 0:2b51cc3a1b24 | 15 | servo.pulsewidth(0.00145); |
fonz626 | 0:2b51cc3a1b24 | 16 | wait(0.25); |
fonz626 | 0:2b51cc3a1b24 | 17 | } |
fonz626 | 0:2b51cc3a1b24 | 18 | } |
fonz626 | 0:2b51cc3a1b24 | 19 | } |