Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Reporte Robot de Tareas - Final

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 41

ROBOT DE TAREAS

NOMBRE DEL ROBOT:

OCOL-PIXÁN
ANGEL AUGUSTO PARDENILLA UC

ABNER ENRIQUE SALAZAR PECH


PATRICIA DE LOS ANGELES YAM
GONZÁLEZ
Contenido
Introducción ........................................................................................................ 1
Descripción del robot .......................................................................................... 3
Materiales y metodología (proceso de construcción del robot)........................... 4
Materiales: ...................................................................................................... 4
Electrónica (componentes y elementos de salida): ...................................... 4
Electrónica (conexiones):............................................................................. 9
Alimentación .............................................................................................. 12
Elementos para la construcción del robot .................................................. 14
Metodología .................................................................................................. 19
Programación ............................................................................................ 19
Electrónica ................................................................................................. 31
Estructura .................................................................................................. 34
Resultados esperados. ..................................................................................... 35
Referencias. ..................................................................................................... 36
Introducción.
El surgimiento de la robótica sienta sus bases en el impulso por facilitar y
optimizar cualquier tarea productiva. Iniciando con algunos inventos hechos en
la revolución industrial, como las máquinas robotizadas como la hiladora
mecánica de Crompton en 1779 y el telar de Jacquard en 1801. Aunque
actualmente, al escucharse la palabra “robot” se relaciona con una máquina
semejante a un humano, este no necesariamente tiene esa apariencia, el
Instituto de Robots de América por su traducción en inglés, Robot Institute of
America (1979), lo define como “un dispositivo multifuncional reprogramable
diseñado para manipular y/o transportar material a través de movimiento
programados para la realización de tareas variadas”, por lo cual su diseño varía
respecto a su finalidad. Pese a esta definición, la palabra “robot” fueempleada en
1921 en una obra teatral realizada por Karel Capek, en la cual el gerente de
una fábrica construía unos seres al absoluto servicio del hombre, quehacían
todas y cada una de las tareas mientras que los humano se dedicaban alocio
permanente. En otras palabras, estos artefactos tienen la finalidad de facilitar la
carga productiva del humano al realizar tareas repetitivas, esto a travésde la
programación.
Por dicha razón, el robot que se realizó es el de tareas, llamado “Ocol-Pixán”,
que significa depredador de almas en maya, ya que tiene la finalidad de llevar
el material (pelotas de plástico ligero) de un punto A a un punto B en el menor
tiempo posible, esto se podríaaplicar a las áreas donde se busca trasladar
objetos de un lugar a otro lo más rápido posible sin afectar los elementos a
transportar. Si bien el diseño de este robot es por medio de la absorción y
almacenamiento de las pelotas por medio de dos ruedas giratorias (las cuales
consideran un peso muy liviano del objeto aprovechando prácticamente al
máximo las revoluciones por minuto señaladas por el fabricante con el ingreso
del voltaje). Su diseño se puede adaptar al transporte de objetos más pesados
empleando motores con un torque mayor y una estructura más resistente, al
igual que los motores para la movilidad. Sin embargo, para fines del proyecto,
su estructura, diseño y elementos utilizados es completamente eficaz, ya que
permite transportar las pelotas, almacena ciertacantidad en su interior y las
expulsa por medio de una compuerta en el punto final. El material empleado
para la estructura, por otro lado, es ligero lo cual permite un mejor
funcionamiento para los motores que se encargan del movimiento del robot. De
igual modo, en la sección de materiales y construcción,se encontrará más
información acerca del porqué se realizó de esta manera.

Se considera importante realizar este tipo de robots para fomentar la creatividad


y la innovación de los jóvenes para resolver problemas o eficientizar las tareas
que sonrepetitivas o difíciles de hacer (por ejemplo, si se transportaran objetos
pesados) y posteriormente, aplicarlo a situaciones propias de un entorno
industrial donde se trata con elementos más complejos. Aplicando en el diseño
del robot realizado, se podrían hacer modificaciones para componentes de
1
diferente forma (aunque se consideró dicho diseño al considerar las
características de las pelotas).
El robot tiene como objetivo principal:

Transportar pelotas de 8 cm de diámetro con un peso de 3 g de un punto


A a un punto B por medio del uso de un control remoto considerando
dimensiones máximas de 30 centímetro cúbicos.
Sus objetivos específicos son:

Almacenar las pelotas en una estructura que permita contener la mayor


cantidad de pelotas sin deformarlas ni causar atascamiento.

Expulsar las pelotas al llegar al punto final, siendo lo más preciso posible.

2
Descripción del robot.
El robot de tareas “Ocol-Pixán” permite transportar pelotas de un área
determinada a una salida designada por medio de su control a través del
celular empleando la aplicación Bluetooth RC Controller. Este permite el
almacenamiento de pelotas en su interior, las medidas aproximadas son
las presentadas en las figuras 1, 2 y 3.

En la figura 1 se aprecian las medidas de la cubierta.

Figura 1. Medidas de la estructura con la función de proteger y almacenar pelotas en mm.

En la figura 2 se aprecian las medidas de la de la base que sostiene la


cubierta inferior.

Figura 2. Medidas de la base para sostener la estructura protectora en mm.

3
En la figura 3 se aprecian el área que ocupan las rampas de absorción y
expulsión

Figura 3. Medidas de las rampas de absorción y expulsión en mm.

Para el enlace a través del Bluetooth se empleó la placa de desarrollo ESP32


