Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Paves, Mónica
TecnoBOT 7 : robótica para la acción . 2a ed. Rosario : Ediciones Logos Ar, 2016.
ISBN 978-987-732-019-0
ISBN 978-987-732-019-0
Hecho el depósito que indica la Ley 11.723
Impreso en Argentina
Printed in Argentina
Esta es una obra protegida por las leyes internacionales de derecho de autor. Prohibida la reproducción total
o parcial de esta obra y/o los recursos que la acompañan, por cualquier medio, sin autorización escrita de
RobotGroup Argentina y Ediciones Logos SA.
Los contenidos didácticos y los diseños de armados son propiedad de RobotGroup Argentina.
El logotipo de Tecnobot, el diseño editorial, la diagramación y los contenidos gráficos son propiedad de
Ediciones Logos SA.
Las citas e imágenes incluidas en esta obra se utilizan únicamente con fines didácticos y para la crítica e investigación
científica o artística, por lo que RobotGroup Argentina y Ediciones Logos SA no asumen ninguna responsabilidad
por el uso que se dé a esta información, ni infringen derecho de marca alguno.
Tecnobot © es una marca registrada por Ediciones Logos SA y Mónica J. Paves Palacios. Las mascotas Duino y
Libélula son propiedad de Robotgroup Argentina. Otros productos, nombres de firmas o empresas son marcas
registradas de sus respectivos propietarios. Cualquier omisión es no intencional.
www.edicioneslogos.com
PRESENTACIÓN
ROBÓTICA EN EL AULA
La complejidad en el uso de los materiales del kit aumenta en cada grado. En los primeros años,
las actividades no exigen madurez en la motricidad fina; emplean componentes pre armados y
aprenden las nociones básicas de motorización y programación. Progresivamente, los estudiantes
comienzan a utilizar herramientas de mayor precisión para realizar operaciones más complejas:
incorporan distintas clases de sensores y exploran nuevos códigos de programación.
Por último, los cursos más avanzados trabajan con un software de reconocimiento internacional,
que permite la adquisición de datos para ser graficados en tiempo real. Se suman nuevos sensores
y un control remoto. Las guías teóricas ayudan a profundizar en conceptos que abordan distintas
disciplinas como la física, la robótica y las ciencias de la computación.
* En el caso de que el equipo esté conformado sólo por dos alumnos, el constructor también será el
responsable de los materiales y contará con la ayuda del responsable de grupo. Cada alumno cumplirá
un rol distinto en cada actividad.
CONOCE TU LIBRO
Ícono de Número de
la etapa miniproyecto
Cada fase del El libro plantea
miniproyecto seis desafíos
tiene su símbolo
Noticia
SEGUNDA PÁGINA
Situación
problemática y
Análisis de presentación del
desafío
la situación
Preguntas
Consideraciones sobre
el escenario, el robot y
cuestiones generales
TERCERA PÁGINA
Preparación
del escenario
Esquema de
la situación
Materiales
Notas sugeridos
Espacio para Escala Lista de
redactar datos elementos
Proporción en
clave necesarios
que se desarrolla
el esquema
Recuerda
Notificaciones y
advertencias
CUARTA PÁGINA
Análisis previo
al código
Introducción a la
programación
Tabla
de verdad
Muestra el valor
de verdad de
una proposición
compuesta, para QUINTA PÁGINA
cada combinación de
verdad que se pueda
asignar
Glosario
Diagrama
Explicación de de flujo
nuevos conceptos
Representación
gráfica del
algoritmo
SEXTA PÁGINA
Construcción y
programación
Especificaciones
Informe
Lista de control:
presenta una
enumeración de
características,
habilidades, rasgos,
conductas, atributos
o secuencia de
acciones cuya
presencia o ausencia
se desea constatar.
ÍNDICE
MINIPROYECTO 1
13
Robot limpiador de desechos marítimos
MINIPROYECTO 2
19
Robot carguero de cajas
MINIPROYECTO 3
25
Robot rescatista
MINIPROYECTO 4
31
Barco guiado con sensor de luz
MINIPROYECTO 5
37
Automóvil sin conductor
MINIPROYECTO 6
43
Robot jugador de bowling
GUÍAS TEÓRICAS
49
Introducción a sensores.........................................................51
Sensor infrarrojo..................................................................54
Sensor de luz...........................................................................58
Control remoto..................................................................... 64
Sensor de ultrasonido........................................................ 66
Introducción a duinopack.................................................... 69
Diagramas de flujo................................................................... 91
WEB
Introducción a la Programación de motores
Introducción a la Cinemática
ROBOT N6: CARACTERÍSTICAS
Software de
programación
Autonomía
Puede ser programado
con software icónico El N6 posee en su placa
(Minibloq, por ejem- controladora un elevador
plo) o con lenguajes de de tensión que permite
programación más du- trabajar sólo con tres pi-
ros como C++, muy uti- las recargables con una
lizado en electrónica. autonomía de una hora y
media en forma continua.
Piezas fundamentales
Placa controladora: Matbot
Alimentación: 3 pilas AA recargables
Motores: 2 de 12 V cada uno
Además incluye
1 Chasis completo N6
2 Motorreductores planetarios 200 RPM
1 Portapilas AA de tres elementos
1 Cable USB
1 Set de herramientas: llave allen, destornillador y llave de tuercas
Todos los cables de conexión necesarios para conectar los sensores y los motores.
10
Miniproyectos
NOTICIA 1
Un estudiante de 19 años inventa un sistema para
eliminar los desechos plásticos de los océanos
El joven quiere enfrentar, con barreras flotantes, el alarmante desafío que hoy constituyen las
“islas de basura” del océano Pacífico, un problema que crece a pasos agigantados.
1 ESCENARIO:
¿Qué dimensiones tendrá la figura geométrica que lo conforma?
¿De qué color estará demarcado el borde?
GLOSARIO
2 ELEMENTOS DENTRO DEL ÁREA: 1 Si nuestro robot sólo
¿Cuál es el máximo de botellas que colocarán para que el robot
observara el mundo sin
pueda desplazarse correctamente? actuar en él, sería un
robot limitado. Es fun-
3 DISEÑO DEL ROBOT: damental que modifi-
¿Qué sensor o sensores deberá utilizar el robot para no abandonar que su estado y el del
el área delimitada por una línea negra? ambiente según la in-
formación que obtiene
¿Qué actuadores1 intervendrán en el desarrollo de la actividad?
en el proceso. Con este
¿Qué medidas tendrán las “palas” del robot? fin, disponemos de mo-
¿Cómo serán anexadas para que se mantengan firmes? tores, lámparas, buzzers,
¿Qué amplitud deberá tener el ángulo que forman entre sí? etc. Al conjunto de estos
dispositivos se los deno-
4 mina actuadores.
GENERALES:
¿Qué otras ideas deben tener en cuenta?
NOTAS
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
14
PREPARANDO EL ESCENARIO 1
Realicen un esquema de la situación que ayude a entenderla y resolverla:
MATERIALES
Escenario donde se desempeñará el robot. SUGERIDOS:
“Palas” de empuje del robot. Botellas de plástico pequeñas
Cinta aisladora negra
Cinta adhesiva
ESCALA Cartón rígido
RECUERDA
En cada miniproyecto, deberán realizar dibujos que ayuden a pensar la situación.
Por ejemplo, la forma y el tamaño del robot, el camino a recorrer, formas y
tamaños de los residuos, materiales a utilizar, etc.
15
1 ANÁLISIS PREVIO AL CÓDIGO
Analicen cómo será el comportamiento de los sensores durante el desafío y observen la siguiente
tabla de verdad, teniendo en cuenta qué valor detecta cada uno.
A partir de la tabla anterior, observen el siguiente diagrama de flujo que los ayudará a analizar el
comportamiento que deberá desarrollar el robot en el espacio en que se desenvolverá.
16
CONSTRUCCIÓN Y PROGRAMACIÓN
Construyan el escenario que diagramaron y las adaptaciones del robot.
Distribuyan las botellas dentro del área.
Programen el vehículo para que pueda arrastrar la “basura” encerrada dentro del área hasta
depositarla fuera de ella. Tengan en cuenta que el robot no debe salir del límite.
Tomen el tiempo que tarda el robot en realizar el trabajo. 17
1 INFORME
Completen el siguiente informe y especifiquen qué partes del desafío se cumplieron (o no) y por qué:
OPTIMIZACIÓN OBSERVACIONES
18
NOTICIA 2
Cada cosa en su lugar en modo automático
Una empresa distribuidora de alimentos ha incorporado un robot, llamado Tynibot,
para organizar la mercadería dentro de su depósito.
L a firma Tvarka ha invertido en la adquisición inicia su marcha en el que la línea no es visible (por el
de un robot para la organización eficiente de su desgaste propio del paso del tiempo). Al final de todo
planta de almacenamiento. El dispositivo incluye un el trayecto se encuentra una marca de color rojo que
contenedor para trasladar los productos de un lugar a indica el fin del camino.
otro. El desafío de esta firma innovadora es optimizar La carga que transportará son cajas con un formato
el costo y el tiempo de organización para lograr mejores de prisma rectangular cuyas medidas máximas son:
resultados. volumen de 250 cm3 y base cuadrada de 25 cm2. El
Un ingeniero contratado por la empresa será el vehículo debe transportar un mínimo de 8 cajas en
encargado de diseñar todo lo necesario para que el cada viaje.
robot cumpla con su función. Primero, deberá hacer Se considerará la tarea cumplida cuando la carga lle-
un modelo a escala que no supere los 40 cm de largo, gue al final del recorrido.
considerando vehículo y contenedor. Esto es para A modo de seguridad, el vehículo deberá avisar con
asegurarse de que todo funcione, ya que el lugar donde un sonido:
debe desempeñar su tarea presenta algunos desafíos.
La escala del escenario será de 1 m en 20 cm. En el Cuando haya comenzado su movimiento
depósito, el robot deberá seguir una línea negra recta de Cada vez que cruce el desgaste de la línea
2,5 cm de ancho y 1 m de largo. Además, hay un sec- Cuando llegue a destino
tor de 5 cm ubicado a 75 cm del lugar donde el robot 19
2 ANÁLISIS DE SITUACIÓN
Extraigan los datos que consideren importantes para llevar a cabo el trabajo del ingeniero
contratado por la firma Tvarka.
1 ESCENARIO:
¿Qué dimensiones tendrá? Tengan en cuenta las medidas del robot para responder.
¿Cómo sortearán los obstáculos del recorrido?
4 CONTENEDOR:
¿Qué medidas tendrá? Tengan en cuenta las medidas del robot para responder.
Para sostener adecuadamente los elementos a transportar, ¿qué forma tendrá?
¿Cuál será la forma de unión entre el contenedor y el robot?
5 GENERALES:
¿Qué otras ideas deben tener en cuenta?
NOTAS
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
20
PREPARANDO EL ESCENARIO 2
Realicen un esquema de la situación que ayude a entenderla y resolverla:
MATERIALES
Escenario donde se desempeñará el robot. SUGERIDOS:
Forma y medida del contenedor. Cinta aisladora negra
Organización de las cajas a transportar dentro del contenedor. Cinta aisladora roja
ESCALA
RECUERDA
En cada miniproyecto, deberán realizar dibujos que ayuden a pensar la situación.
Por ejemplo, la forma y el tamaño del robot, el camino a recorrer, formas y
tamaños de las cajas transportadas, materiales a utilizar, etc.
21
2 ANÁLISIS PREVIO AL CÓDIGO
Analicen cómo será el comportamiento de los sensores durante el desafío y completen la siguiente
tabla de verdad, teniendo en cuenta qué valor detecta cada uno.
1 0 Gira a la izquierda
0 1
..................................................................
0 0
Emite un sonido y .................................................
GLOSARIO
A partir de la tabla anterior, observen el siguiente diagrama de flujo que los ayudará a analizar el
comportamiento que deberá desarrollar el robot en el espacio en que se desenvolverá.
22
CONSTRUCCIÓN Y PROGRAMACIÓN
Antes de iniciar el trabajo, lean los aspectos a evaluar para completar el informe que
figura en la página siguiente.
Construyan físicamente lo esquematizado en las páginas anteriores.
Programen el transporte para que realice su tarea de la forma más eficaz y eficiente.
Tomen el tiempo que tarda el robot en realizar el recorrido. 23
2 INFORME
Completen el siguiente informe y especifiquen qué partes del desafío se cumplieron (o no) y por qué:
OPTIMIZACIÓN SÍ NO OBSERVACIONES
¿Llegó la carga completa a destino?
24
NOTICIA 3
Un robot al rescate del minero José Murundiaga
Una solución distinta para las emergencias en una de las actividades más riesgosas del mundo.
E l robot Rescue-ME es una creación del Grupo de alto está liberado para el ingreso.
de Rescatistas de Mineros de la ONU. Permite reali- Se estima, según los relatos de los compañeros que
zar importantes rescates, y así disminuye enormemente lograron sobrevivir al derrumbe, que el minero Murun-
los riesgos de esta tarea imprescindible, pero peligrosa. diaga viste la ropa de trabajo habitual de color naranja y
Se comprobará su eficacia en las operaciones de resca- que se encuentra después de la primera curva del túnel
te que se realizarán para salvar al minero chileno José al costado del camino.
Murundiaga. A fin de salvaguardar la seguridad de los rescatistas,
Los primeros momentos después de un accidente se enviará al robot Rescue-ME para detectar el lugar
son cruciales: personal de emergencias y primeros au- exacto en el que se encuentra José Murundiaga. El ro-
xilios trabajan a contrarreloj para evaluar la situación y bot recorrerá 1500 m hasta doblar en la primera curva
rescatar al minero que se encuentra atrapado en su zona donde se encontraría el minero. Al no poseer informa-
de trabajo desde hace ya varios días. ción sobre el actual estado del suelo, la única referencia
Las tareas de rescate de una mina son las más com- que puede utilizar el robot para definir su trayectoria
plicadas que debe desarrollar el personal de emergen- son las líneas de seguridad plateadas que delimitan el
cia, debido a la posible presencia de gases, combusti- camino por donde transitan los mineros.
bles, túneles inundados, muros y techos inestables y Cuando Rescue-ME encuentre al minero deberá
pedregosos. A esto se suma, además, la escasa luz del emitir una alarma para que el personal de emergencia
lugar. En este caso, la complicación radica en que la comience a actuar. De esta forma, el equipo de rescate
entrada a la mina está bloqueada por el derrumbe y podrá realizar las operaciones de salvamento de manera
sólo un pequeño espacio de 30 cm de ancho y 50 cm exitosa y con escaso riesgo. 25
3 ANÁLISIS DE SITUACIÓN
Extraigan los datos que consideren importantes para recrear el rescate del minero José Murundiaga.
1 ESCENARIO:
¿Cómo representarán las paredes de la cueva?
¿Qué dimensiones tendrá?
¿Qué limitará el camino dentro de la cueva?
3 MINERO SOBREVIVIENTE:
¿Cómo lo representarán?
¿Qué medidas tendrá? Tengan en cuenta las características del robot para responder.
4 GENERALES:
¿Qué otras ideas deben tener en cuenta?
NOTAS
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
26
PREPARANDO EL ESCENARIO 3
Realicen un esquema de la situación que ayude a entenderla y resolverla:
MATERIALES
SUGERIDOS:
Escenario donde se desempeñará el robot.
Papel negro para representar el piso de la cueva
Cinta plateada para delimitar los bordes del camino
Papel color naranja para representar al minero atrapado
ESCALA Cartón para representar la mina
RECUERDA
En cada miniproyecto, deberán realizar dibujos que ayuden a pensar la situación.
Por ejemplo, la forma y el tamaño del robot, el camino a recorrer, forma y tamaño
del minero sobreviviente, materiales a utilizar, etc.
27
3 ANÁLISIS PREVIO AL CÓDIGO
Analicen cómo será el comportamiento de los sensores durante el desafío y completen la siguiente
tabla de verdad, teniendo en cuenta qué valor detecta cada uno.
Negro Plateado
..................................................................
Plateado Negro
..................................................................
X Naranja
..................................................................
Naranja X
..................................................................
RECUERDA
El símbolo X, en la tabla de verdad, indica
que el sensor no actúa.
A partir de la tabla anterior, completen el siguiente diagrama de flujo que los ayudará a analizar el
comportamiento que deberá desarrollar el robot en el espacio en que se desenvolverá.
28
CONSTRUCCIÓN Y PROGRAMACIÓN
Antes de iniciar el trabajo, lean los aspectos a evaluar para completar el informe que
figura en la página siguiente.
Construyan físicamente lo esquematizado en las páginas anteriores.
Programen el robot para que realice su tarea de la forma más eficaz y eficiente.
Tomen el tiempo que tarda el robot en realizar el recorrido. 29
3 INFORME
Completen el siguiente informe y especifiquen qué partes del desafío se cumplieron (o no) y por qué:
OPTIMIZACIÓN SÍ NO OBSERVACIONES
30
NOTICIA 4
Barco a la deriva salvado por sensores de luz
En una situación de emergencia, el barco Compass logró encontrar su rumbo gracias a
la tecnología de sensores.
SENSORES DE LUZ. Una tecnología que salió al rescate cuando el sistema de navegación falló.
L os habitantes de Seattle se han sorprendido con detectar la luz del faro de la costa y guiar el barco a
la asombrosa noticia del barco que pudo llegar a la ori- tierra firme.
lla sin el sistema electrónico de navegación activado, La tripulación puso sus conocimientos en marcha
sorteando un sector de acantilados. y guió la embarcación en dirección a donde suponían
El barco Compass, que pertenece a la marina de los que estaba la costa, para que el sensor detectara la luz
Estados Unidos, salió el día lunes a realizar su recorrido del faro. Esta trayectoria no se pudo realizar en línea
habitual por la costa oeste del país. Su regreso estaba recta debido a las fallas que sufría Compass. El barco
estipulado para la madrugada siguiente, pero la vuelta navegó en zigzag hasta que el sensor detectó la luz de
a casa no fue fácil. la orilla.
Esta unidad se encuentra equipada con un sistema Este es otro claro ejemplo de que la tecnología ya
de navegación de última generación que le permite na- es parte de nuestras vidas y, tanto es así, que también
vegar por mares y océanos sin perder su orientación. las salva.
Sin embargo, en aquella madrugada, dicho sistema su-
RECUERDA:
frió una falla que dejó a Compass y a toda su tripula-
ción a la deriva. El CNY70 es un sensor de infrarrojos de
La embarcación posee un sistema de navegación corto alcance basado en un emisor de luz
y un receptor, ambos apuntando en la
de emergencia del cual sólo quedaron funcionando los misma dirección, y cuyo funcionamiento
sensores que detectan luminosidad. se basa en la capacidad de reflexión del
Con el sensor ubicado en la proa pudo sortear los objeto y en la detección del rayo reflecta-
acantilados y con el sensor ubicado en su mástil pudo do por el receptor. 31
4 ANÁLISIS DE SITUACIÓN
Extraigan los datos que consideren importantes para lograr que el barco Compass llegue a orilla.
1 ESCENARIO:
¿Cómo representarán el faro?
¿Cómo se logrará la oscuridad?
¿Cómo representarán las piedras?
3 GENERALES:
¿Qué otras ideas deben tener en cuenta?
NOTAS
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
32
PREPARANDO EL ESCENARIO 4
Realicen un esquema de la situación que ayude a entenderla y resolverla:
MATERIALES
Escenario donde se desempeñará el robot. SUGERIDOS:
Recorrido del robot. Tubo de cartón
Ubicación de todos los elementos que se dispondrán dentro Linterna
del escenario. Cartón
Varilla para sostener el sensor
ESCALA
RECUERDA
En cada miniproyecto, deberán realizar dibujos que ayuden a pensar la situación.
Por ejemplo, la forma y el tamaño del robot, el camino a recorrer, materiales a
utilizar, etc.
33
4 ANÁLISIS PREVIO AL CÓDIGO
Analicen cómo será el comportamiento de los sensores durante el desafío y observen la siguiente
tabla de verdad, teniendo en cuenta qué valor detecta cada uno.
0 0 Movimiento zigzagueante
A partir de la tabla anterior, completen el siguiente diagrama de flujo que los ayudará a analizar
el comportamiento que deberá desarrollar el robot en el espacio en que se desenvolverá.
34
CONSTRUCCIÓN Y PROGRAMACIÓN
Antes de iniciar el trabajo, lean los aspectos a evaluar para completar el informe que
figura en la página siguiente.
Construyan físicamente lo esquematizado en las páginas anteriores.
Programen el robot para que realice su tarea de la forma más eficaz y eficiente.
Tomen el tiempo que tarda el robot en realizar el recorrido. 35
4 INFORME
Completen el siguiente informe y especifiquen qué partes del desafío se cumplieron (o no) y por qué:
OPTIMIZACIÓN OBSERVACIONES
36
NOTICIA 5
Los automóviles se emancipan en Las Vegas
Los automóviles autónomos están más cerca que nunca: a partir de la identificación del
entorno que les ofrecen los sensores, parece que la mejor manera de llegar de un lugar a otro
en cuatro ruedas podría ser en vehículos cuyos dueños sean ellos mismos.
SIN CONDUCTORES. Muchas son las firmas que apuestan a este nuevo enfoque automotriz.
U na importante firma automotriz lleva a la prác- derecha por una línea blanca, que le indicará la banqui-
tica su programa de conducción autónoma con motivo na. Ambas líneas se destacan sobre la superficie negra
de la Feria Internacional de Electrónica de Consumo de la ruta.
(ICES, por sus siglas en inglés: International Consu- En el primer paso experimental, diseñaron una pista
mer Electronics Show) que se está celebrando en la ciu- para que el robot realice sus primeros movimientos. El
dad de Las Vegas. Para la ocasión, no ha dudado en salir autómata inicia su recorrido desde una línea de inicio,
a la calle para mostrar al público cómo es posible que corre por un carril y nunca se sale de este, ya que está
un vehículo sea capaz de recorrer un camino en forma delimitado por las líneas mencionadas anteriormente.
autónoma y detenerse en el lugar donde lo espera el En el recorrido realiza dos curvas a la derecha y dos a
conductor. la izquierda. Finaliza en la misma línea de partida, de
En la feria, el vehículo “identificará las condicio- color azul.
nes de su entorno, y así tomará decisiones”, aseguró la Es sorprendente cómo el automóvil puede trasla-
vocera de la firma. El vehículo está programado para darse guiado únicamente por sensores.
viajar por una ruta con las siguientes especificaciones: Este prototipo será, sin dudas, la atracción principal
estará delimitada a su izquierda por una línea amarilla de la Feria ICES de Las Vegas.
37
que le indicará el límite de su carril, y delimitada a la
5 ANÁLISIS DE SITUACIÓN
Extraigan los datos que consideren importantes para hacer que un automóvil se desplace de
manera automática.
1 ESCENARIO:
¿Qué dimensiones tendrá? Tengan en cuenta las medidas del robot para responder.
¿Qué forma tendrá la pista? ¿Cuántas curvas a izquierda y derecha tendrá?
¿Cuál será el ancho del carril?
2 ROBOT:
¿Qué sensor o sensores serán necesarios?
¿Cómo identificarán, a través de la programación, los giros a la derecha y a la izquierda?
¿Cuál es la velocidad más recomendable?
3 GENERALES:
¿Qué otras ideas deben tener en cuenta?
NOTAS
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
38
PREPARANDO EL ESCENARIO 5
Realicen un esquema de la situación que ayude a entenderla y resolverla:
MATERIALES
SUGERIDOS:
Forma y medida de la pista.
Cinta aisladora negra
Cinta aisladora amarilla
Cinta aisladora blanca
ESCALA Cinta aisladora azul
RECUERDA
En cada miniproyecto, deberán realizar dibujos que ayuden a pensar la situación.
Por ejemplo, la forma y el tamaño del robot, el camino a recorrer, materiales a
utilizar, etc.
39
5 ANÁLISIS PREVIO AL CÓDIGO
Analicen cómo será el comportamiento de los sensores durante el desafío y completen la siguiente
tabla de verdad, teniendo en cuenta qué valor detecta cada uno.
Negro Negro
..................................................................
Negro Blanco
..................................................................
Azul Azul
Espera ........... segundos y se ........................
RECUERDA
Las líneas centrales pueden ser de tres tipos:
Línea punteada
Los conductores de ambos carriles pueden rebasar a otro vehículo.
A partir de la tabla anterior, completen el siguiente diagrama de flujo que los ayudará a analizar el
comportamiento que deberá desarrollar el robot en el espacio en que se desenvolverá.
40
CONSTRUCCIÓN Y PROGRAMACIÓN
Antes de iniciar el trabajo, lean los aspectos a evaluar para completar el informe que figura en
la página siguiente.
Construyan físicamente lo esquematizado en las páginas anteriores.
Programen el vehículo para que realice su tarea de la forma más eficaz y eficiente.
Tomen el tiempo que tarda el robot en realizar el recorrido.
41
5 INFORME
Completen el siguiente informe y especifiquen qué partes del desafío se cumplieron (o no) y por qué:
42
NOTICIA 6
SCRATCHER, un robot que juega a los bolos
El mundo del bowling tiene una nueva superestrella que ya ha demostrado sobresalientes
cualidades de precisión y velocidad.
EN ACCIÓN. Este brazo robótico puede imitar cualquier estilo de juego a la perfección.
E l robot SCRATCHER es en rigor un solo brazo se encuentran 10 bolos que deben ser derribados. Los
que juega al bowling, usado por el Congreso Interna- robots–jugadores tienen dos tiros cada uno por ronda,
cional de Bowling (CIB) para probar distintos equipa- y la totalidad de la partida consta de 5 rondas.
mientos. Deben esperan su turno detrás de una línea de par-
Gracias a su tecnología, los datos recogidos se usan tida y sortear algunos obstáculos antes de demostrar su
para establecer reglas y también para diseñar equipa- destreza en el juego. El ganador será aquel que logre
mientos como son carriles, bolas e incluso los bolos. sumar mayor puntaje.
Recientemente, SCRATCHER debutó ante el pú- Para el CIB, lograr una mejor calidad en sus pro-
blico en Texas y parece tener muy buena puntería. Se ductos es importante para favorecer las condiciones de
enfrentó a la superestrella Chris Barnes y estuvo a pun- este deporte en todo el mundo. Una máquina automa-
to de vencerlo, pero el neoyorquino se quedó con el tizada es, sin dudas, de gran ayuda.
triunfo.
El CIB está actualmente trabajando en la creación PUNTAJE:
de un nuevo robot que sea manejado a control remoto.
La finalidad esta vez es proponer un nuevo juego, simi- Cada bolo derribado: 1 punto.
lar al bowling, pero con una modificación tecnológica: Strike (todos los bolos derribados): 20
puntos. Permite continuar con los tiros
la bola debe ser empujada por una rampa (50 cm de que le correspondan en la ronda.
ancho y 100 cm de largo) cuesta abajo (con una incli- Infracción al límite de tiro: -5 puntos y
nación de 45º con respecto al piso). Al final de la rampa pérdida del tiro.
43
6 ANÁLISIS DE SITUACIÓN
Extraigan los datos que consideren importantes para recrear el nuevo juego parecido al bowling.
1 ESCENARIO:
¿Cómo se le dará altura a la zona destinada para el RECUERDA
lanzamiento?
Para tener en cuenta a la hora de
¿Cómo realizarán la estructura que sostenga la rampa construir la estructura que sosten-
a la inclinación indicada? ga la rampa:
¿Cuál será el punto exacto de límite de tiro? El triángulo es el único polígono
¿Cuánta carrera podrá tomar el robot? que no se deforma cuando actúa
Para comprobar si el juego es atractivo, ¿será necesario sobre él una fuerza.
diseñar límites para la rampa, de manera que la pelota
no caiga fuera de ella? ¿O será mejor no hacerlo?
¿Dónde se colocará el encargado de ordenar los bolos
luego de cada tiro, de manera de no entorpecer el
juego?
Por ello es recomendable utilizar
2 DISEÑO DEL ROBOT: triángulos en el armado del con-
¿Qué sensor o sensores serán necesarios? tenedor, de manera que frente al
¿Será necesario anexarle algún material en el frente movimiento del robot y al peso de
del robot para que pueda empujar la bola? los elementos transportados no
sufra ningún deterioro su forma.
3 GENERALES:
¿Qué otras ideas deben tener en cuenta?
NOTAS
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
44
PREPARANDO EL ESCENARIO 6
Realicen un esquema de la situación que ayude a entenderla y resolverla:
MATERIALES
SUGERIDOS:
Escenario donde se desempeñará el robot (desde
el lugar de lanzamiento, considerando la rampa Una pelota de tenis o similar
Cinta aisladora negra para delimitar lugar de
y el lugar en el que se dispondrán los bolos).
lanzamiento
Forma y medida de la rampa. Cartón rígido para la rampa
Disposición de los bolos. Palitos de helado (para una estructura rígida)
Botellas plásticas para representar los bolos
ESCALA
RECUERDA
En cada miniproyecto, deberán realizar dibujos que ayuden a pensar la situación.
Por ejemplo, la forma y el tamaño del robot–jugador y de la rampa, el camino a
recorrer, materiales a utilizar, etc.
45
6 ANÁLISIS PREVIO AL CÓDIGO
Analicen cómo será el comportamiento de los sensores durante el desafío y completen la siguiente
tabla de verdad, teniendo en cuenta qué valor detecta cada uno.
En esta actividad se utilizará el control remoto.
Detecta “2”
..........................................................................................
Detecta “8”
..........................................................................................
Detecta “4”
..........................................................................................
RECUERDA
Para que el giro del robot no sea demasiado
brusco, procuren hacer los giros de a tramos
pequeños (pasos).
A partir de la tabla anterior, completen el siguiente diagrama de flujo que los ayudará a analizar el
comportamiento que deberá desarrollar el robot en el espacio en que se desenvolverá.
46
CONSTRUCCIÓN Y PROGRAMACIÓN
Antes de iniciar el trabajo, lean los aspectos a evaluar para completar el informe que figura en la
página siguiente.
Construyan físicamente lo esquematizado en las páginas anteriores.
Programen el robot jugador de bowling para que realice su tarea de la forma más eficaz y eficiente.
Tomen el tiempo que tarda el robot en realizar el recorrido.
47
6 INFORME
Completen el siguiente informe y especifiquen qué partes del desafío se cumplieron (o no) y por qué:
48
Guías teóricas
INTRODUCCIÓN A SENSORES
Hasta aquí han aprendido cómo programar todos los movimientos del robot. Pero si el robot
no puede percibir lo que sucede a su alrededor, está “ciego”. Para solucionar este problema
necesita SENSORES.
51
ACTIVIDAD
Siempre que se trabaja con sensores, es necesario saber qué está captando dicho sensor.
Para esto se utiliza el test de sensores.
Test de sensores
2 Hagan clic en la flecha roja para desplegar el menú de valores y seleccionen VERDADERO
(TRUE) .
3 Seleccionen la acción TERMINAL . Luego, se deberá indicar cuál sensor es el que testeará de
acuerdo a la entrada que se haya utilizado en nuestro robot. En este caso, como el cable está
conectado a la S0, elegiremos sensor 0.
52
4 Seleccionen la acción TIEMPO . Ingresen el valor 100.
7 Observen que los valores que recibe el sensor varían del 0 al 100. Para detener el proceso,
presionen CERRAR.
Utilizando el TEST DE SENSORES, verifiquen los valores que capta el sensor cuando se lo acerca
a una hoja de papel blanco y a una hoja de papel negro.
Al acercar el sensor a la hoja de color blanco, los valores devueltos se acercan a 100.
Al acercar el sensor a la hoja de color negro, los valores devueltos se acercan a 0.
En esta actividad, el motor mantiene el movimiento hasta que el sensor detecta el color negro,
momento en el que se detiene. El robot deberá tomar una decisión para detenerse cuando
detecta el color negro.
55
ACTIVIDAD
7 Seleccionen luego la acción MOTORES . Agreguen a continuación el valor que debe tomar
el motor al detectar el color negro (0).
56
8 Debajo de la condición FALSO , indiquen al motor que, si NO detecta el color negro,
siga funcionando.
9 Por último, con la acción TIEMPO , agreguen un tiempo de espera de 100 ms (milisegundos)
para darle tiempo a la placa a procesar la información entregada por el sensor.
57
SENSOR DE LUZ - LDR
En esta actividad, los motores se accionarán cuando sean alumbrados por una linterna.
58
3 Seleccionen la acción MOTORES . Desplieguen el menú de valores y seleccionen
ENTRADA DE SENSOR .
4 De acuerdo a la conexión de los cables para motor y sensor, seleccionen motor 0 y sensor 1.
Conecten un sensor LDR en S0 y otro en S1. Utilizando estos sensores del robot, estudiaremos
las posibilidades de acción con la Tabla de Verdad 1:
REFERENCIAS
Valor 1 = el sensor es alumbrado por una linterna.
Valor 0 = el sensor no es alumbrado.
TABLA DE VERDAD 1
Gira a la derecha
1 0
(M0 avanza; M1 detenido)
Gira a la izquierda
0 1
(M0 detenido; M1 avanza)
Avanza
1 1
(M0 y M1 avanzan)
Detenido
0 0
(M0 y M1 detenidos)
Una vez analizadas las posibilidades, podemos transcribir todo al lenguaje de programación
que utilizamos.
60
2 Desplieguen el menú de valores y seleccionen VERDADERO (TRUE) .
3 Seleccionen el bloque DECISIÓN (IF) , que mostrará los menúes desplegables verdadero y
falso.
4 Deben indicar qué valor está captando cada uno de los sensores en conjunto. Para analizar la
primera posibilidad de la tabla de verdad, deben seleccionar en verdadero el operador lógico
AND . Aparecerán dos flechas rojas desplegables:
61
ACTIVIDAD
En el segundo menú desplegable, seleccionen el signo MENOR , que desplegará a su vez
dos valores: en la flecha roja superior, seleccionen el sensor 1 y en la flecha roja inferior, el
umbral (en este caso, 80).
5 Según la tabla de verdad, bajo esta condición, la programación debe ser la siguiente:
M0 avanza (50) y M1 detenido (0).
62
7 Seleccionen en verdadero el operador lógico AND . Aparecerán dos flechas desplegables:
8 Según la tabla de verdad, bajo esta condición, la programación debe ser la siguiente: M0
detenido (0) y M1 avanza (50).
Desconecten los sensores LDR de la placa del robot y conecten el sensor de control remoto
en S0.
TABLA DE VERDAD 2
S0 2 Avanza
S0 8 Retrocede
S0 4 Gira a la izquierda
S0 6 Gira a la derecha
64
3 En verdadero, seleccionen el signo IGUAL . Aparecerán dos flechas desplegables:
Para realizar el test del sensor de ultrasonido del robot, conéctenlo al puerto S1 de la placa.
66
ACTIVIDAD
4 Debido a que el sensor de ultrasonido está conectado en S1, deben seleccionar D15 en el menú
desplegable.
S0 corresponde al D14
S1 corresponde al D15
S2 corresponde al D16
S3 corresponde al D17
S4 corresponde al D18
S5 corresponde al D19
EJERCITACIÓN
Realicen la programación para que los motores comiencen a funcionar
cuando el sensor de ultrasonido detecte un objeto a menos de 10 cm. 67
GLOSARIO
Los siguientes conceptos son herramientas de uso corriente en programación, que
deberán aprender a utilizar y a escribir en el lenguaje de programación requerido.
1 Estructuras de Control:
a. MIENTRAS CON CONDICIÓN (WHILE): Ciclo que permite realizar una acción
mientras la condición se cumpla.
b. MIENTRAS VERDADERO (WHILE TRUE): Ciclo infinito que ejecuta un proceso
mientras se cumpla una condición verdadera.
c. REPETIR (FOR): Ciclo que repite las acciones dentro de él por un número
determinado de veces.
2 Variable:
Se utiliza para guardar un valor numérico en un espacio de memoria. Se puede decir
que está definida cuando se le asigna un nombre y se establece de qué tipo es: si su
valor representa un número entero o un número decimal, una letra o una palabra. Se
define al inicio del programa.
3 Umbral:
Es el valor que arroja el testeo del sensor, y que se utiliza luego en la programación.
4 Contador:
Un contador es una variable cuyo valor se incrementa o disminuye en una cantidad
constante, cada vez que se produce una determinada acción.
5 Estructuras Condicionales:
Las estructuras condicionales comparan una variable contra otro valor (o valores)
para que, en base al resultado de esta comparación, se siga un curso de acción dentro
del programa. Cabe mencionar que la comparación se puede hacer contra otra
variable o contra una constante, según se necesite.
Existen tres tipos básicos: las simples, las dobles y las múltiples.
a. DECISIÓN (IF): Las estructuras condicionales simples son conocidas como
“Toma de decisión”. Se sigue un curso de acción en el programa si se cumple una
determinada condición.
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador
y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos
multidisciplinares.
El lenguaje de programación Arduino utiliza una sintaxis similar al lenguaje de programación C++,
muy utilizado en electrónica.
Antes de hablar de C++, es necesario volver a explicar que un lenguaje de programación es una
herramienta que nos permite comunicarnos e instruir a la computadora para que realice una tarea
específica. Cada lenguaje de programación posee una sintaxis y un léxico particular, es decir, una
forma de escribir que depende de la forma en que fue creado y de la forma en que trabaja su
compilador para revisar, acomodar y reservar el mismo programa en memoria.
C++ es un lenguaje de programación creado por Bjarne Stroustrup en los laboratorios de At&T
(American Telephone and Telegraph Corporation) en 1983. Stroustrup tomó como base el lenguaje
de programación más popular en aquella época, el C.
Trajo consigo nuevas facilidades de programación, como son las llamadas clases y objetos,
principios usados en la programación actual. Para ello el lenguaje C fue rediseñado: se ampliaron
sus posibilidades, pero se mantuvo su mayor cualidad, la de permitir al programador –en todo
momento– tener controlado lo que está haciendo, para así conseguir una mayor rapidez no
disponible en otros lenguajes.
Llevó a C a un nuevo paradigma de clases y objetos basado en una comprensión más humana
y orientado a la construcción de objetos (con características propias sólo de ellos) agrupados
en clases. Es decir, si uno quisiera hacer un programa sobre animales, crearía una clase llamada
“animales”, en la cual cada animal, por ejemplo un pato, sería un objeto. Esto evidencia el 69
intento ser un fiel reflejo de cómo los humanos (en teoría) manejan la realidad.
INTRODUCCIÓN A DUINOPACK
Una vez abierto el entorno de programación Duinopack, verán una pantalla similar a la que se muestra
a continuación. El nombre que aparecerá será uno que indicará la fecha de creación del archivo.
Lo primero que deben hacer en este punto será escribir la declaración de dos funciones necesarias
para poder empezar a escribir un código:
La primera prueba que pueden hacer para asegurarse de que todo está funcionando
correctamente, es compilar este sencillo programa.
Para ello, hagan clic en el botón VERIFICAR que se encuentra arriba de la pantalla, a la
izquierda. Noten que, al posicionarse allí, aparecerá el nombre a la derecha de la pantalla. Lo
mismo sucederá con el resto de los botones.
En caso de cometer un error en las sentencias (por ejemplo, escribir Loop en lugar de loop), en
la parte inferior de la pantalla aparecerá un mensaje en color rojo como el que se muestra a
continuación:
¿Qué es COMPILAR?
Un programa escrito en un lenguaje de alto nivel no puede ser ejecutado directamente
por una computadora; debe ser traducido a lenguaje máquina. Las etapas por las que
debe atravesar un programa escrito en un lenguaje de programación, hasta poder ser
ejecutable, son:
Programa Fuente
DEPURACIÓN del programa si se producen errores en ejecución
Con
errores
COMPILADOR
Sin errores
ENLAZADOR
Sin errores
Programa Ejecutable
72
ACTIVIDAD
MOTORES
Para iniciar las actividades de motores utilizando Duinopack, conecten el a sus computadoras
con el cable USB. Asegúrense de que la placa esté encendida.
ANTES DE COMENZAR
Cada vez que programen motores, deben incluir las siguientes tres líneas de código,
que permitirán que la placa controladora los reconozca:
Siempre que utilicen motores tendrán que agregar estas tres líneas de código. No deberán ser
modificadas nunca. La primera de ellas simplemente agrega la librería de motores en nuestro
proyecto. La segunda y la tercera le indican a la placa qué pines tendrá que utilizar cuando se
hable de motor 0 y de motor 1.
A continuación aprenderán a programar en un nuevo software de programación: Duinopack.
Para ello, se indicará en una primera columna (izquierda) cómo se escriben las líneas de código
o sentencias de cada acción a programar. Debajo de cada sentencia de Duinopack aparecerá
la explicación correspondiente. Por último, se indicará en una segunda columna (derecha) el 73
equivalente de las sentencias en los bloques de Minibloq, que ya todos conocen.
ACTIVIDAD
En esta primera actividad deben hacer que el robot avance por un tiempo determinado
en línea recta y que luego se detenga.
DUINOPACK MINIBLOQ
Estas son las tres líneas de código para programar motores, mencionadas anteriormente.
Esta línea de código es la que se usa para asignar velocidad al motor izquierdo. Por
convención, el motor izquierdo será el Motor 0 y el derecho será el Motor 1. Es importante
notar que en la primera parte de la orden se indica a qué motor se está haciendo referencia,
mientras que en la segunda, se da la orden de asignar el valor entre paréntesis como
velocidad. Las velocidades varían entre -100.00 y 100.00, donde 0 es el valor en el que el
motor está detenido y -100.00 el de la máxima velocidad de reversa.
Esta línea de código hace lo mismo que la anterior pero, en este caso, le asigna velocidad
50 al motor derecho (Motor 1).
Con esta línea de código se ordena al procesador del robot que por 5 segundos no ejecute
nuevas órdenes. Esto es para que el robot pueda avanzar durante ese tiempo, ya que sin
esta línea el procesador ejecutaría rápidamente las órdenes que siguen y no se podrían ver
los resultados. A la función delay se le asigna el valor 5000 como parámetro porque esta
función trabaja en milisegundos.
Por último, con estas dos líneas de código se ordena a los dos motores que se detengan.
74
El paso 5 muestra la función brake, una forma nueva de detener los motores:
el frenado electrónico.
Pero, además, hay otra manera de detenerlos que se corresponde mejor
a los bloques de Minibloq:
Esto quiere decir que se asigna a los motores una velocidad 0. La diferencia con
el frenado electrónico es que en este caso influye la inercia, por lo que se puede
mantener el movimiento.
La programación completa en Duinopack y en Minibloq para que el robot avance en línea recta
es como se indica a continuación:
DUINOPACK MINIBLOQ
75
ACTIVIDAD
En esta actividad el robot debe dibujar una circunferencia. Tal como lo muestra
el esquema que está a continuación, el centro de giro del robot será el punto
central de la circunferencia.
Radio de giro
Centro de giro
DUINOPACK MINIBLOQ
Estas son las líneas principales de este programa, ya que, dependiendo de la relación que
se establezca entre las velocidades de los motores, el centro de giro estará más cerca o más
lejos del robot. Para ello, deben elegir la velocidad que tendrá cada motor. En este caso, el
motor 1 debe avanzar más rápido que el motor 0 para que el robot pueda girar en torno a
76 un punto situado a su izquierda.
3
Estas son las líneas principales de este programa, ya que, dependiendo de la relación que
se establezca entre las velocidades de los motores, el centro de giro estará más cerca o más
lejos del robot. Para ello, deben elegir la velocidad que tendrá cada motor. En este caso, el
motor 1 debe avanzar más rápido que el motor 0 para que el robot pueda girar en torno a
un punto situado a su izquierda.
Con esta orden se establece el tiempo que el robot usará para dibujar el círculo. Es
importante aclarar que, si no se escriben las órdenes de frenado que siguen a continuación,
el robot seguirá girando debido a que no recibió nuevas instrucciones. Es probable que el
robot no complete un círculo en el tiempo establecido. En ese caso, habrá que modificar el
tiempo asignado como parámetro a la función delay().
Por último, esta orden frena ambos motores para que el robot se detenga.
DUINOPACK MINIBLOQ
77
ACTIVIDAD
En esta actividad el robot debe girar en el lugar donde está sin desplazarse. Tal como lo
muestra el esquema que está a continuación, se debe programar para que una rueda
avance y la otra retroceda, pero ambas a la misma velocidad.
Centro de giro
DUINOPACK MINIBLOQ
Para que el robot gire sobre su propio eje, deben asignarle la misma velocidad a cada
motor, pero uno tendrá que retroceder y el otro avanzar. Para ello, asignen una velocidad
positiva a un motor y una velocidad negativa al otro.
Gracias a esta línea de código, el procesador del robot esperará 4 segundos antes de
78 ejecutar nuevas órdenes.
3
Gracias a esta línea de código, el procesador del robot esperará 4 segundos antes de
ejecutar nuevas órdenes.
Por último, esta orden frena ambos motores para que el robot se detenga.
La programación completa en Duinopack y en Minibloq para que el robot gire sobre su propio
eje es como se indica a continuación:
DUINOPACK MINIBLOQ
79
ACTIVIDAD
VARIABLES EN PROGRAMACIÓN
Variable speed:
Por ejemplo, para que una variable represente la velocidad de los motores, se la
declara de la siguiente manera:
Caracter char a, b, c
Nombre:
Es importante notar que ya no es necesario decir qué tipo de dato guarda la
variable: sólo necesitamos su nombre. Ahora se puede usar esta variable dentro de
una función que necesite números reales, como se muestra a continuación:
Al escribir esta línea de código, se asigna a la variable speed el valor que tenía
antes (100) incrementado en 10. Pero para que realmente tenga sentido usar esta
variable, se debe usar otro concepto importante de la programación: la estructura
de control WHILE, que ya han aplicado en Minibloq.
RECUERDA
Las órdenes de un programa son ejecutadas una tras otra por el procesador. Si esta
secuencialidad no se pudiese romper, no se podría programar al robot para que
tome decisiones. Las estructuras de control permiten romper la secuencialidad de un
programa para ejecutar otra parte del código que no tiene por qué ser el que le sigue a
la orden que se está ejecutando.
81
ACTIVIDAD
En esta actividad el robot debe girar sobre su propio eje, pero con una particularidad:
debe comenzar a máxima velocidad (100) y llegar a una velocidad 0. Es decir, el robot debe
desacelerar. Para ello disminuirá su velocidad (-10) cada 1 segundo.
DUINOPACK MINIBLOQ
Al motor izquierdo se le asigna como potencia el valor almacenado en speed. Si este valor es
igual a 100, el motor avanzará a máxima velocidad. Si el valor es igual a 0, el motor se frenará.
Para que el robot gire sobre su eje, al motor derecho se le asigna la velocidad almacenada
en la variable speed, pero con un signo negativo adelante. Es decir, si la variable speed vale
100, el motor derecho avanzará con velocidad -100.
82 No se ejecutan órdenes nuevas por 1 segundo para que se vean los resultados.
7
6
No se ejecutan órdenes nuevas por 1 segundo para que se vean los resultados.
Con un contador, se le resta 10 al valor almacenado en speed. Así, cada vez que el código
ejecute las órdenes entre llaves, la variable disminuirá un valor de 10. Llegará un momento
en que la variable valdrá 0. Entonces, este código no se ejecutará más debido a que la
condición dentro del WHILE será falsa.
La programación completa en Duinopack y en Minibloq para que el robot gire sobre su propio
eje desacelerando es como se indica a continuación:
DUINOPACK MINIBLOQ
Esta actividad es inversa a la anterior. Escriban un código en Duinopack para que el robot
gire sobre su propio eje. Debe comenzar con velocidad 0 y llegar a una velocidad 100. Es decir,
el robot debe acelerar. Para ello, aumentará su velocidad (+10) cada 1 segundo. Utilicen la 83
estructura de control WHILE, la variable speed y un contador como crean conveniente.
ACTIVIDAD
SENSORES
En caso de que quieran escribir los programas con Duinopack, para poder visualizar la información
que la placa MatBot envía a través del serial (puerto de comunicación entre la computadora y el
robot), habrá que abrir el entorno Minibloq y utilizar la opción TERMINAL .
Para ello, se deben seguir los siguientes pasos:
2 Con la placa encendida y el cable USB conectado, abran la pantalla de comunicación serial del
programa Minibloq.
Comunicaciones
En esta primera actividad de comunicaciones deben lograr que la placa se comunique con
ustedes a través de la computadora. Para esto, tendrán que usar funciones de la librería Serial.
Este nombre hace referencia a cómo los bits viajan a través del cable entre la computadora y la
placa (esto es, “de a uno a la vez” o “uno tras otro”).
La placa envía un pulso eléctrico que puede ser:
84 • de 0 voltios
• de 5 voltios
En el primer caso, la computadora interpretará la ausencia de voltaje como un 0 lógico,
mientras que en el segundo caso lo interpretará como un 1 lógico. Así se puede formar
cualquier secuencia de ceros y unos. Luego, esas secuencias de números binarios se
convertirán en caracteres alfanuméricos que se podrán visualizar en la pantalla, ya que cada
letra del alfabeto está representada por una secuencia de unos y ceros.
DUINOPACK
Esta línea de código es precisamente la que imprime por pantalla el mensaje que desean
mostrar. Es importante notar que el mensaje en cuestión debe estar encerrado entre
comillas y entre paréntesis, ya que este es el parámetro que toma la función println().
Serial.println("Hello World!"); debe ir escrito dentro de la función setup(). Por último, cabe
aclarar que el nombre de la función println() significa “imprimir línea”, ya que ln es una
abreviación de “line” (línea).
Una vez descargado este programa a la placa MatBot, habrá que abrir el Minibloq para ver el
resultado de la comunicación entre el robot y la computadora. La programación completa en
Duinopack y Minibloq para comunicar “Hello world!” es como se indica a continuación:
DUINOPACK MINIBLOQ
85
ACTIVIDAD
Testeo de un sensor IR
En esta actividad deben testear el funcionamiento de un sensor infrarrojo (IR). Para ello, tendrán
que mostrar en la pantalla los valores que este sensor capta en distintas situaciones. A medida
que avancen en las pruebas, completen la siguiente tabla de valores:
De los valores que se muestran por pantalla, los más altos corresponden a situaciones en las que
el sensor detectó algo a corta distancia, mientras que los valores más bajos son los captados
cuando no había nada cerca del sensor.
DUINOPACK
Esta línea de código simplemente muestra por pantalla el mensaje “Sensor 1: ”, el cual
ayudará a mostrar por pantalla la información de manera más clara.
4
Esta es la línea de código más importante del programa. La función Serial.println()
mostrará por pantalla el mensaje que se le pase como parámetro entre los paréntesis.
Entonces, deben pedirle que muestre el valor detectado por el sensor 1. Para ello, usen la
función analogRead(número_sensor), la cual devuelve el valor captado por el sensor
indicado. Los sensores, al igual que los motores, tienen un número que depende del pin al
que estén conectados.
DUINOPACK
Luego, deben utilizar la opción TERMINAL que hará que Minibloq muestre por pantalla los
mensajes enviados desde el robot a la computadora.
Una vez abierta la pantalla del terminal, hagan clic en el botón Abrir para que empiece la 87
comunicación.
ACTIVIDAD
Operadores lógicos
Sin embargo, hay ocasiones en las que es necesario que se cumpla más de una
condición para lograr determinados resultados. Es aquí donde entran en juego los
Operadores Lógicos.
Uno de los más utilizados en robótica educativa es el AND: este operador lógico
sirve cuando queremos que se ejecute un determinado bloque de código sólo si
pasan dos cosas al mismo tiempo.
88
Operadores lógicos en Minibloq
89
ACTIVIDAD
1 En esta actividad deben programar al robot para que, usando dos sensores IR, pueda seguir una
línea negra pintada sobre un fondo blanco. Utilicen los operadores lógicos.
Completen la siguiente tabla de verdad con las acciones que crean que debe hacer el robot
según el color que detecten los sensores IR (negro o blanco). Recuerden que 1 representa
que el sensor detecta el color negro, y 0 que detecta el blanco.
1 0
0 1 Gira a la derecha
1 1
0 0
2 En esta actividad deben completar la programación en Duinopack para que el robot avance
siguiendo una luz. Alguien con una linterna debe marcar el camino que desee, apuntando
con ella a los sensores IR que están montados en la parte frontal del robot. Para realizar esta
actividad monten dos sensores IR en la parte frontal del robot orientados hacia el frente.
90 Realicen esta misma actividad utilizando el entorno Minibloq. Tendrán que usar el operador
lógico AND.
DIAGRAMAS DE FLUJO
Los diagramas de flujo tienen muchas utilidades, entre las cuales está la
conceptualización de un esquema de decisión. Se dibujan generalmente antes de
comenzar a programar el código frente a la computadora y facilitan la visualización de
la lógica utilizada.
Una vez que se dibuja el diagrama de flujo, se hace mucho más sencillo escribir el
programa en cualquier lenguaje de programación, tanto de alto nivel (Minibloq) como
de bajo nivel (C++ o Arduino).
Es evidente cómo los diagramas de flujo ofrecen una enorme ventaja al momento de
explicar el programa a otros; por lo tanto, es correcto decir que son una necesidad para
la mejor explicación de un programa complejo.
91
DIAGRAMAS DE FLUJO
Símbolo Significado
CARACTERÍSTICAS Y VENTAJAS:
Es una representación gráfica de las secuencias de un proceso.
Presenta información clara, ordenada y concisa.
Permite visualizar las frecuencias y relaciones entre las etapas indicadas.
Se pueden detectar problemas, desconexiones, pasos de escaso valor añadido, etc.
2 Para indicar las acciones de un robot: si el sensor detecta el color Negro, entonces avanza
durante 10 segundos. Si no, se detiene durante 1 segundo y luego gira sobre una rueda durante
2 segundos, hasta detenerse.
velocidad
velocidad
Debido a que el Sensor0 no detectó
Negro, se les asigna a los dos motores
una velocidad 0 durante 1 segundo.
Luego, al Motor1 se le asigna una
velocidad velocidad de 50 para lograr que, por 2
velocidad segundos, el robot gire sobre una rueda.
velocidad
velocidad velocidad
velocidad
velocidad
velocidad
93
DIAGRAMAS DE FLUJO
3 Para que el robot avance siguiendo una luz.
94