Professional Documents
Culture Documents
es
Manual de usuario
del TaTa - Bot
Gua de teora y
actividades
www.robotgroup.com.ar
1
multiplo
multiplo
Guide.Ta-Bot.es
Autores
Octavio J. da Silva Gillig
Julin U. da Silva Gillig
Mnica J. Paves Palacios
Copyright y licencias
Copyright(c) 2011-2014 Mnica J. Paves Palacios, Julin U. da Silva Gillig y Lucio E. Mercado.
http://minibloq.org
http://robotgroup.com.ar
Todos los derechos reservados.
Licencia
Esta obra esta licenciada bajo la Licencia Creative Commons Atribucin 4.0
Internacional (CC BY-SA 4.0). Para ver una copia de esta licencia, visita
http://creativecommons.org/licenses/by/4.0/deed.es (English:
http://creativecommons.org/licenses/by-sa/4.0/deed.en_US).
Texto
completo
para la licencia (en ingls:
http://creativecommons.org/licenses/by-sa/4.0/legalcode).
Marcas / Trademarks
Atmel and AVR are registered trademarks or trademarks of Atmel Corporation or its subsidiaries, in the US and/or
other countries."
RobotGroup es una marca registrada de Mnica J. Paves Palacios.
robtica para la accin es una marca registrada de Mnica J. Paves Palacios.
Multiplo es una marca registrada de Julin U. da Silva Gillig y Mnica J. Paves Palacios.
Otros productos, nombres de firmas o empresas, marcas o "brand names" son marcas registradas o "trademarks" de
sus respectivos propietarios. Cualquier omisin es no intencional.
www.robotgroup.com.ar
2
multiplo
Guide.Ta-Bot.es
Contenido
Contenido
1. Introduccin
Introduccin
Empezar a usar miniBloq
Instalacin de drivers de comunicacin
Ejemplo de prueba en miniBloq
Explicacin del programa de prueba, paso a paso
Descarga del programa a la placa
2. Motores
Actividad 2.1: avanzar en lnea recta
Explicacin de la actividad 2.1 hecha en miniBloq
Actividad 2.2: dibujar una circunferencia
Actividad 2.3: hacer que el robot gire sobre su propio eje
Actividad 2.4: hacer que el robot desacelere hasta frenar
Explicacin de la actividad 2.4: Variables en programacin
3. Sensores
Sensores Infrarrojos (IR)
Actividad 3.1: testeo de un sensor IR CNY 70
Explicacin de la actividad 3.1: testeo de un sensor IR
Actividad 3.2: testeo de un sensor ultrasnico
Actividad 3.3: avanzar hasta detectar un obstculo
Cdigo en miniBloq de la actividad 3.3
Explicacin del cdigo de la actividad 3.3
Operadores lgicos en miniBloq
Actividad 3.4: hacer que el robot siga una lnea
www.robotgroup.com.ar
3
4
4
4
6
8
8
10
13
13
13
15
16
17
19
25
25
25
28
31
34
35
36
40
41
multiplo
Guide.Ta-Bot.es
1. Introduccin
Introduccin
El Ta-Bot es un robot de bajo costo fabricado por RobotGroup. Gracias a su precio accesible
permite que ms chicos (y no tan chicos) puedan acercarse al apasionante mundo de la
Robtica. Tambin es ideal para ser utilizado en el aula de clases ya que, al igual que otros
productos fabricados por RobotGroup, puede ser programado con miniBloq, un entorno de
programacin de cdigo abierto pensado especialmente para la educacin.
www.robotgroup.com.ar
4
multiplo
Guide.Ta-Bot.es
Una vez que hayamos seleccionado al robot correspondiente, que en nuestro caso ser TaBot.v1.0, miniBloq nos mostrar una foto del mismo junto a una imagen con el detalle de las
conexiones del robot. Tal como se muestra en la siguiente figura.
www.robotgroup.com.ar
5
multiplo
Guide.Ta-Bot.es
A continuacin, el asistente nos preguntar acerca de la ubicacin de los drivers para poder
instalarlos. Seleccionamos la opcin Instalar desde una lista o ubicacin especfica
(avanzado). Luego presionamos Siguiente. Como se muestra en la siguiente imagen.
www.robotgroup.com.ar
6
multiplo
Guide.Ta-Bot.es
Al finalizar este proceso, veremos el siguiente cartel por pantalla indicndonos que la
instalacin se realiz correctamente. Presionamos Finalizar.
www.robotgroup.com.ar
7
multiplo
Guide.Ta-Bot.es
www.robotgroup.com.ar
8
multiplo
Guide.Ta-Bot.es
Luego, se presiona el tringulo rojo del bloque de comunicacin con lo cual podremos ver las
distintas opciones que tenemos para asignarle al bloque en cuestin. Como se muestra a
continuacin, se abrir un men desplegable.
Seleccionamos el botn que tiene las letras abc ya que mandaremos un texto como mensaje
desde la placa a la computadora. Nuevamente, tenemos que agregar un bloque entre las
opciones de las que disponemos al presionar el tringulo rojo de la ltima orden elegida.
Seleccionamos la opcin que tiene las letras abc la cual nos permitir ingresar un texto a
eleccin para ser transmitido. A continuacin, ingresamos el texto en el especio en blanco que
nos gener. En nuestro ejemplo, el texto ingresado es Hello World!, como se muestra en la
imagen.
www.robotgroup.com.ar
9
multiplo
Guide.Ta-Bot.es
2-
www.robotgroup.com.ar
10
multiplo
Guide.Ta-Bot.es
3-
4-
www.robotgroup.com.ar
11
multiplo
Guide.Ta-Bot.es
5-
www.robotgroup.com.ar
12
multiplo
Guide.Ta-Bot.es
2. Motores
Actividad 2.1: avanzar en lnea recta
En esta primera actividad queremos hacer que el robot avance por un tiempo determinado en
lnea recta y que luego se detenga. Utilizando el entorno de programacin miniBloq es muy
sencillo. Simplemente hay que hacer el siguiente programa:
www.robotgroup.com.ar
13
multiplo
Guide.Ta-Bot.es
Como queremos que el robot avance durante un tiempo determinado y luego frene, asignamos
velocidad 50 al motor 1 y luego le asignamos tiempo. Para determinar la duracin del avance
seleccionamos el bloque que contiene un reloj al que le asignamos el tiempo correspondiente.
En nuestro ejemplo escribimos el nmero 5000 porque queremos que avance durante 5
segundos. El tiempo est expresado en milisegundos.
Por ltimo, le asignamos potencia igual a cero a cada motor para frenar al robot. De no
agregar estos dos bloques, el robot seguir avanzando sin detenerse aunque se haya
establecido el tiempo en los bloques anteriores.
www.robotgroup.com.ar
14
multiplo
Guide.Ta-Bot.es
Radio de giro
= Centro de giro
Para realizar esta actividad utilizando el entorno miniBloq, tenemos que utilizar los siguientes
bloques. Hay que tener en cuenta que, para que el robot gire, un motor avanzar ms rpido
que el otro pero los dos tendrn velocidad.
www.robotgroup.com.ar
15
multiplo
Guide.Ta-Bot.es
= Centro de giro
Para realizar esta misma actividad utilizando el entorno miniBloq, tenemos que agregar los
bloques que se muestran a continuacin.
www.robotgroup.com.ar
16
multiplo
Guide.Ta-Bot.es
En este caso, utilizamos un signo negativo para hacer que uno de sus motores avance en
sentido contrario al otro. Para esto, tenemos que seleccionar la opcin marcada como -(x),
tal como se muestra en la imagen que est a continuacin.
www.robotgroup.com.ar
17
multiplo
Guide.Ta-Bot.es
www.robotgroup.com.ar
18
multiplo
Guide.Ta-Bot.es
Para continuar con el cdigo, agregamos un ciclo while. Este nos generar dos bloques en
vez de uno ya que, todo lo que quede encerrado entre estos dos bloques, se ejecutar siempre
que la condicin asignada a dicho ciclo sea verdadera. La condicin se agrega presionando el
tringulo rojo del bloque que tiene el signo de interrogacin.
www.robotgroup.com.ar
19
multiplo
Guide.Ta-Bot.es
Al primer bloque del ciclo le agregamos una condicin presionando la flecha roja. En nuestro
caso, para la condicin seleccionaremos en el men desplegable un signo de comparacin
aritmtica.
Una vez que agregamos el signo para la comparacin, completamos ambos lados de la misma.
Uno de los parmetros que recibir esta comparacin ser la variable en s, el otro, un nmero
que representar el lmite que queremos alcanzar. En este caso, ese lmite ser cero ya que
queremos que el robot decremente su velocidad hasta llegar a detenerse.
www.robotgroup.com.ar
20
multiplo
Guide.Ta-Bot.es
Dentro del ciclo, asignamos la velocidad guardada en nuestra variable a los motores. Uno con
un signo negativo y otro sin l. Luego, agregamos un tiempo igual a 1 segundo para que la
placa no ejecute nuevas rdenes.
www.robotgroup.com.ar
21
multiplo
Guide.Ta-Bot.es
Si el cdigo queda como est, el ciclo se ejecutar siempre y la velocidad de los motores no se
reducir nunca. Por eso, lo que tenemos que hacer a continuacin es modificar el valor de la
variable de tal manera que, por cada ejecucin del ciclo, su valor se reduzca. Para eso, lo
primero que tenemos que hacer es seleccionar el bloque con el que asignamos un nuevo valor
a la variable velocidad.
www.robotgroup.com.ar
22
multiplo
Guide.Ta-Bot.es
A continuacin, a la variable velocidad le asignamos una resta como parmetro. No hay que
confundir el bloque que se usa para restar del bloque que se usa para cambiar el signo de un
nmero.
www.robotgroup.com.ar
23
multiplo
Guide.Ta-Bot.es
Como la resta necesita dos parmetros numricos, asignamos primero a la variable velocidad
ya que es el valor que queremos que se reduzca.
El segundo parmetro de esta resta es el nmero que servir para modificar a la variable
velocidad. En nuestro caso, elegimos 10.
Por ltimo, y por fuera del ciclo, le pedimos al robot que frene ambos motores.
www.robotgroup.com.ar
24
multiplo
Guide.Ta-Bot.es
3. Sensores
Sensores Infrarrojos (IR)
Los sensores IR CNY 70 funcionan emitiendo un haz de luz infrarrojo
invisible. Este, luego de rebotar contra un objeto, vuelve al sensor, el
cual capta la intensidad del regreso. Esta intensidad es convertida en un
nmero real con el cual trabajaremos en las actividades que
proponemos a continuacin.
www.robotgroup.com.ar
25
multiplo
Guide.Ta-Bot.es
Como tenemos tres pines en el conector del sensor usaremos un cable con tres hilos o tres
cables individuales para conectar este tipo de sensores a la placa. Por lo tanto, los cables se
conectarn en un extremo al sensor y en el otro extremo a la placa. En el esquema que se
encuentra en el entorno miniBloq tenemos numeradas las entradas/salidas de sensores. En
nuestro caso, vamos a probar un sensor conectado a A5 por lo que lo llamaremos como sensor
5 desde el software.
www.robotgroup.com.ar
26
Conector de la placa
+5
Gnd
A5
multiplo
Guide.Ta-Bot.es
Una vez que el sensor est conectado, bajamos el siguiente programa a la placa controladora
del robot.
www.robotgroup.com.ar
27
multiplo
Guide.Ta-Bot.es
Luego, dentro del ciclo que acabamos de crear, agregamos un bloque de comunicacin y a este
le asignamos un bloque que le indicar que el valor que recibir ser numrico.
www.robotgroup.com.ar
28
multiplo
Guide.Ta-Bot.es
En el men desplegable del bloque seleccionamos la opcin sensor5 que ser nuestra
entrada.
www.robotgroup.com.ar
29
multiplo
Guide.Ta-Bot.es
Por ltimo, agregamos un pequeo tiempo de espera y con eso terminamos el cdigo del
programa de testeo. Es interesante notar que este tipo de programas nos servir para testear
otros tipos de sensores. Lo que tendremos que tener en cuenta de querer cambiar el sensor
que utilizamos es que est seleccionado en el bloque conrrespondiente y que est
correctamente cableado en la placa del robot.
www.robotgroup.com.ar
30
multiplo
Guide.Ta-Bot.es
Para testear este sensor, vamos a conectar los cables de la siguiente manera:
Color del cable
NARANJA
VERDE
AZUL
MARRN
Conector de la placa
+5
A1
A2
Gnd
Por lo tanto, los cables conectados a la placa quedarn como se muestra en la siguiente figura.
www.robotgroup.com.ar
31
multiplo
Guide.Ta-Bot.es
Una vez conectado el sensor en los pines correspondientes, armamos el siguiente cdigo en
miniBloq:
A diferencia del cdigo anterior, en este caso, en vez de asignar un valor tomado de una
entrada analgica se asignamos el valor detectado por un sensor especfico: el HC-SR04.
www.robotgroup.com.ar
32
multiplo
Guide.Ta-Bot.es
Una vez seleccionado el bloque especfico para sensor HC-SR04, seleccionamos el pin al que lo
conectamos. Si nos fijamos en la imagen de miniBloq que muestra la numeracin de los pines,
notaremos que, junto a sensor1 dice D15 sobre fondo verde y, a su izquierda, Trig sobre
fondo anaranjado.
Por lo tanto, para el bloque del sensor HC-SR04 tendremos que seleccionar el pin D15 que
corresponde al denominado Trigger.
www.robotgroup.com.ar
33
multiplo
Guide.Ta-Bot.es
Obstculo
Como vemos en la imagen que est a continuacin, el Ta-Bot ya viene con el sensor HC-SR04
en su parte frontal. Conectado como se indica en la actividad 3.2 podremos programarlo
utilizando miniBloq.
www.robotgroup.com.ar
34
multiplo
Guide.Ta-Bot.es
www.robotgroup.com.ar
35
multiplo
Guide.Ta-Bot.es
2- Creamos un ciclo infinito dentro del cual estarn todas las rdenes que queremos que el
robot ejecute. Las decisiones las tomar dentro de este bucle.
3- Dentro del ciclo infinito usaremos una estructura de control que le permitir al robot
decidir qu hacer dependiendo de lo que mida el sensor HC-SR04. Esta estructura es el
equivalente a la sentencia if en lenguaje C. Al seleccionar el bloque correspondiente a
esta estructura miniBloq generar 3 bloques: uno para establecer la condicin que se
evaluar, otro para el cdigo que se ejecutar cuando la condicin sea falsa y un tercer
bloque que delimitar el cdigo.
www.robotgroup.com.ar
36
multiplo
Guide.Ta-Bot.es
4- La condicin, de ser verdadera, har que se ejecute el cdigo que se encuentra entre el
bloque que posee la tilde verde y el que posee la cruz azul. En nuestro ejemplo, esta
condicin ser una comparacin entre el valor detectado por el sensor y un nmero que
elegimos nosotros (10).
5- Tengamos en cuenta que el bloque del sensor toma un valor detectado y lo convierte en
un nmero. Ese nmero es el asignado a esta comparacin. Luego, si el valor detectado
por el sensor en cuestin es mayor a 10, el robot ejecutar el cdigo que se encuentra
a continuacin. En nuestro caso, si el sensor detect un valor mayor a 10 asumimos
que est lejos de un obstculo y, por lo tanto, deber avanzar hacia adelante.
www.robotgroup.com.ar
37
multiplo
Guide.Ta-Bot.es
6- Luego, entre el bloque con la cruz azul y el bloque que cierra a la estructura de control
que usamos para decidir, encerramos el cdigo que usaremos cuando el robot detecte
un obstculo. En este caso, el sensor frontal habr detectado un valor menor o igual a
10.
www.robotgroup.com.ar
38
multiplo
Guide.Ta-Bot.es
Por ltimo, analicemos la lgica de este programa para entender mejor cmo funcionan las
estructuras de control. Lo primero que hicimos fue crear un ciclo infinito con el bloque que
genera la sentencia while. Dentro de este bucle, utilizamos la sentencia if para que, cada
vez que se ejecute el ciclo principal, el robot decida entre dos posibilidades. De esta manera, si
los resultados de las detecciones del sensor son mayores a 10, el robot solamente ejecutar
las rdenes encerradas entre los dos primeros bloques de la sentencia if. Pero cuando el
sensor detecte un obstculo, el programa ignorar las rdenes que hacen avanzar al robot
para ejecutar los bloques que se encuentran a continuacin del bloque que representara al
else (bloque con cruz azul).
www.robotgroup.com.ar
39
multiplo
Guide.Ta-Bot.es
www.robotgroup.com.ar
40
multiplo
Guide.Ta-Bot.es
www.robotgroup.com.ar
41
Conector de la placa
+5
Gnd
A5
+5
Gnd
A4
multiplo
Guide.Ta-Bot.es
3- Programa: una vez que el robot est preparado, descargamos el siguiente programa a la
placa del robot. El mismo se muestra en partes por su longitud.
En la primera parte del programa haremos tres cosas:
(1) Creacin de variables para velocidad y manejo de sensores. Las variables s4 y s5 las
inicializamos con el valor 0 ya que sern modificadas luego en cada ejecucin del ciclo
principal.
(2) Inicializacin del ciclo infinito usando while.
(3) Dentro del bucle, asignamos a las variables s4 y s5 el valor detectado por los sensores
4 y 5 respectivamente.
www.robotgroup.com.ar
42
multiplo
Guide.Ta-Bot.es
A continuacin de la primera parte del programa, tendremos que agregar tres estructuras de
control if. Cada una de estas evaluar una situacin distinta basada en la combinacin de
detecciones de los dos sensores. A continuacin, mostramos la primera de las tres en la cual,
si los dos sensores detectan un valor menor al guardado en la variable TRIGGER, se asigna a
los dos motores la misma velocidad para que el robot avance en lnea recta. Este caso
corresponde al momento en el que el robot se encuentra sobre la lnea negra.
www.robotgroup.com.ar
43
multiplo
Guide.Ta-Bot.es
Los dos casos siguientes son similares. En uno de ellos se evala la situacin en la cual un
sensor est detectando un valor alto (blanco) y el otro un valor bajo (negro). Dicha situacin
nos indica que el robot necesita frenar el motor que est del mismo lado que el sensor que
detect negro.
www.robotgroup.com.ar
44
multiplo