Pon un Escornabot en tu vida

Introducción

Escornabot es un proyecto de código abierto que nace en Galicia.

Todo empieza en la asociación de makers Bricolabs, allí coinciden tres personas:

Deciden crear un robot libre para poder trabajar en el aula la robótica educativa sin depender de una marca comercial.

Con el tiempo se van sumando otras personas:

Entre todos van aportando una documentación que otras personas hemos ido aprovechado para difundir el proyecto.

Para comprender la filosofía del proyecto, imprescindible ver dos vídeos de Tucho Méndez:

El primero, en Arduino day 2015 organizado por Makers Lugo.

El segundo, en el I Encuentro Coruña Dixital 2016. Proyectos abiertos de programación y robótica educativa, la experiencia de escornabot.

En este curso haréis algo parecido a esto:

Ver aquí otra versión más cómica ;-)

Componentes

Puedes consultar los enlaces a todos los componentes en esta web

Hay muchas versiones, nos vamos a centrar en la versión DIY - Brivoi Audacius

En este apartado veremos todos los componentes explicando de manera simple su funcionamiento, eso te permitirá solucionar cualquier problema que vaya surgiendo.

No te asustes, no entraremos en detalles técnicos.

Piezas impresas 3D

Sostienen el resto de componentes y conforman el chasis del robot, se pueden imprimir en diferentes materiales. El más utilizado suele ser un plástico llamado PLA por ser el más económico y simple de imprimir, con una altura de capa entre 0.2 y 0.3 mm. AingeruJM nos reporta el consejo de Rafa Couto:

Cono relleno 20%, 2 contornos, 3 capas inferiores y superiores debería quedarte bien sin esfuerzo en la mayoría de las impresoras.

En una de la columna aparece "nombre del archivo .stl" es el tipo de formato que utilizan los programas de las impresoras 3D para poder leer e imprimir la pieza, si pinchas encima puedes descargar el archivo.

Piezas exclusivas de la versión DIY

Nombre del archivo .stl Descripción Imagen
PCBAddon-KeypadBracket-5Buttons.stl Sujeción placa botonera
board-bracket.stl Sujeción protoboard 170 puntos

Piezas comunes con otras versiones

Nombre del archivo .stl Descripción Imagen
ballcaster-v2.stl Sujeción bola v2
battery-bracket.stl Sujeción batería o portapilas AA
MotorBracket.stl Sujeción motores
wheel-l.stl Rueda Izquierda
wheel-r.stl Rueda derecha

Placa Botonera

Incorpora los botones de acción y es la encargada de transmitir las órdenes de los movimientos al cerebro (placa Arduino Nano)

A través de los tres pines acodados GND, Sig y 5V (los tres pinchos de la perte superior derecha de la imagen) se conecta a la protoboard (la veremos más abajo)

Si miramos uno a uno sus componentes:

Unidades Componentes
1 PCB Diseñada por XDeSIG
5 Resistencias cerámicas 10k 1/4W 5%
1 Resistencia cerámica 22k 1/4W 5%
5 Pulsadores 12x12x7.3 con carcasas de colores
3 Pines acodados

Tienes una guía de soldadura, con cada uno de los pasos a seguir para ensamblar los componentes.

Arduino NANO

Es el cerebro del robot y donde cargaremos nuestro código a través de una conexión Micro o Mini-USB para conectarlo a nuestro ordenador.

Tiene dos filas de pinchos o patillas soldados en cada lateral y lo pondremos sobre la protoboard.

Cada pincho esta conetado a un PIN que viene marcado con un nombre concreto y tiene una función concreta.. En esta imagen, sacada de la web de Luis Llamas puedes ver la correspondencia:

¿Qué necesitas saber?

No hace falta comprender el funcionamiento completo de la placa, con entender porque vamos a utilizar los pines donde conectaremos Escornabot es suficiente. Si alguien tiene interés en adquirir conocimiento extra, durante el curso tendrá enlaces a páginas web donde poder conseguirlo.

Placa botonera

Utilizaremos tres cables (también llamados hilos), aunque con dos sería suficiente:

PIN Arduino NANO ¿Por qué?
5V 5V - Alimentar la placa botonera
A4 Sig - Transmitir las ordenes de los botones a la placa Arduino NANO para que luego esta de las ordenes a los motores.
GND GND - Aunque no es correcto del todo lo llamaremos tierra o masa que es un término más conocido.

Porta Pilas

