manual de programación arduina Manual+Programacion+Arduino | Page 35

Arduino: Manual de Programación salida conectada a servo Los servos de los juguetes tienen un tipo de motor que se puede mover en un arco de 180 º y contienen la electrónica necesaria para ello. Todo lo que se necesita es un pulso enviado cada 20ms. Este ejemplo utiliza la función servoPulse para mover el servo de 10º a 170 º. int servoPin = 2; // servo conectado al pin digital 2 int myAngle; // ángulo del servo de 0-180 int pulseWidth; // anchura del pulso para la función servoPulse void setup() { pinMode(servoPin, OUTPUT); // configura pin 2 como salida } void servoPulse(int servoPin, int myAngle) { pulseWidth = (myAngle * 10) + 600; // determina retardo digitalWrite(servoPin, HIGH); // activa el servo delayMicroseconds(pulseWidth); // pausa digitalWrite(servoPin, LOW); // desactiva el servo delay(20); // retardo de refresco } void loop() { // el servo inicia su recorrido en 10º y gira hasta 170º for (myAngle=10; myAngle<=170; myAngle++) { servoPulse(servoPin, myAngle); } // el servo vuelve desde 170º hasta 10º for (myAngle=170; myAngle>=10; myAngle--) { servoPulse(servoPin, myAngle); } } 35