de 38 pines, que permite la comunicación por medio de Bluetooth y Wifi. Se
programó a través del IDE de Arduino.

Su funcionamiento consiste que al presionar ciertos botones del control


(celular), se activen diferentes funciones, es decir, considerando la figura 4
(interfaz de la aplicación), se tiene lo siguiente:

Donde los botones con las flechas en las cuatro direcciones hacia arriba,
abajo, derecha e izquierda funcionan para la movilidad del robot.

En la parte superior se observan diferentes botones, los cuales se


describirán de izquierda a derecha. El primero (luces delanteras) se utilizó
para activar y desactivar los motores de absorción girando hacia adentro
para introducir las pelotas al depósito del robot. El segundo (luces
traseras) tiene básicamente la misma función que el primero, pero los
motores giran hacia afuera en el caso de que una pelota se atore. El
tercero se empleó para activar el buzzer y escuchar una melodía. El cuarto
(con forma de triángulo) activa el servomotor para mover la compuerta y
depositar las pelotas en el punto B.

El círculo en el extremo izquierdo señala el estado de conexión con el


microcontrolador, cuando su color sea rojo significa que está desactivado
y cuando sea verde señala que está conectado.

4
Figura 4. Interfaz de la aplicación Bluetooth RC Controller.

5
Materiales y metodología (proceso de construcción del
robot).
Para realizar el robot de tareas se emplearon diferentes materiales los cuales
se clasificarán por categorías y tendrán una breve descripción de su propósito
en el armado del robot, con el fin de tener una mejor comprensión de estos, de
igual modo se señalará la relación de la cantidad empleada por cada uno de los
estos.

Materiales:
Electrónica (componentes y elementos de salida):

Placa de desarrollo ESP32 Módulo de doble núcleo inalámbrico Wifi +


Bluetooth.
Se optó por emplear esta placa de desarrollo por sus dimensiones, su
capacidad y el lenguaje de programación que emplea.
Esta placa cuenta con una entrada de alimentación de 3.3V.

Este tiene la cantidad de salidas digitales necesarias para el correcto


funcionamiento del robot de tareas, además que permite la comunicación
Bluetooth sin necesidad de alguna extensión. Para la programación de este se
emplea el IDE de Arduino.
Cantidad empleada: 1

En la figura 5, se presenta la placa de desarrollo ESP32.

Figura 5. Placa de desarrollo ESP32.

6
Circuito Integrador (CI) L293D Puente H.

Este CI al poseer 4 entradas, permite el control de dos motores. Esta señado


para proporcionar corrientes de accionamiento bidireccional hasta de 600mA
en tensiones de 4.5V a 36V. Cuenta con dos habilitadores por motor. A pesar
de su número de pines (16), su diseño compacto lo hace ideal para ocupar el
menor espacio posible.
Se empleó para el control de la movilidad de robot y los motores de absorción
(la cual será el modo de almacenar las pelotas).
Cantidad empleada: 3

En la figura 6, se observa el CI anteriormente mencionado.

Figura 6. CI L293D Puente H.

Servomotor MG90S.

Se optó por emplear este modelo de servomotor por su capacidad, ya que


posee un torque de 1.8kg por centímetro, su ángulo de rotación es ideal ya que
va de 0° a 180°.
Se utilizó para mover la compuerta para la expulsión de las pelotas.
Cantidad empleada: 1
En la figura 7, se observa un ejemplo de este servomotor.

Figura 7. Servomotor MG90S.

7
Motor reductor.

Se emplearon por su relación de engranes y su reducción de 1:48 y su torque


de hasta 800g por centímetro con 3V de alimentación (aunque esta puede ser
hasta de 12V). Permite hasta 230 revoluciones por minuto (RPM).
Estos se utilizaron para la movilidad del robot.
Cantidad empleada: 4
En la figura 8, se observa una imagen del motor reductor.

Figura 8. Motor reductor.

Motor reproductor de CD y DVD D/V.0AB.

Fue utilizado para la absorción de las pelotas como un tipo de molinos, estos
tienen una alimentación de 1.5V a 6V. Su diseño compacto permite y su
velocidad (3.7V 5600 RPM) los hacen ideales para la tarea designada.
Cantidad empleada: 2

En la figura 9, se observa un modelo de este motor.

Figura 9. Motor reproductor de CD y DVD D/V.0AB.

8
CI Regulador LM1117T.

Este CI permite regular un voltaje a 3.3V y a 1A de corriente. Cuenta con tres


entradas, que son la entrada del voltaje a modificar, la tierra y el voltaje de
salida deseado (3.3V).
Este fue empleado para la entrada de alimentación de la placa ESP32.
Cantidad empleada: 1
Este CI se visualiza en la figura 10.

Figura 10. CI LM1117.

CI Regulador LM7805T.

Este CI permite regular un voltaje a 5V y 1.5A de corriente. Cuenta con tres


entradas, de las cuales una es para el voltaje a regular, otra para el voltaje de
salida (ya regulado a 5V) y finalmente la tierra.
Este fue utilizado para regular el voltaje de las baterías y de ese modo
alimentar a todos los dispositivos que requerían una alimentación de 5V
(motores, CI, servomotor).

Cantidad empleada: 1

Este CI se visualiza en la figura 11.

Figura 11. CI LM7805T.

9
Mini Buzzer zumbador activo 4KHz.

