Blog Search

Recent Articles

Latest Comments

Pinza robótica con Arduino

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 leantec Pinza robótica
Servos
Arduino Uno
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:

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                   
  

 } 

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment:
Type Code