En este tutorial veremos como se ensambla el Kit pan and Tilt que comercializamos. También expondremos dos ejemplos de uso con Arduino y daremos algunas ideas para su empleo práctico.
El Kit Pan and Tilt brinda la posibilidad de agregar movimientos en el plano horizontal o Pan, esto es en el plano xy en las coodenas 3D; y un movimiento vertical o Tilt, esto es en el plano yz en las coordenadas 3D. Este tipo de Kit es muy empleado en robótica, video vigilancia, radares basados en sensores por ultrasonido o luz, video monitoreo, dispositivos de escaneo, máquinas de posicionamiento de objetos, etc. A continuación algunas imágenes de ejemplos de uso.
Una ventaja adicional que posee este Kit Pan and Tilt es que es metálico por lo que le brindará mayor robustez a su aplicaciones que los similares de material plástico. Otra ventaja de este kit es que incluye dos servos MG995 que por su torque podemos manejar cargas de hasta 0.9212 N·m que es el torque de estos servomotores a 4.8Vdc o 1.078 N·m a 6vdc como vimos en el video de preguntas y respuestas con plugcito: Servomotores interpretación de datos técnicos.
El usuario debe tener en cuenta que existen diversas maneras de ensamblar el Kit pan and Tilt pues todo depende de los movimientos que se desean lograr, por lo que en los ejemplos que siguen a continuación solo muestran una sola forma de ensamble.
Para el ensamble y uso de nuestro Kit Pan and Tilt emplearemos los siguientes productos, materiales y accesorios:
- Se requerirá tambien un destornillador tipo estrella o pala pequeño y una pinza para sostener.
Ensamble
Siguiendo los pasos expuestos en nuestro videotutorial aquí tenemos algunas imágenes ilustrativas de algunos de los pasos y otras que muestan con más detenimiento como debe quedar ensamblado el Kit Pan and Tilt.
En las imágenes 1 a 3 vemos como queda ensamblado el Kit para usarlo solo en sentido Pan.
Imagen No. 1. Vista superior posterior Ensamble Pan.
Imagen No. 2. Perspectiva ensamble Pan.
Imagen No. 3. Vista superior frontal ensamble Pan.
Si deseamos incluir un sensor tipo radar en un robot podemos solo ensamblar el kit hasta este punto de modo que solo sensoamos en el sentido Pan entre 0º y 180º.
En las imágenes 4 a 6 podemos ver como se ensambla la sección Tilt en este kit.
Imagen 4. colocación del servomotor Tilt en Bracket Multipropósito.
Imagen No.5. Servomotor Tilt asegurado en un lado.
Imagen No.6. Servomotor Tilt bien asegurado en ambos lados.
En las imágenes 7 a 9 vemos el Kit Pan and Tilt completamente ensamblado.
Imagen No.7. Kit Pan and Tilt vista lateral.
Imagen No. 8. Kit Pan and Tilt vista frontal.
Imagen No. 9. Kit Pan and Tilt en perspectiva.
Ejemplos de uso con Arduino
Para estos ejemplos, en la sección de hardware utilizamos la Fuente Cuádruple para protoboard desde la cual podemos alimentar con 6Vdc los servomotores y con 12 Vdc en el pin Vin la tarjeta Arduino Uno. La Fuente Cuádruple para protoboard es muy versátil por que no nos ocupa grandes espacios en nuestro protoboard y nos suministra además de 3.3Vdc y 5Vdc fijos el voltaje de entrada suministrado por un adaptador de 12Vdc a nuestra tarjeta Arduino Uno y con la salida variable la establecemos en 6Vdc con el trimmer que trae para alimentar los servomotores.
Diagrama de conexiones para el ejemplo No. 1: Usando el Kit en modo Pan.
Código Arduino para el ejemplo No. 1: Usando el Kit en modo Pan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/***************************** Radar 180 grados *****************************Compañía: Electrónica Plug and Play.http://www.electronicaplugandplay.com/Fecha: 25 de junio de 2018.Descripción:Este código demuestra el funcionamiento de servo en su recorrido grado a grado con posicionamiento en sentido horizontal o PAN. El usuario puedeutilizarlo por ejemplo para sujetar sobre el soporte PAN un sensor infrarrojode obstáculos o uno de ultrasonido en un robot. El servo motor tiene un enable o pin de habilitación en pin8 desde donde se activa un o dispara un mosfet IRF540, el cual es utilizado para aislar la alimentación de 6vdc del servo de la alimentación de arduino y a la vez proteger el drenaje de corriente en los pines de arduino conectados al servo.Advertencia:Este código se pone a disposición del público con la única intención de dar un ejemplo demostrativo para el kit metálico pan&tilt comercializado por Electrónica Plug and Play. Este código se brinda tal y como es y sin la intención de solucionar un problema particular.El usuario es libre de modificarlo o adaptarlo para su aplicación particular.*****************************************************************************/#include <Servo.h> //Librería para manejo de servo motor.#define enable 8 //pin de habilitación de servo.intpos=0;//variable que almacena la posición del servo.Servomyservo;//Crea el Objeto servo.voidsetup(){myservo.attach(9);// Conecta el servo que está en pin pwm 9 con el objeto servo.pinMode(enable,OUTPUT);// Configura pin digital habilitador de servo como salida.digitalWrite(enable,LOW);// La rutina inicia con servo motor inhabilitado.}voidloop(){digitalWrite(enable,HIGH);// Habilita el servo motor.for(pos=0;pos<=180;pos+=1)// Va de 0 grados a 180 grados en pasos de 1 grado. {myservo.write(pos);// Le dice al servo motor que vaya a posición indicada por la variable 'pos'.delay(20);// Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.}delay(2000);// Espera dos segundos cuando alcanza el máximo desplazamiento horizontalfor(pos=180;pos>=0;pos-=1)// Va de 180 grados a 0 grados en pasos de 1 grado.{myservo.write(pos);// Le dice al servo motor que vaya a posición indicada por la variable 'pos'.delay(20);// Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.}delay(2000);// Espera dos segundos cuando alcanza el mínimo desplazamiento horizontal}
Diagrama de conexiones para el ejemplo No. 2: Usando el Kit en modo Pan and Tilt.
Código Arduino para el ejemplo No. 2: Usando el Kit en modo Pan and Tilt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/****************************** Radar Pan&Tilt *******************************Compañía: Electrónica Plug and Play.http://www.electronicaplugandplay.com/Fecha: 25 de junio de 2018.Descripción:Este código demuestra el funcionamiento de dos servos en su recorrido con posicionamiento en sentido horizontal o PAN para un servo y en sentidovertical o TILT, ambos montados en un KIT PAN&TILT Metálico comercializado enwww.electronicaplugandplay.com. El usuario puede utilizarlo por ejemplo para sujetar sobre el soporte de TILT una cámara en un robot o en un drone para así tener un recorrido de 180 grados en el plano xy y en el plano yz. El recorrido PAN se hace cada 20 grados mientras el recorrido TILT se hacegrado a grado.Los servo motores tienen un enable o pin de habilitación en los pines 8 y 12 desde donde se activan o disparan mosfets IRF540, los cuales son utilizado paraaislar la alimentación de los servos de la alimentación de arduino y a la vez proteger el drenaje de corriente en los pines de arduino conectados a los servos pines PWM 9 y 10.Advertencia:Este código se pone a disposición del público con la única intención de dar un ejemplo demostrativo para el kit metálico pan&tilt comercializado por Electrónica Plug and Play. Este código se brinda tal y como es y sin la intención de solucionar un problema particular.El usuario es libre de modificarlo o adaptarlo para su aplicación particular.*****************************************************************************/#include <Servo.h> //Librería para manejo de servo motor.#define enable1 8 //pin de habilitación de servo PAN.#define enable2 12 //pin de habilitación de servo TILT.intposPAN=0;//variable que almacena la posición del servo PAN.intposTILT=0;//variable que almacena la posición del servo TILT.ServoservoPAN;//Crea el Objeto servo PAN.ServoservoTILT;//Crea el Objeto servo TILT.voidsetup(){servoPAN.attach(9);// Conecta el servo que está en pin pwm 9 con el objeto servo.servoTILT.attach(10);// Conecta el servo que está en pin pwm 10 con el objeto servo.pinMode(enable1,OUTPUT);// Configura pin digital habilitador de servo PAN como salida.digitalWrite(enable1,LOW);// La rutina inicia con servo motor PAN inhabilitado.pinMode(enable2,OUTPUT);// Configura pin digital habilitador de servo TILT como salida.digitalWrite(enable2,LOW);// La rutina inicia con servo motor TILT inhabilitado. }voidloop(){digitalWrite(enable1,HIGH);// Habilita el servo motor PAN.for(posPAN=0;posPAN<=180;posPAN+=20)// Va de 0 grados a 180 grados en pasos de 20 grados. {servoPAN.write(posPAN);// Le dice al servo motor que vaya a posición indicada por la variable 'posPAN'.delay(15);// Espera hasta que el servo alcance la posición indicada con el mínimo tiempo según características del servo. digitalWrite(enable2,HIGH);// Habilita el servo motor TILT.for(posTILT=0;posTILT<=180;posTILT+=1)// Va de 0 grados a 180 grados en pasos de 1 grado. {servoTILT.write(posTILT);// Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.delay(20);// Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento. }for(posTILT=180;posTILT>=0;posTILT-=1)// Va de 180 grados a 0 grados en pasos de 1 grado.{servoTILT.write(posTILT);// Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.delay(20);// Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.}}delay(2000);// Espera dos segundos cuando alcanza el máximo desplazamiento horizontal PAN.for(posPAN=180;posPAN>=0;posPAN-=20)// Va de 180 grados a 0 grados en pasos de 20 grados. {servoPAN.write(posPAN);// Le dice al servo motor que vaya a posición indicada por la variable 'posPAN'.delay(15);// Espera hasta que el servo alcance la posición indicada con el mínimo tiempo según características del servo. digitalWrite(enable2,HIGH);// Habilita el servo motor TILT.for(posTILT=0;posTILT<=180;posTILT+=1)// Va de 0 grados a 180 grados en pasos de 1 grado. {servoTILT.write(posTILT);// Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.delay(20);// Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento. }for(posTILT=180;posTILT>=0;posTILT-=1)// Va de 180 grados a 0 grados en pasos de 1 grado.{servoTILT.write(posTILT);// Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.delay(20);// Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.}}delay(2000);// Espera dos segundos cuando alcanza el máximo desplazamiento horizontal PAN. }
Video tutorial:
No olvides dejarnos tus comentarios en nuestras redes sociales y regalarlos un "me gusta" o un +1.