Este buzzer o repetidor se empleó para emitir sonido con fines creativos, en el
momento en el que el usuario desee utilizarlo. Su voltaje de alimentación va de
1.5V a 16V y posee una frecuencia de 4KHz y su diseño es compacto, por lo
cual no afecta el tenerlo en la misma placa.
Cantidad empleada: 1

En la figura 12, se observa una imagen de este tipo de buzzer.

Figura 12. Mini Buzzer de 4KHz.

Conexiones:

Placa fenólica perforada.

La placa fenólica perforada se empleó para hacer las conexiones finales para el
robot, ya que al no emplear sensores no se genera un ruido que afecte al
sistema, además su conexión es más práctica ya que se asemeja a una placa
de conexiones. Sus dimensiones son 7cm por 14.5cm.
Cantidad empleada: 1

En la figura 13, se muestra una imagen de esta placa.

Figura 13. Placa fenólica perforada.

10
Cable alambre estañado rojo y azul 24 AWG.

Este cable estañado sirvió para hacer las conexiones en la placa fenólica y
algunos elementos como motores.
Cantidad empleada: 5m (aproximadamente).

En la figura 14, se visualiza un ejemplo de este tipo de cable.

Figura 14. Cable alambre estañado 24 AWG.

Borneras estándar de 2 y 3 entradas.

Estos elementos sirven como medio de conexión entre cables. En este caso se
emplearon para conectar los motores con los CI y para las alimentaciones.

Cantidad empleada: Borneras de 2 entradas: 3

Borneras de 3 entradas: 3

En la figura 15, se visualiza un ejemplo de estas borneras, señalando de 2, 3 y


4 entradas.

Figura 15. Borneras estándar de 2, 3 y 4 entradas.

11
Soldadura estaño-plomo.

Este tipo de soldadura tiene 1mm de diámetro, una composición 60/ de estaño-
plomo. Se empleó para soldar los cables y todas las conexiones en la placa
fenólica.
Cantidad empleada: 1 tubo.

En la figura 16, se visualiza un ejemplo de la soldadura en su contenedor.

Figura 16. Frasco con soldadura estaño-plomo.

Base socket 16 pines para circuito integrado.

Es una base diseñada para CI de 8 pines por lado, de modo que el CI no se


solde directamente a la placa si no que se pueda remover en cualquier
momento. Se empleó para cada uno de los CI de los puentes H.
Cantidad empleada: 3

En la figura 17, se visualiza este elemento.

Figura 17. Base socket 16 pines para CI.

Barra hembra header pines largos 1x40.

Consiste en una tira de 40 pines hembra con 2.54mm de largo de las puntas
que tiene la finalidad de no soldar de manera directa los componentes para
12
poder removerlos en caso de necesitarlo. Se empleó para colocar el ESP32 en
la placa fenólica.
Cantidad empleada: 1

Esta barra de pines se visualiza en la figura 18.

Figura 18. Barra hembra header pines largos 1x40.

13
Alimentación:

Baterías recargables AA Steren.

Estas baterías tienen 1.2V y 1300 mAh, permiten recargarse con un cargador
especial de la misma marca. Fueron empleadas para alimentar al
microcontrolador debido a su corriente y voltaje.

Cantidad empleada: 4

En la figura 19, se observa un ejemplo de estas en su respectivo cargador.

Figura 19. Baterías recargables AA Steren en su cargador.

Porta baterías para 4 baterías AA en serie.

Este dispositivo permite sumar el voltaje de las baterías que se coloquen


dentro. Fue empleado para obtener un voltaje de 4.8V y una corriente de
1200mAh al insertar 4 de las baterías antes mencionadas y de ese modo
alimentar al microcontrolador a partir de sus terminales.
Cantidad empleada: 1

En la figura 20, se observa una porta baterías como el descrito.

Figura 20. Porta baterías AA.

14
Baterías recargables Li-ion 4.2V 9800mAh.

Estas baterías del material Li-ion suministran 4.2V y 9800mAh por cada una y
permiten recargarse con un cargador especial, tienen un tamaño mayor al de
las AA tanto en grosor como en largo.
Se emplearon para suministrar energía a todos los elementos que requirieran
una alimentación de 5V. Se conectaron en serie para duplicar el voltaje y
mantener la corriente.

Cantidad empleada: 2

En la figura 21, se observan este tipo de baterías.

Figura 21. Baterías recargables Li-ion 4.2V 9800mAh.

Porta baterías para 2 baterías SD 18650 en serie.

Sirve para duplicar el voltaje de las baterías colocadas y mantener su corriente.


Fue empleado para conectar a las líneas de alimentación de la placa fenólica
por medio de las borneras.

Cantidad empleada: 1

En la figura 22, se visualiza un ejemplo de este tipo de porta baterías.

Figura 22. Porta baterías 18650.

15
Elementos para la construcción del robot.

Triplay de 6mm.

Consiste en madera delgada prensada que resulta ligera, se empleó para hacer
la estructura del robot en la base y algunas de las paredes.
Cantidad empleada: 2 pliegos de 30cm x 60cm (aproximadamente).
En la figura 23, se observa este tipo de triplay.

Figura 23. Triplay 6mm.

Llantas amarilla Arduino 47x12mm.

Estas llantas están diseñadas para acompañar a los motores reductores


amarillos Arduino, de modo que fueron empleadas para la movilidad del robot y
para los motores de absorción (se hicieron ajustes para esta clase de motores).

Cantidad empleada: 6

En la figura 24, se observan este tipo de llantas.

Figura 24. Llantas amarilla Arduino 47x12mm.

