Robotics | Arcade | Electronics

1
2,15

    Cart

    Pinza robótica con Arduino

    Pinza Robótica con Arduino

    Hola amigos técnologos, en nuestra entrada de hoy, montaremos un curioso proyecto en el que con la ayuda de dos servos y un Arduino, moveremos la »muñeca» y los »dedos» de una pinza robótica. La práctica consistirá en programar los servos que dan el movimiento a la pinza de modo que obedezcan el movimiento de dos potenciómetros.

    Materiales necesarios

    pinza robotica arduino leantecPinza robótica
    Servos
    Arduino UNO R3
    Protoboard
    Potenciómetros
    Cables

    Conozcamos mejor la pinza robótica y los servos

    Pinza robótica:

    La pinza robótica es un mecanismo formado por dos piezas moviles las cuales pueden cerrarse y abrirse ejerciendo cierta presión, para así poder sujetar objetos.

    Esta compuesta por piezas de aluminio y estas a su vez ensambladas con tornillos de métrica 3.

    Dimensiones de la pinza robótica:

    Dimensiones pinza robotica arduino leantec

    Servos:

    Un servomotor es un actuador electrónico, compuesto básicamente por un motor de corriente continua, unos engranajes reductores y una electrónica de control.

    Gracias a esta electrónica podemos hacer que el motor tome una posición concreta y ademas se oponga al cambio mecanico de esa posición.

    Para ampliar información sobre los servomotores, puede descargarte la siguiente hoja de datos:

    Conexion del servo

    Conector servomotor

    Práctica con pinza robótica:

    En la práctica de hoy moveremos la muñeca y los dedos de una pinza robótica girando dos potenciometros.

    Esquema de montaje

    Conexion pinza robotica arduino

    Código de control

    #include <Servo.h> 
    
    Servo servomuneca;  //Creamos el servo de la muñeca
    Servo servopinza;  // Creamos el servo de la pinza
    
    int angulomuneca = 0;//Creamos la variable angulomuneca
    int angulopinza = 0;//Creamos la variable angulopinza
    
    int valorPotenciometro1 = 0;//Creamos la variable valorPotenciometro1
    int valorPotenciometro2 = 0;//Creamos la variable valorPotenciometro2
     
    void setup() 
    { 
      Serial.begin(9600);//Inicializamos el puerto serie
      servomuneca.attach(8);//Definimos el pin de servomuneca
      servomuneca.write(90);//Ponemos el servo a 90 grados  
      servopinza.attach(9);//Definimos el pin de servopinza
      servopinza.write(90);//Ponemos el servo a 90 grados  
      delay(2000);//Esperamos 2 segundos  
    } 
     
    void loop() 
    { 
      //Lee el valor del potenciometro
      valorPotenciometro1 = analogRead (0);//Leemos el valor del poten. 1
      valorPotenciometro2 = analogRead (1);//Leemos el valor del poten. 2
      
      /*Mapeamos el valor de los potenciometros para que el valor leido
      siempre este entre 10 y 180 grados y lo guardamos en la variables 
      declaradas para almacenar los ángulos*/
      angulomuneca = map (valorPotenciometro1, 0, 1023, 10, 180);
      angulopinza = map (valorPotenciometro2, 0, 1023, 10, 180);
      
      
      servomuneca.write(angulomuneca);//Damos al servo el ángulo resultante 
      servopinza.write(angulopinza);//Damos al servo el ángulo resultante                   
      
    
     } 
    
    
    Esperamos que les sea de utilidad y no olviden que en nuestro blog encontrará muchos otros post de su interes.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    1
    2,15

      Cart

      COMPARE PRODUCTS