PIN Arduino NANO ¿Por qué?
VIN El portapilas contiene 4 pilas de 1,5 V así que la entrada de corriente será de 6V y este es el único PIN que admite corriente desde 6V a 12V.
GND Tierra o masa

Drivers ULN2003

PIN Arduino NANO ¿Por qué?
VIN En esta placa van conectados los motores y necesitaremos conectarlo a este pin para poder coger corriente del Porta Pilas que conectaremos justo encima de los dos cables de corriente de los drivers.
GND Tierra o masa
D9, D8, D7, D6 (en algunas placas 9, 8, 7, 6) Conexión del motor izquierdo al Arduino Nano para poder recibir las ordenes de los movimientos y transmitirlas posteriormente al motor.
D5, D4, D3, D2 (en algunas placas 5, 4, 3, 2) Conexión del motor derecho al Arduino Nano para poder rescibir las ordenes de los movimientos y transmitirlas posteriormente al motor.

Buzzer 5V

PIN Arduino NANO ¿Por qué?
D10 (en algunas placas 10) Para poder recibir las ordenes del Arduino NANO y ejecutar los pitidos según las pulsaciones de los botones.
GND Tierra o masa

Motores paso a paso 28BY J-48

Es el componente que hace posible el desplazamiento del robot. Se mueven por pequeños pasos para avanzar en un sentido u otro.

Si quieres ampliar información, una entrada de Prometec.net

Imagen de Prometec.net

El conector blanco va colocado a un Driver ULN2003 del que recibirá tanto la alimentación como las órdenes. Una comprobación simple para ver si el funcionamiento es correcto, girar la rueda y ver si se encienden los LEDs de la parte inferior en los Drivers.

Un problema que puede darnos dolores de cabeza es tener un cableado de motores incorrecto. Nos daremos cuenta porque teniendo todo en su sitio y la programación bien, nuestro escornabot invierte algunos movimientos de la botonera. El robot se diseñó y programó para funcionar con los motores conectados de una manera concreta, lo tienes explicado en esta entrada.

Drivers ULN2003

En el conector blanco de la placa pondremos los motores. Cada motor debe ir conectado al driver de su lado o el robot se movera al contrario de las ordenes que le demos.

Encima del conector blanco tenemos cuatro pines o pinchos que son los que conectaremos a los pines D9-D2 de la placa Arduino NANO.

A la izquierda tenemos dos pines o pinchos que son los encargados de recibir la alimentación del portapilas, están marcados con la serigrafía 5-12V y +/-

Recuerda el cuadro de conexiones:

PIN Arduino NANO PIN Driver ¿Por qué?
VIN 5-12V (+) En esta placa van conectados los motores y necesitaremos conectarlo a este pin para poder coger corriente del Porta Pilas que conectaremos justo encima de los dos cables de corriente de los drivers.
GND 5-12V (-) Tierra o masa
D9, D8, D7, D6 (en algunas placas 9, 8, 7, 6) IN1, IN2, IN3, IN4 Conexión del motor izquierdo al Arduino Nano para poder recibir las ordenes de los movimientos y transmitirlas posteriormente al motor.
D5, D4, D3, D2 (en algunas placas 5, 4, 3, 2) IN1, IN2, IN3, IN4 Conexión del motor derecho al Arduino Nano para poder rescibir las ordenes de los movimientos y transmitirlas posteriormente al motor.

Protoboard 170 puntos

En esta placa colocaremos el Arduino NANO y nos servirá de enlace con el resto de componentes.

El funcionamiento es simple, sirve para ampliar las conexiones a los pines de la placa Arduino.

Los huecos que queden encima o debajo de cada pin son una extensión del mismo, con una imagen se entiende mejor.

Si quieres ampliar información, una entrada de rinconingenieril.es

Buzzer 5V

Es el altavóz que dota de sonido a Escornabot, cada vez que pulsemos una tecla emitirá un pitido.

Tiene una patilla larga o positivo y una patilla corta o negativo. Si las dos patillas tienen la misma longitud en la parte delantera tienen serigrafiado el valor positivo.

Recuerda el cuadro de conexiones:

PIN Arduino NANO Buzzer 5V ¿Por qué?
D10 (en algunas placas 10) Patilla larga (+) Para poder recibir las ordenes del Arduino NANO y ejecutar los pitidos según las pulsaciones de los botones.
GND Patilla corta (-) Tierra o masa

Portapilas 4 unidades AA

El portapilas proporciona la energía para el movimiento del robot.