16
Tela de microfibra.

Este material se emplea para hacer un tope en las estructuras y de ese


modo, evitar la expulsión de estas por la parte de arriba
Cantidad empleada: una pliego de 23 x 26 cm.

En la figura 25, se observa un pliego de tela de microfibra.

Figura 25. Tela de microfibra

Tubo de pegamento de contacto Super mil 5.


Se empleó para pegar todas las piezas de triplay.
Cantidad empleada: 1 tubo.

En la figura 26, se visualiza este elemento.

Figura 26. Tubo de pegamento de contacto Super mil 5.

17
Escuadra Esquinera Metálica Galvanizada 37mm.
Se empleó para sostener la cubierta inferior con la base.
Cantidad empleada: 4

En la figura 27, se visualiza un ejemplo de esta esquinera.

Figura 27. Escuadra Esquinera Metálica Galvanizada 37mm.

Tornillos 0.5cm por 1cm.


Se emplearon para sostener las piezas de triplay.
Cantidad empleada: 4

En la figura 28, se visualiza un ejemplo de tornillo.

Figura 28. Tornillos 0.5cm por 1cm.

18
Tuercas 0.3cm por 1cm.
Las tuercas se emplearon en conjunto con los tornillos y las pijas para una mejor
sujeción de la base.
Cantidad empleada: 4

En la figura 29, se visualiza un ejemplo de esta tuerca.

Figura 29. Tuercas 0.3cm por 1cm.

Pija 0.5cm por 1.5cm.


Se emplearon para sostener las escuadras y la base.
Cantidad empleada: 4

En la figura 30, se visualiza un ejemplo de esta pija.

Figura 30. Pija 0.5cm por 1.5cm.

19
Barra de silicón mediana.

Fue empleada con ayuda de una pistola de silicón para que las terminales
soldadas de los motores no se quebraran debido a la manipulación.

Cantidad empleada: 2

En la figura 31, se visualizan unas barras de silicón.

Figura 31. Barra de silicón mediana.

Botella de aerosol negro mate.

Se empleó para hacer decoraciones en la estructura.


Cantidad empleada: 1 lata (porcentaje de una).
En la figura 32, se visualizan una botella de aerosol negro mate.

Figura 32. Botella de aerosol negro mate.

20
Metodología:
La metodología se seccionará en tres partes que corresponden a la programación,
electrónica y estructura, de modo que su compresión sea más amena.
Programación:
En este apartado se seccionará en 3 grandes grupos, los cuales son:
1. Configuración de salidas digitales y variables a utilizar.
2. Función principal
3. Funciones adicionales para usar dentro del principal
Estos apartados nos servirán para detallar y explicar las líneas de código de la
mejor manera.

Configuración:
Podemos checar en las primeras líneas que se tiene 2 palabra clave “#include” las
cuales son palabras reservadas para poder incluir librerías externas que nos
ayudaran en el proceso de funciones, estas dos librerías que se usaron son para la
conexión Bluetooth y para usar un servomotor específicamente en la placa de
trabajo esp32.
Posterior a ello se declaran nombres claves para las salidas a los motores, servo y
buzzer, así como una variable de tipo carácter “char” la cual nos servirá para la
lectura de letras por el puerto de comunicación Bluetooth.

#include "BluetoothSerial.h"
#include "ESP32Servo.h"

BluetoothSerial SerialBT;
int Pin1Motor1 = 19;
int Pin2Motor1 = 21;
int Pin1Motor2 = 22;
int Pin2Motor2 = 23;
int Pin1Motor3 = 2;
int Pin2Motor3 = 4;
int Pin1Motor4 = 5;
int Pin2Motor4 = 18;
int Pin1Motor5 = 32;
int Pin2Motor5 = 33;
int Pin1Motor6 = 25;
int Pin2Motor6 = 26;
char mensaje;
Servo myservo1;

En esta sección se define lo que serán las frecuencias, tonos y duración de


las notas para la melodía la cual únicamente servirá para darle un plus al robot
meramente para entretenimiento.

21
#define NOTE_B0 31
#define NOTE_C1 33
#define NOTE_CS1 35
#define NOTE_D1 37
#define NOTE_DS1 39
#define NOTE_E1 41
#define NOTE_F1 44
#define NOTE_FS1 46
#define NOTE_G1 49
#define NOTE_GS1 52
#define NOTE_A1 55
#define NOTE_AS1 58
#define NOTE_B1 62
#define NOTE_C2 65
#define NOTE_CS2 69
#define NOTE_D2 73
#define NOTE_DS2 78
#define NOTE_E2 82
#define NOTE_F2 87
#define NOTE_FS2 93
#define NOTE_G2 98
#define NOTE_GS2 104
#define NOTE_A2 110
#define NOTE_AS2 117
#define NOTE_B2 123
#define NOTE_C3 131
#define NOTE_CS3 139
#define NOTE_D3 147
#define NOTE_DS3 156
#define NOTE_E3 165
#define NOTE_F3 175
#define NOTE_FS3 185
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
22
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
#define NOTE_DS5 622
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_FS5 740
#define NOTE_G5 784
#define NOTE_GS5 831
#define NOTE_A5 880
#define NOTE_AS5 932
#define NOTE_B5 988
#define NOTE_C6 1047
#define NOTE_CS6 1109
#define NOTE_D6 1175
#define NOTE_DS6 1245
#define NOTE_E6 1319
#define NOTE_F6 1397
#define NOTE_FS6 1480
#define NOTE_G6 1568
#define NOTE_GS6 1661
#define NOTE_A6 1760
#define NOTE_AS6 1865
#define NOTE_B6 1976
#define NOTE_C7 2093
#define NOTE_CS7 2217
#define NOTE_D7 2349
#define NOTE_DS7 2489
#define NOTE_E7 2637
#define NOTE_F7 2794
#define NOTE_FS7 2960
#define NOTE_G7 3136
#define NOTE_GS7 3322
#define NOTE_A7 3520
#define NOTE_AS7 3729
#define NOTE_B7 3951
#define NOTE_C8 4186
#define NOTE_CS8 4435
#define NOTE_D8 4699
#define NOTE_DS8 4978
#define REST 0
23
int tempo = 105;
int buzzer = 13;

