martes, 3 de mayo de 2016

Servo con Arduino - parte 002

¿Cómo controlar un Servo usando Arduino?
La idea es que conectamos un potenciómetro a la tarjeta y un Servo. El trabajo del potenciómetro es controlar la posición del Servo a medida que lo rotamos.
El potenciómetro está conectado al pin análogo 0 (A0) en la tarjeta, éste leerá el valor (valor el cual va de 0 a 1023) y lo traducirá en grados para controlar el Servo.
Ahora, ¿cómo funciona una lectura análoga?
El Servo necesita +5V para funcionar, el potenciómetro tiene tres pines el de la izquierda esta conectado a +5V el derecho a tierra y por último el central va al pin análogo 0 (A0). La manera que en traducimos el voltaje en posición es de esta manera. Ya sabiendo que el valor de cualquier sensor análogo va de 0 a 1023 y que el voltaje de salida es +5V lo que se hace es que dividimos esos 5 voltios en 1023 partes iguales, de manera que el pin análogo lee los valores de 0 a 1023, el código que cargamos en la tarjeta traduce esos valores de 0 a 1023 en grados (0° a 180°), ésta señal es luego enviada al pin 9 el cual tiene capacidad de PWM y envía esa señal regulada al microcontrolador del Servo la cual hace mover el Servo de derecha a izquierda.
Necesitaremos:
  • Arduino.
  • Protoboard.
  • Un potenciómetro de 100k Ohm.
  • Un Servo standard de 180° 0 incluso de rotación continua (360°) y jugar con los valores del código para mover el Servo cuántos grados queramos y en la dirección que queramos.
  • Cables.



/* CODIGO SERVO 002 */

#include <Servo.h>

Servo miServo;        // create servo object to control a servo
int angulo=90;

void setup()
{
  miServo.attach(9);  // attaches the servo on pin 9 to the servo object
  Serial.begin(9600);
}

void loop()
{
  unsigned char comando=0;
  if(Serial.available())
  {
    comando=Serial.read();
    if(comando=='a') angulo+=10;
    else if(comando=='z') angulo-=10;
    angulo=constrain(angulo,0,180);
  }
  miServo.write(angulo);
  Serial.print("Angulo: ");
  Serial.println(angulo);
  delay(100);
}

No hay comentarios:

Publicar un comentario