Programacion en Arduino desde Cero (0) – Conceptos Básicos

En esta lección, exploraremos cómo utilizar Arduino para controlar servomotores y lograr movimientos precisos y controlados. Los servomotores son dispositivos electromecánicos que permiten controlar el ángulo de rotación con gran precisión, lo que los hace ideales para aplicaciones que requieren movimientos específicos, como robótica, modelismo y automatización.

Nos centraremos en el uso del pin 3 de Arduino para controlar un servomotor, aprendiendo los conceptos básicos y prácticos para llevar a cabo esta tarea de manera efectiva Para esta primera parte, vamos a utilizar la librería Servo.h que nos facilita el control de servomotores con Arduino, ahora aprendamos a mover un servomotor con esta librería.

Pasos a Seguir

  1. Abrimos Arduino IDE, puedes descargar el programador recomendado en el siguiente enlace, Arduino IDE  1.6.Descargar Codigos Bluetooth
  2. Primero incluiremos la librería Servo.h que se encarga de facilitarnos el manejo de servomotores con nuestro arduino.
    //Iniciamos la libreria Servo.h
    
    #include 
  3. Procedemos a inicializar un servomotor con el comando Servo y le daremos un nombre.
    //Declaramos el servomotor que utilizaremos
    
    Servo ServomotorMotor1;
  4. Inicializaremos una variable de tipo Entero (Int) donde almacenaremos el valor de Angulo del servomotor y procedemos a darle un valor inicial.
    /*Inicializamos variable de tipo entero 
     *asignamos un angulo inicial
    */
    
    int AnguloServomotor=90;
  5. Ahora pasaremos al apartado de configuración llamado void setup() en este apartado declararemos el pin de ataque del tipo PWM de nuestro servomotor.
    void setup(){
    
      //Declaracion de pin de ataque de nuestro servomotor a arduino 
      ServomotorMotor1.attach(3);
    
      //Iiniciamos el puerto serial con 9600 baudios de comunicacion
      Serial.begin(9600);
    
    }
  6. Ahora en el apartado void loop() procederemos a a mover nuestro servomotor en intervalos pre-establecidos para ello utilizaremos la función «articulación».write(«angulo»); quedando del siguiente modo.
    void loop(){
      //escribimos un angulo de rotacion
      AnguloServomotor=10;
      //escribimos ese angulo en la funcion .write de la libreria servo.h
      ServomotorMotor1.write(AnguloServomotor);
      //imprimimos ese angulo en nuestro monitor serial
      Serial.println(AnguloServomotor);
    
      //damos una espera de 500 milisegundos
      delay(500);
    
      //escribimos un nuevo angulo de rotacion
      AnguloServomotor=150;
      //escribimos ese angulo en la funcion .write de la libreria servo.h
      ServomotorMotor1.write(AnguloServomotor);
      //imprimimos ese angulo en nuestro monitor serial
      Serial.println(AnguloServomotor);
    
      //damos una nueva espera de 500 milisegundos
      delay(500);
    }
  7. El código final quedaría de la siguiente forma.
    //Iniciamos la libreria Servo.h
    #include 
    
    //Declaramos el servomotor que utilizaremos
    Servo ServomotorMotor1;
    
    /*Inicializamos variable de tipo entero 
     *asignamos un angulo inicial
    */
    int AnguloServomotor=90;
    
    void setup(){
    
    //Declaracion de pin de ataque de nuestro servomotor a arduino
    ServomotorMotor1.attach(3);
    
    //Iiniciamos el puerto serial con 9600 baudios de comunicacion
    Serial.begin(9600);
    
    }
    
    
    void loop(){
      //escribimos un angulo de rotacion
      AnguloServomotor=10;
      //escribimos ese angulo en la funcion .write de la libreria servo.h
      ServomotorMotor1.write(AnguloServomotor);
      //imprimimos ese angulo en nuestro monitor serial
      Serial.println(AnguloServomotor);
      //damos una espera de 500 milisegundos
      delay(500);
    
      //escribimos un nuevo angulo de rotacion
      AnguloServomotor=150;
    
      //escribimos ese angulo en la funcion .write de la libreria servo.h
      ServomotorMotor1.write(AnguloServomotor);
      //imprimimos ese angulo en nuestro monitor serial
      Serial.println(AnguloServomotor);
      //damos una nueva espera de 500 milisegundos
      delay(500);
    }
  8. Como penúltimo paso realizaremos la siguiente conexión electrónica en nuestra Protoboard – Arduino – servomotor.
  9. Para finalizar cargaremos nuestro código a Arduino y observaremos como nuestro servomotor se mueve en los ángulos predefinidos.
  10. Prueba en cambiar los ángulos de rotación y los tiempos de espera, como se observa en el siguiente ejemplo:
    #include 
    
    Servo AnguloServomotor; // Crea un objeto de tipo Servo
    
    void setup() {
      AnguloServomotor.attach(3); // Asigna el pin 3 a nuestro servo
    }
    
    void loop() {
      AnguloServomotor.write(0); // Establece el ángulo de rotación a 0 grados
      delay(1000); // Espera 1 segundo
    
      AnguloServomotor.write(90); // Establece el ángulo de rotación a 90 grados
      delay(2000); // Espera 2 segundo
    
      AnguloServomotor.write(180); // Establece el ángulo de rotación a 180 grados
      delay(500); // Espera 0.5 segundo
    }

    En este ejemplo, utilizamos la función write() del objeto «AnguloServomotor» para establecer diferentes ángulos de rotación (0, 90 y 180 grados) y la función delay() para esperar 1 segundo entre cada cambio de ángulo. Puedes experimentar modificando los ángulos de rotación y los tiempos de espera para adaptar el movimiento del servomotor según tus necesidades específicas.

Select your currency (Seleccione su moneda)
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare
Menú Principal Categorías CONTACTO
¿Qué buscas en RoboticaDeColombia.Com?
Verificado por MonsterInsights