Posterior a definer las notas se agregan a un “array” la cual indicara el orden


para tocar las notas, para luego configurar la velocidad en la que se reproducen y
la duración.

int melody[] = {
NOTE_B4, 16, NOTE_B5, 16, NOTE_FS5, 16, NOTE_DS5, 16, //1
NOTE_B5, 32, NOTE_FS5, -16, NOTE_DS5, 8, NOTE_C5, 16,
NOTE_C6, 16, NOTE_G6, 16, NOTE_E6, 16, NOTE_C6, 32, NOTE_G6, -16,
NOTE_E6, 8,

NOTE_B4, 16, NOTE_B5, 16, NOTE_FS5, 16, NOTE_DS5, 16, NOTE_B5, 32,
//2
NOTE_FS5, -16, NOTE_DS5, 8, NOTE_DS5, 32, NOTE_E5, 32, NOTE_F5, 32,
NOTE_F5, 32, NOTE_FS5, 32, NOTE_G5, 32, NOTE_G5, 32, NOTE_GS5, 32,
NOTE_A5, 16, NOTE_B5, 8
};
int notes = sizeof(melody) / sizeof(melody[0]) / 2;
int wholenote = (60000 * 4) / tempo;
int divider = 0, noteDuration = 0;

En esta sección del programa se configuran si las variables que declaramos son
salidas o entrada de datos, así como le frecuencia del oscilador mecánico que tiene
la placa de Desarrollo para trabajar.
Se declara el nombre de la señal Bluetooth, en este caso “Ocol Pixán”, y las
salidas de los motores y buzzer.

void setup()
{
Serial.begin(9600);
SerialBT.begin ("Ocol Pixán");
pinMode(Pin1Motor1, OUTPUT);
pinMode(Pin2Motor1, OUTPUT);
pinMode(Pin1Motor2, OUTPUT);
pinMode(Pin2Motor2, OUTPUT);

pinMode(Pin1Motor3, OUTPUT);
pinMode(Pin2Motor3, OUTPUT);
pinMode(Pin1Motor4, OUTPUT);
pinMode(Pin2Motor4, OUTPUT);

pinMode(Pin1Motor5, OUTPUT);
24
pinMode(Pin2Motor5, OUTPUT);
pinMode(Pin1Motor6, OUTPUT);
pinMode(Pin2Motor6, OUTPUT);

pinMode(buzzer, OUTPUT);
digitalWrite(Pin1Motor1, LOW);
digitalWrite(Pin2Motor1, LOW);
digitalWrite(Pin1Motor2, LOW);
digitalWrite(Pin2Motor2, LOW);

digitalWrite(Pin1Motor3, LOW);
digitalWrite(Pin2Motor3, LOW);
digitalWrite(Pin1Motor4, LOW);
digitalWrite(Pin2Motor4, LOW);

digitalWrite(Pin1Motor5, LOW);
digitalWrite(Pin2Motor5, LOW);
digitalWrite(Pin1Motor6, LOW);
digitalWrite(Pin2Motor6, LOW);

myservo1.attach(27);
myservo1.write(0);
digitalWrite(buzzer, LOW);
}

Función principal

Se empezó realizando una sentencia en la cual, si la comunicación de Bluetooth se


encuentra bien, esta realizara una lectura del Puerto Serial para identificar que
carácter de letra se le está enviando.
Luego se realiza un listado de caracteres en la cual, si esa letra es
mandada, el programa realizara la función que se le declare a esa letra.
Las letras que se usan son las siguientes:
1. F =Adelante
2. B = atrás
3. L = Izquierda
4. R = Derecha
5. U = Expulsar pelota
6. W = Absorbe pelota
7. V = Active el claxon
8. X = Active la compuerta trasera para depositar pelotas
void loop()
{
if (SerialBT.available());
{
25
mensaje = SerialBT.read();
}
switch (mensaje) {
case ‘F’:
26delante();
delay(25);
freno();
break;
case ‘B’:
atras();
delay(25);
freno();
break;
case ‘L’:
GiroIzquierda();
delay(25);
freno();
break;
case ‘R’:
GiroDerecha();
delay(25);
freno();
break;
case ‘U’:
expulsar();
break;
case ‘u’:
paro();
break;
case ‘V’:
claxon();
break;
case ‘W’:
absorcion();
break;
case ‘w’:
paro();
break;
case ‘X’:
abrir();
break;
case ‘x’:
cerrar();
break;
}
26
}

