En este POST os voy a mostrar como gobernar el movimiento de un Micro Servo SG90 9G mediante el uso de un potenciómetro que conectarémos a una de las entradas analógicas de Arduino, en este caso a la entrada analógica A0, aunque podría ser cualquiera de las que dispone siempre que lo tengamos en cuenta en la programación.
Como en POST anteriores, el servo irá conectado a GND (cable color café), a +5V (cable de color rojo) y a un Pin digital con PWM (cable de color naranja), en nuestro caso al Pin digital 9 de Arduino. Para hacer que el valor del potenciómetro represente la posición del servo de manera que el servo se mueva siguiendo al potenciómetro, necesitamos entender que el valor que leamos en la entrada analógica A0 está comprendido entre 0 y 1024, y que estos valores tienen que distribuirse entre 0 y 180º. Para ello vamos a hacer uso de la función map() de la que se dispone en la programación:
angulo = map(analogRead(A0), 0, 1024, 0, 180);
La expresión anterior lo que hace es asignarle a la variable angulo, la proporción de los valores que leamos en la entrada analógica A0 (0 - 1024), en relación a un valor comprendido entre 0° y 180°. Para que lo entendamos mejor es necesario montar el circuito y cargar el programa, para poder observar que cuando llegamos al tope del mando del potenciómetro hacia un lado, el servo estará en la posición de 0°, y en cambio, si llegamos al tope contrario del mando del potenciómetro, el servo estará en la posición de 180°. Tenemos que tener en cuenta que en otras posiciones del mando del potenciómetrto (que no sean las extremas), se obtendrán posiciones del servo comprendidas siempre entre 0° y 180°.
Es recomendable alimentar el Arduino con una fuente de alimentación externa de más de 700 mA, para evitar problemas de corriente, ya que los servos consumen bastante en relación a la corriente que nos ofrece la placa en sus salidas digitales (40-50 mA), aunque para efectos de prueba nos es suficiente con alimentar el Arduino a través de la conexión USB de nuestro PC.
· Arduino UNO Rev.3.
· Cable USB tipo A-B.
· Micro Servo TowerPro SG90 9G (180°).
· Potenciómetro lineal de 10KΩ.
· Protoboard.
· Cables de conexión.
Video:
disculpe a mi no me funciona el servo motor no se mueve y cuando giro el potenciometro se mueve milesimas y suena como si estubiera trabado me puede dar alguna solucion
ResponderEliminar