18

Cómo controlar un Servo por Serial con Arduino

servo_serial

¡Saludos humanos! Hoy uno de nuestros lectores nos ha pedido por correo un tutorial muy sencillo: controlar un servomotor por Serial con Arduino. Pues bueno, vamos allá ¿no?

Material y componentes

El material que vamos a necesitar es:

  • Arduino UNO/Duemilanove o sucedáneos
  • Servo (¡oh, sorpresa!)
  • Conectores y protoboard
  • Cable USB de impresora

Procedimiento

Conectamos el servomotor al pin digital 3.

Vamos a crear un código que lea un número entero por Serial. En este caso no podemos usar la función Serial.read() ya que interpretará la entrada por Serial como una secuencia de carácteres y no como un número entero.

Para ello utilizaremos la función Serial.parseInt() interpreta la entrada por serial como un número entero.

Para mover el servo utilizaremos la librería Servo.h. Es importante recordar que los servos sólo pueden moverse de 0 a 180 grados (excepto los de giro continuo, pero en este caso aceptan velocidades de entre 0 i 180).


#include <Servo.h>

int val = 0; //Variable de entrada del Serial

Servo servo; //Creamos un objeto Servo de nombre... servo

void setup()
{
   Serial.begin(9600); //Iniciamos el serial
   servo.attach(3); //Conectamos el servo al pin digital 3
}

void loop()
{
   if(Serial.available() > 0) //Detecta si hay alguna entrada por serial
   {
      val = Serial.parseInt();
      if(val != 0)
      {
         servo.write(val); //Mueve el servo a la posición entrada (excepto si es 0)
      }
   }
   delay(500);
}

Espero que este sencillo tutorial haya sido de utilidad. Si quieres sugerir otro tema, puedes proponerlo enviándonos un correo a contacto@robologs.net.

N4n0

Creado para cuidar de los sistemas de laboratorios tan secretos que ni él tiene la seguridad de estar trabajando en ellos, a Nano le gusta dedicar los ciclos que no gasta en tapar agujeros de Firewall para dedicarse al hobby de la electrónica o a ver películas de ciencia ficción. Entre su filmoteca de culto, ocupan un lugar destacado Tron, The Matrix y Johnny Mnemonic.

18
Deja un comentario

avatar
10 Hilos iniciados
8 Respuestas a hilos
0 Followers
 
Most reacted comment
Hottest comment thread
11 Nº autores comentarios
N4n0erik moyaSantiagoANDREApepegamer Autores de comentarios recientes
más nuevos primero más antiguos primero
erik moya
Humano
erik moya

hola, necesito mover un servo 3 que muestre 3 posiciones en el serial monitor

Santiago
Humano
Santiago

hola, necesito mover dos servos vìa pc que respeten el siguiente texto “70.4,178.2” el orden de movimiento serìa el siguiente: “70.4” debe mover el servo A y posicionarlo en 70.4 grados, luego de la “,” viene el otro valor “178.2” que es la posiciòn angular del servo B. Se me complicò un poco trabajar con strings, no tengo suficiente conocimiento. Hasta el momento tengo un còdigo que lo fuì testeando y reconoce el caracter “,” siempre y cuando utilice el monitor serie… si uso el soft que necesito no funciona. Envìo el còdigo para saber si me pueden ayudar. //… Leer más »

ANDREA
Humano
ANDREA

Gracias!!!!!

pepegamer
Humano

donde conectos los pines

pepegamer
Humano

donde conecto el servo en el arduino

mariano
Humano
mariano

Hola, hasta cuantos mini servos puedo poner en el Arduino alimentado por el USB de la computadora sin riesgo para el Arduino o la propia computadora? se que por lo general los servos consumen alrededor de 500mA cada uno, y el USB no creo que entregue mas de de 200mA, ya usar directamente uno solo no seria riesgoso? gracias.

romeo
Humano
romeo

y el pin del servo amarillo a donde se conecta en la placa???

Luis Gamez
Humano
Luis Gamez

buenos dias quisiera consultarles como muevo un servo a través de un xbee, les explico en control esta conectado por un shield usb a una arduino uno conectada a un xbee y el servo esta conectado a una mega junto el otro xbee entonces quisiera saber como hago para que mande de la arduino uno y reciba la arduino mega

aner pontxiano
Humano
aner pontxiano

ese liusito

salvador
Humano
salvador

Hola, por favor quería consultarles, como puedo designar teclas para moverlo, y en el caso que hubiese dos o más servos en que orden tendría que escribir el código para hacerlos actuar de forma independiente.
Gracias de antemano y un saludo

trackback

[…] ¡Saludos humanos! Hoy en nuestro buzón de sugerencias nos han pedido un tutorial muy sencillo: controlar un servomotor por Serial con Arduino. Pues bueno, vamos allá ¿no?  […]