Funciones adicionales
Se tienen las siguientes funciones creadas por el usuario para realizar
determinadas acciones en las salidas o entradas de señales al microcontrolador.
1- Adelante
2- atrás
3- Giro Derecha
4- Giro Izquierda
Estas funciones activan o desactivan los motores de movilidad, así como cambiar
la dirección de rotación, esto para poder generar una movilidad lo más libre posible.
Luego se tienen las siguientes funciones para las acciones restantes:
1- absorción
2- Expulsar
3- Paro
4- Abrir
5- Cerrar
6- Claxon
Las primeras dos funciones tienen como finalidad absorber las pelotitas de plástico
para el reto, así como también expulsarlas en dado caso que así sea requerido, la
función de paro tiene como finalidad detener los motores de absorción.
Las funciones de abrir y cerrar son propias del servomotor, la cual se
moverá a 180 grados para abrir o a 90 grados para mantener cerrado.

void adelante()
{
digitalWrite(Pin1Motor1, HIGH);
digitalWrite(Pin2Motor1, LOW);
digitalWrite(Pin1Motor2, HIGH);
digitalWrite(Pin2Motor2, LOW);

digitalWrite(Pin1Motor3, HIGH);
digitalWrite(Pin2Motor3, LOW);
digitalWrite(Pin1Motor4, HIGH);
digitalWrite(Pin2Motor4, LOW);
}

void atras()
{
digitalWrite(Pin1Motor1, LOW);
digitalWrite(Pin2Motor1, HIGH);
digitalWrite(Pin1Motor2, LOW);
digitalWrite(Pin2Motor2, HIGH);

27
digitalWrite(Pin1Motor3, LOW);
digitalWrite(Pin2Motor3, HIGH);
digitalWrite(Pin1Motor4, LOW);
digitalWrite(Pin2Motor4, HIGH);
}

void GiroDerecha()
{
digitalWrite(Pin1Motor1, HIGH);
digitalWrite(Pin2Motor1, LOW);
digitalWrite(Pin1Motor2, LOW);
digitalWrite(Pin2Motor2, HIGH);

digitalWrite(Pin1Motor3, HIGH);
digitalWrite(Pin2Motor3, LOW);
digitalWrite(Pin1Motor4, LOW);
digitalWrite(Pin2Motor4, HIGH);
}
void GiroIzquierda()
{
digitalWrite(Pin1Motor1, LOW);
digitalWrite(Pin2Motor1, HIGH);
digitalWrite(Pin1Motor2, HIGH);
digitalWrite(Pin2Motor2, LOW);

digitalWrite(Pin1Motor3, LOW);
digitalWrite(Pin2Motor3, HIGH);
digitalWrite(Pin1Motor4, HIGH);
digitalWrite(Pin2Motor4, LOW);
}
void freno()
{
digitalWrite(Pin1Motor1, LOW);
digitalWrite(Pin2Motor1, LOW);
digitalWrite(Pin1Motor2, LOW);
digitalWrite(Pin2Motor2, LOW);

digitalWrite(Pin1Motor3, LOW);
digitalWrite(Pin2Motor3, LOW);
digitalWrite(Pin1Motor4, LOW);
digitalWrite(Pin2Motor4, LOW);
}
void absorcion()
{
digitalWrite (Pin1Motor5, HIGH);
28
digitalWrite (Pin2Motor5, LOW);
digitalWrite (Pin1Motor6, LOW);
digitalWrite (Pin2Motor6, HIGH);
}
void expulsar()
{
digitalWrite (Pin1Motor5, LOW);
digitalWrite (Pin2Motor5, HIGH);
digitalWrite (Pin1Motor6, HIGH);
digitalWrite (Pin2Motor6, LOW);
}
void paro()
{
digitalWrite (Pin1Motor5, LOW);
digitalWrite (Pin2Motor5, LOW);
digitalWrite (Pin1Motor6, LOW);
digitalWrite (Pin2Motor6, LOW);
}

void abrir()
{
myservo1.write(180);
delay(100);
}

void cerrar()
{
myservo1.write(0);
delay(100);
}
void claxon(){
for (int thisNote = 0; thisNote < notes * 2; thisNote = thisNote + 2) {
divider = melody[thisNote + 1];
if (divider > 0) {
noteDuration = (wholenote) / divider;
} else if (divider < 0) {
noteDuration = (wholenote) / abs(divider);
noteDuration *= 1.5;
}
tone(buzzer, melody[thisNote], noteDuration * 0.9);
delay(noteDuration);
noTone(buzzer);
}}

29
Electrónica:

Antes de emplear la placa fenólica perforada, se empleó una protoboard, en


donde para la movilidad, se utilizaron los CI L293D, que considerando la
información de la hoja de datos y se alimentaron con 5V provenientes de 2
eliminadores de baterías caseros y alimentando al ESP32 con la entrada
microUSB. Se conectó de la siguiente forma (figura 34):

Figura 34. Circuito para la movilidad del robot. Prueba 1.

Considerando la relación entradas/salidas de este CI (figura 35), se explica la


conexión de este.

Figura 35. Entradas/salidas L293D.

Los pines 1 y 9, que corresponden a los habilitadores de los pines para los
motores de cada lado, y los pines 8 y 16, que corresponden a la alimentación
del CI se conectan a positivo, en este caso a 5V. Los pines 2,7 son aquellos
que en la programación se colocaban en estado ALTO o BAJO, para controlar
la dirección del motor 1 y el pin 10 y 15, realizan la misma función que los
anteriores mencionados, pero aplicados al motor 2. Los pines 3 y 4 son en los
que se conectará cada salida del motor 1 y 11 y 14, corresponden a las salidas
del motor 2. Finalmente, los pines 4,5,12 y 13 señalados como disipadores, se
conectan a tierra. Este proceso se aplicó para cada CI del robot. Sus
alimentaciones para esta primera prueba fueron eliminadores de baterías de 5V
y el microcontrolador se alimentó a través de la entrada microUSB, colocando

30
una tierra común entre la placa ESP32 y la placa de pruebas (protoboard).
Finalmente, los pines propuestos (se observan en la programación) para
controlar cada motor se conectaron a través de jumpers de la placa a la
protoboard.

Una vez comprobado su funcionamiento a través de la aplicación, se aplicó el


mismo proceso para las llantas de absorción, colocando otro CI L293D.
Posteriormente, se conectó el servomotor MG90S de la siguiendo su relación
entradas/salidas (figura 36).

Figura 36. Relación entradas/salidas Servomotor MG90S.

Donde se puede observar que el cable rojo corresponde a la alimentación de


5 V, el café a tierra (que se conecta común a la placa ESP32 y el protoboard)
yel naranja que corresponde al pin PWM (del ESP32) designado desde la
programación.
Posteriormente, se conectó buzzer, este tiene una conexión muy sencilla ya
que, se puede conectar directamente al pin designado en la programación (el
positivo) y el negativo a tierra común. Como se observa en la figura 37, el lado
donde se encuentra el tornillo corresponde al positivo y el otro al negativo.

Figura 37. Relación de pines de un buzzer.

31
Después de realizar las pruebas de modo independiente (con alimentaciones
propias), se decidió emplear una alimentación para el ESP32 de 4.8V y
1200 mAh, utilizando las baterías recargables de 1.2 V y 1200 mAh en el
portabaterías con conexión en serie regulados a 3.3 V y 1000 mA a través de
un CILM1117, que tiene como pines de conexión lo visualizado en la figura
38.

Figura 38. Pines de conexión del CI LM1117.

Como se puede observar, el primer pin corresponde al voltaje que se desea


regular, que en este caso sería la alimentación de 4.8 V y 1200mAh; el
segundo corresponde al pin con el voltaje ya regulado de 3.3V y 1A que se
conectaría a la entrada de 3.3V del ESP32; el último pin correspondiente a
tierra se dirige a tierra común.

Finalmente, se conectan un par de baterías li-ion de 4.2V y 9800mAh en serie a


través de la porta baterías 18650, obteniendo un voltaje de salida de 8.4V y
conservando la corriente de 9800mAh, este se regula a 5V y 1.5A a través del
CI LM7805T, con la relación de pines presentada en la figura 39. Este elemento
proporcionará energía al resto de los componentes (se conectarán en paralelo
para conservar el voltaje).

32
Figura 39. Relación de pines del CI LM7805T.

Como se observa, el pin de la izquierda corresponde a la entrada de voltaje (a


regular) que en este caso es el proveniente de las baterías Li-ion; la segunda
corresponde a la tierra común; el tercero representa la salida con el voltaje
regulado que alimentará a los componentes de la placa.
Cabe mencionar que todos los elementos se conectaron a través de una placa
fenólica perforada y para ingresar el voltaje de las alimentaciones (baterías), se
colocaron borneras, al igual que para las entradas de los motores, con el fin de
tener la mejor presentación posible. Todos los elementos se soldaron
empleando la soldadura mencionada en los materiales.

33
Estructura:

Para poder realizar la estructura del robot es necesario saber cuál es el diseño que
se va a realizar por lo que por medio de la aplicación denominada “Tinkercad” se
fue desarrollando el boceto del chasis para su elaboración en físico, en la figura 40,
se observa el boceto para la elaboración de la estructura.

Figura 40. Boceto de la estructura final en Tinkercad.

La estructura base del robot está hecha por medio de madera triplay de 6mm
específicamente 2 pliegos de 30 cm x 60 cm los cuales se fueron cortando para
hacer la estructura del chasis que se observa en la figura 41, la estructura se pensó
con las medidas de 30 cm x 30 cm ya que son los requerimientos solicitados. La
elaboración de la estructura para el robot se fue realizando por partes ya que de
esta forma se puede lograr hacer la estructura con mayor facilidad.
La primera parte está constituida por la base del chasis donde se encuentran los
motores de absorción, la placa fenólica, los motores reductores con sus respectivas
llantas, las rampas de absorción y expulsión de pelotas y 4 esquineros para
sostener la cubierta, la base mide 16 cm x 25 cm los esquineros estas sostenidos
por pijas de 1.5 cmx.5 cm.

Figura 41. Base de la estructura con sus elementos correspondientes.

La segunda parte de la estructura para el robot se denominó cubierta inferior y se


creó para proteger motores, sostener rampas y poder redireccionar y almacenar las
pelotas, la cual cuenta con una medida en la parte inferior de 16 cm x 21cm, y en la
parte superior de 25 cm x 21cm, tiene una altura de 28 cm. En la parte trasera se
34
encuentra el servomotor sostenido por 2 piezas de triplay, dichas piezas se pueden
observar en la figura 43. La cubierta cuenta con 4 agujeros para poder atornillarla
con los tornillos de 1 cm x .5 cm a la base, con el fin de remover en caso de que
sea necesario, dichos tornillos están apretados con tuercas de .3 cm x 1 cm,
en la figura 42 se puede observar la cubierta inferior sujetada a la base, esta fue
pintada con aerosol negro mate como se observa en la figura 43.

Figura 42. Cubierta inferior sujetada a la base del robot.

Figura 43. Parte trasera de la cubierta.

La tercera parte está constituida por una estructura que se encarga de redirigir las
pelotas almacenadas hacia la rampa de expulsión, esta cuenta con 4 piezas
esenciales con los ángulos adecuados, las piezas superiores tienen las medidas de
5 cm x12 cm y las piezas laterales tienen una medida de 6 cm x11 cm, estas
rampas estas sostenidas por la cubierta de manera fija y rígida, esto se consiguió
por medio del pegamento de contacto super mil 5 en la figura 44, se observan
dichas rampas.

35
Figura 44. Rampas de redirección.

La cuarta parte de la estructura es la cubierta superior que consiste en una tela de


microfibra que hace la función de evitar que las pelotas salgan de la cubierta
inferior de forma que esta sirve para amortiguar el golpe de dichas pelotas y para
que haya una estructura ligera ya que evita sobre esfuerzo de los motores
reductores.

Figura 45. Paño de microfibra verde.

36
Resultados esperados.
Por medio de la creación del robot “Ocol-pixán” se espera que este pueda
almacenar el mayor número de pelotas posibles con el fin de tener la posibilidad de
llevar en el menor tiempo posible dichas pelotas desde un punto A, ya establecido
en la competencia, hasta un Punto B, determinado de igual modo en el concurso.
La finalidad de este robot es para poder ganar la competencia o bien, conseguir un
buen lugar en esta categoría.
Se espera que el día de la competencia y en base a los modelos de los otros
participantes se tengan ideas para las próximas competencias con el fin de mejorar
el diseño y el código de programación si fuese necesario.
De igual forma se espera aprender más sobre este tipo de competencias y mejorar
con cada paso que se dé, se espera ganar y divertirnos de manera sana y amena.
De igual forma se espera que este sea un robot de buena funcionalidad con bajo
presupuesto esto para demostrar que cualquiera que tenga las ganas de crear un
robot pueda hacerlo, sin tener que recurrir de un alto presupuesto por lo que no es
necesario crear un robot de alto presupuesto para poder ganar.
Para finalizar, se espera que el día de la competencia los objetivos sean visibles,
ya que los objetivos específicos “almacenar las pelotas en una estructura que
permita contener la mayor cantidad de pelotas sin deformarlas ni causar
atascamiento” y “expulsar las pelotas al llegar al punto final, siendo lo más preciso
posible” fueron alcanzados y comprobados a través de las pruebas.

37
Referencias.
Aliexpress. (2022). Aliexpress. Obtenido de
https://es.aliexpress.com/item/1005004069841689.html?_randl_currency
=MXN&_randl_shipto=MX&src=google&src=google&albch=shopping&ac
nt=631-313-
3945&slnk=&plac=&mtctp=&albbt=Google_7_shopping&albagn=888888
&isSmbActive=false&isSmbAutoCall=false&needSmbHouyi=fa

Amazon. (2022). Amazon. Obtenido de https://www.amazon.com.mx/STEREN-


Bateria-Recargable-Nimh-
1300Mah/dp/B00V7FQUOM/ref=asc_df_B00V7FQUOM/?tag=gledsksho
pmx-
20&linkCode=df0&hvadid=451019505516&hvpos=&hvnetw=g&hvrand=6
986984807541962678&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl
=&hvlocint=&hvlocp
Balón, V. (2019). Flexbot. Obtenido de https://www.flexbot.es/origen-de-la-
robotica/
Monografías. (s.f.). Obtenido de
https://www.monografias.com/trabajos94/definnicion-y-antecedentes-
robots/definnicion-y-antecedentes-robots
Steren. (2022). Steren. Obtenido de https://www.steren.com.mx/tubo-de-17-
gramos-de-soldadura-con-aleacion-esta-o-plomo-60-40.html
Thido. (2022). Thido. Obtenido de
https://www.electronicathido.com/detallesProducto.php?id=RC9Qb3c1aF
FHSlVRSWJuSzJnSElnUT09

Thido. (2022). Thido. Obtenido de


https://www.electronicathido.com/detallesProducto.php?id=YUp5cDJnW
m9UamllUzlOQUU1amN0Zz09
Thido. (2022). Thido. Obtenido de
https://www.electronicathido.com/detallesProducto.php?id=NnN0Q082Tll
RMzFFL3NsYThENTgrdz09

Thido. (2022). Thido. Obtenido de


https://www.electronicathido.com/detallesProducto.php?id=ZHkvWFR5cn
BVTzVVMUVSMWg2aEtOZz09
Thido. (2022). Thido. Obtenido de
https://www.electronicathido.com/detallesProducto.php?id=U3FwaEdjW
GxjNjdjeEo0dFVURSt4QT09

38
Thido. (2022). Thido. Obtenido de
https://www.electronicathido.com/detallesProducto.php?id=ZHJ0RFIvVE
hqc2JUQm51Vlp3cTVCZz09

Thido. (2022). Thido. Obtenido de


https://www.electronicathido.com/detallesProducto.php?id=K3k2Ymlken
NpYlNaZFY2REdCMUMvUT09
UAEH. (2021). UAEH. Obtenido de
http://ceca.uaeh.edu.mx/informatica/oas_final/OA4/buzzer.html
Unit Electronics. (2022). Unit Electronics. Obtenido de
https://uelectronics.com/producto/mg90s-servomotor-tower-pro-
engranes-metlicos/

39

También podría gustarte