Sunteți pe pagina 1din 71

Cuaderno de

prácticas
Guía para el profesor

education
2

ÍNDICE
1. INTRODUCCIÓN..................................................................................................................... 3

2. COMUNICACIÓN MOWAY – SCRATCH................................................................................ 4


Introducción........................................................................................................................ 4
Radiofrecuencia................................................................................................................... 5
Comandos............................................................................................................................ 6
Sensores ............................................................................................................................. 8

3. PRÁCTICA: MOVIMIENTO .................................................................................................... 9


Ejercicio 3.1. Movimiento por radiocontrol.....................................................................11
Ejercicio 3.2. Cuadrado ......................................................................................................12
Ejercicio 3.3. Encerrado .....................................................................................................16
Qué hemos aprendido .......................................................................................................17

4. PRÁCTICA: LEDS Y ALTAVOZ .............................................................................................18


Ejercicio 4.1. LEDs por radiocontrol .................................................................................20
Ejercicio 4.2. Encerrado y LEDs ........................................................................................22
Ejercicio 4.3. Altavoz ..........................................................................................................23
Qué hemos aprendido .......................................................................................................24

5. PRÁCTICA: SENSORES - SONIDO .....................................................................................25


Ejercicio 5.1. Misión en la Luna ........................................................................................26
Ejercicio 5.2. Grabador de sonido ....................................................................................29
Ejercicio 5.3. Canción “If you’re happy” .........................................................................33
Qué hemos aprendido .......................................................................................................35

6. PRÁCTICA: SENSORES. LÍNEA Y OBSTÁCULOS ..............................................................36


Ejercicio 6.1. Sensores de obstáculos..............................................................................40
Ejercicio 6.2. Sigue la línea ...................................................................................... 43
Ejercicio 6.3. Evitando los obstáculos .............................................................................44
Qué hemos aprendido .......................................................................................................48

7. PRÁCTICA: SENSOR DE LUZ ..............................................................................................49


Ejercicio 7.1. Túnel .............................................................................................................49
Ejercicio 7.2. Sigue la luz ...................................................................................................51
Qué hemos aprendido .......................................................................................................55

8. PRÁCTICA: ACELERÓMETRO..............................................................................................56
Práctica 8.1. Fútbol ............................................................................................................59
Práctica 8.2. Pong ...............................................................................................................63
Qué hemos aprendido .......................................................................................................67

9. PROYECTO FINAL ................................................................................................................68

10. ANEXO I: Conectar aplicación “mOway Scratch V2”. Paso a paso ..................................69
3

1. INTRODUCCIÓN
Scratch es un entorno de programación desarrollado por el MIT (Massachussets Ins-
titute of Tecnology) basado en símbolos iconográficos denominados “bloques” que per-
miten crear historias interactivas, animaciones y juegos, así como compartir nuestras
creaciones con otros usuarios en la web.
Scratch facilita el aprendizaje autónomo y permite a los principiantes obtener resulta-
dos inmediatos sin necesidad de saber escribir código. Para empezar a crear programas
(scripts) hay que encajar bloques gráficos unos con otros formando pilas.
Se utiliza en todo el mundo y está destinado especialmente para niños aunque lo uti-
lizan personas de todas las edades en entornos diferentes como escuelas, museos o en
los propios hogares. Además se puede instalar y redistribuir gratuitamente en cualquier
ordenador con Windows, Mac OSX o Linux.
Puedes descargarte el Manual de Inicio de Scratch directamente aquí y encontrar más
información sobre Scratch en la propia página Web del MIT.
El programa es gratuito y su código fuente está disponible para la comunidad, propi-
ciando la creación de desarrollos que permitan programar diferentes elementos externos
e interactuar con nuestro entorno, como programar el robot mOway.
mOway es un mini robot autónomo programable diseñado principalmente para realizar
aplicaciones prácticas de robótica móvil. Es una herramienta educativa perfecta tanto para
aquellos que desean dar sus primeros pasos en el mundo de la robótica como para quien
ya ha trabajado con robots y desea realizar aplicaciones más complejas.
El robot mOway está dotado de una serie de sensores que nos ayudan a desenvolvernos
en un entorno real. A su vez cuenta con un grupo motor que le permite desplazarse sobre
el terreno. Todos estos periféricos están conectados a un microcontrolador que será el
encargado de gobernar el robot.
mOway desarrolla habilidades personales como la creatividad, el interés por
seguir aprendiendo y el trabajo en equipo. Su gran ventaja es su rápida curva de
aprendizaje: el alumnado obtiene resultados desde la primera clase, lo que les genera
una gran motivación.
4

Trabajar con mOway y Scratch multiplica las posibilidades de ambos recursos generando
un entorno que combina ejercicios que mezclan la programación en un ordenador con el
mundo real y la programación de objetos.

Ventajas • mOway es un robot móvil, autónomo que, sin necesidad de estar


conectado al ordenador, es programable desde el entorno Scratch.
• Los sensores, motores y actuadores de mOway son programables
desde Scratch y pueden ser leídos y controlados en movimiento.
• mOway permite al alumno simular y comprender de manera práctica ejemplos
de la vida real, y comprobar cómo funcionan elementos de nuestra vida cotidiana
como un mando distancia, el sensor de una puerta de garaje, un teléfono móvil, …
• mOway da vida a todo aquello que el alumno programa en su pantalla, y le
ayuda a comprender y asimilar los conceptos.

2. COMUNICACIÓN MOWAY – SCRATCH


Introducción
El robot mOway se controla desde el entorno Scratch por medio de comandos. Un
comando es una orden que escribimos en Scratch y que enviamos al robot. Cuando el
robot recibe esta orden, realiza la acción ordenada. Por ejemplo, si queremos que el robot
avance, tenemos que escribir el comando “adelante” en Scratch. Cuando ejecutemos este
comando, el robot recibirá esta orden y sus ruedas se activarán.
Por otra parte, el robot mOway tiene en su interior diferentes sensores. Un sensor es un
dispositivo electrónico que sirve para medir las condiciones del lugar donde se encuentra.
Por ejemplo, sensores de obstáculos para detectar objetos delante del robot, sensor de
luz para detectar si es de día o de noche, sensor de temperatura, etc. El robot está conti-
nuamente enviando el valor de sus sensores al entorno Scratch.

Comandos

Sensores
5

Tanto el envío de comandos como el envío de los valores de los sensores se realizan
por medio de radiofrecuencia (RF). El robot mOway y el entorno Scratch intercambian
mensajes de forma inalámbrica. La gestión de estos mensajes se realiza por medio de
la aplicación “mOway Scratch V2”, que hace de conexión entre Scratch y el robot.

Comandos

Sensores

Radiofrecuencia
Para que exista comunicación inalámbrica entre el entorno Scratch y el robot mOway,
son necesarios los siguientes elementos:

- Se conecta al ordenador.

RFUSB - Sirve para enviar comandos desde


Scratch y para recibir el valor de los senso-
res del robot.

- Se conecta al robot mOway

Módulo RF - Sirve para recibir los comandos de


Scratch y para enviar el valor de los sen-
sores
6

La radiofrecuencia es una forma de transmitir in-


formación de forma inalámbrica, como ocurre en los
coches teledirigidos.
En esta comunicación existen estos 3 elementos:
- Un emisor (mando a distancia) que envía el mensaje
- Un receptor (el coche) que recibe el mensaje
- Un canal, que es como si fuera el “cable” por el
que se transmite el mensaje.

Comandos

Para activar los comandos y los sensores en Scratch 2.0 hay que seguir los
siguientes pasos:
1. Presiona "Shift" sin solta, haz click en Archivo y elige "Importar la version experimental de
la extension HTTP"TP"

2. Ruta C:\Program Files\mowayPack v4


\mowayScratchV2\Projects\Library\English
\MowayLibrary.s2e

3. Para ver los bloques de los sensores, ir al apartado


"Mas Bloques""

Una vez hecho esto, el entorno Scratch está preparado tanto para enviar comandos a
mOway como para recibir los valores de los sensores de mOway.
7

Dentro del entorno Scratch, los comandos se encuentran dentro del apartado "Mas
bloques". Este comando se envia a la aplicacion "moway scratch V2" la cual se encarga de
enviar este comando al robot por radiofrecuencia.

La imagen siguiente muestra el funcionamiento de los comandos:


1. Scratch envía un comando, como por ejemplo, avanzar hacia delante, dar media
vuelta, encender todos los LEDs,…
2. La aplicación “mOway Scratch V2” recibe este comando y lo envía al robot mOway
por radiofrecuencia.

Comandos
8

Sensores
El robot está continuamente enviando por radiofrecuencia el valor de sus sensores.
Estos valores enviados son recibidos por la aplicación “mOway Scratch V2”, que a su
vez, los reenvía al entorno Scratch. Una vez que esta información ha llegado a Scratch,
podemos ver los valores de los sensores gracias al bloque “Mas Bloques”.

Sensores

Una vez que esta informacion ha llegado a Scratch, podemos ver los valores de
los sensores gracias al bloque "Mas Bloques"
9

3. PRÁCTICA: MOVIMIENTO
Introducción
En esta práctica aprenderemos cómo controlar los movimientos del robot desde Scratch.
Además, veremos cómo podemos hacer que un dibujo del robot en Scratch copie los mo-
vimientos del robot real.

Ruedas de mOway
El robot puede moverse gracias a sus dos ruedas, que
le permiten avanzar, retroceder y girar. De esta forma,
podemos hacer que mOway se desplace en cualquier di-
rección para explorar diferentes zonas con sus sensores,
por ejemplo.

Las dos ruedas de robot son independientes, lo que significa que cada una de ellas pue-
de girar con una velocidad y una dirección diferente. Esto permite diferentes posibilidades:
• Si las ruedas giran hacia delante con la misma velocidad, el robot avanza.
• Si las ruedas giran hacia atrás con la misma velocidad, el robot retrocede.
• Si las ruedas giran con velocidad diferente, el robot hace una curva.
• Si las ruedas giran en sentidos diferentes, el robot gira sobre su centro.
• Si una rueda gira y la otra no, el robot gira sobre la rueda parada.

Los movimientos del robot mOway pueden controlarse según los siguientes parámetros:
• Velocidad: La velocidad de las ruedas es mayor o menor.
• Tiempo: Se puede elegir el tiempo durante el cual el robot se mueve.
• Distancia: Se puede elegir la distancia que va a recorrer el robot.
10

Para saber la distancia que ha recorrido el robot, las


ruedas tienen un “encoder”. Un “encoder” es parecido al
cuentakilómetros de una bici: cuenta las vueltas que ha
dado una rueda y, sabiendo el diámetro de la rueda, puede
calcular la distancia que ha recorrido.

Para controlar el robot desde el entorno Scratch, puedes encontrar el bloque


en el apartado “Mas Bloques” (bloques morados):

Estos son los comandos que usaremos en este ejercicio:

Comando Descripción

El robot avanza

El robot se para

El robot gira a la derecha

El robot gira a la izquierda


11

Ejercicio 3.1. Movimiento por radiocontrol

Cada vez que pulsamos una de las flechas del teclado, Scratch enviará un comando de
movimiento a mOway. Por ejemplo, al pulsar la flecha “arriba”, el comando enviado es
“adelante”. Esto hace que el robot avance. Si se pulsa la flecha “abajo”, el robot se para.
De forma parecida, al pulsar las flechas “derecha” o “izquierda”, el robot gira 90º hacia el
lugar correspondiente. En este caso, el robot de Scratch mostrará los giros del robot real.
Para ello, se usan los bloques “girar 90 grados”.

Verás que el robot en Scratch copia los movimientos del robot real.
12

Ejercicio 3.2. Cuadrado


En este ejercicio vamos a hacer que el robot mOway se mueva formando un cuadrado,
tanto en el dibujo de Scratch como en la realidad.
Comenzaremos moviendo sólo el dibujo del robot en Scratch. Para ello, usaremos los
bloques del apartado “Movimiento” (bloques azules). Desplazaremos el dibujo del robot
para que se coloque en los siguientes puntos, que serán los vértices del cuadrado:

x: -150 x: 150
y: 90 y: 90

x: -150 x: 150
y: -90 y: -90

Para trazar uno de los lados del cuadrado, el dibujo del robot tiene que avanzar recto
durante un tiempo y luego girar 90º para estar preparado para trazar el siguiente lado del
cuadrado. Empezamos el programa colocando el dibujo del robot en la posición inicial (“x:
-150, y: -90”). Luego desplazamos el dibujo durante 2 segundos hasta el siguiente vértice
del cuadrado, es decir, a la posición “x: -150, y: 90”. Después giramos el dibujo 90º hacia
la derecha, para estar preparado para continuar con el cuadrado:
13

Una vez realizado uno de los lados del cuadrado, es sencillo completar el programa
repitiendo las mismas acciones otras 3 veces. Hay que indicar los valores de las nuevas
posiciones de los bloques “deslizar…”, como hemos visto antes. También hemos incluido
una pausa de 1 segundo después de cada giro.

Al ejecutar el programa anterior, el dibujo del robot se moverá formando un cuadrado.


Ahora vamos a hacer que el robot real realice los mismos movimientos.
Comenzamos trazando uno de los lados del cuadrado. Para ello, enviamos los
siguientes comandos al robot, “Straight Speed” y "Angle Rotation" dentro del
apartado “Mas Bloques”:
14

El robot avanzará durante 20cm y luego girará 90º a la derecha. Para completar el
cuadrado, simplemente se repiten los comandos anteriores, añadiendo una pausa de 1
segundo después de cada giro, para que el robot tenga tiempo de girar los 90º.

Si pulsamos la bandera verde del entorno Scratch, veremos cómo el robot real se mue-
ve mientras se muestra en el dibujo de Scratch los mismos movimientos. A continuación
vamos a unir estos dos programas en uno solo.

Antes ambos programas funcionaban de manera independiente. Uno de ellos controlaba el


dibujo de Scratch y el otro controlaba el robot real. Al unir los programas hay que tener en
cuenta que para cada comando de movimiento enviado al robot real hay que incluir un
blo-que de movimiento para el dibujo de Scratch.

OBSERVA: Los bloques azules mueven el dibujo mientras que los bloques amarillos
envían las órdenes al robot real.

El programa completo queda de la siguiente forma. De este


modo ya no es necesario tener dos programas:
15

El robot mOway de Scratch se mueve for-


mando un cuadrado.
16

Ejercicio 3.3. Encerrado


En este último ejercicio de la práctica vamos a hacer que el robot mOway se quede en-
cerrado dentro de la pantalla de Scratch.

El programa es parecido al que hemos visto en el primer ejercicio (“Movimiento por ra-
diocontrol”). Al pulsar las flechas del teclado, el robot se moverá. Por ejemplo, al pulsar la
flecha “arriba” el robot avanzará, pero en este caso, el robot en Scratch avanza hasta que
llega al borde de la imagen. Cuando ocurre esto, el robot se para.
Los bloques “detener todo” son necesarios para que, después de girar o de pararse, el
robot en Scratch no siga avanzando, sino que se pare al igual que el robot real.
17

Qué hemos aprendido

Cómo el robot puede desplazarse y girar gracias a sus 2 ruedas.


Cómo enviar comandos desde Scratch para controlar el robot.
Cómo mover el dibujo del robot en Scratch.

Nuevos retos
• Puedes añadir otras teclas para controlar otros movimientos de tu robot. Por ejemplo,
para dar media vuelta.
• Puedes realizar giros más “suaves” en Scratch. Por ejemplo, realizar giros de 10º en
9 veces.

Comprueba lo que sabes


1. ¿Cómo tienen que girar las ruedas para que mOway gire sobre su centro?
a) En el mismo sentido
b) En sentidos diferentes

2. ¿En que apartado estan los comados de mOway?


a) Mas Bloques
b) Sensores
c) Stop MOway

3. ¿Cuál es el bloque para girar el dibujo de mOway en Scratch?


a) Al presionar tecla
b) Girar 90 grados
c) Mover 2 pasos
18

4. PRÁCTICA: LEDS Y ALTAVOZ


Introducción
En esta práctica vamos a explicar qué es un LED y cómo podemos activar los LEDs del
robot mOway. También aprenderemos a emitir sonidos con el robot por medio de su alta-
voz interno.

Luces LED
Un LED es un dispositivo electrónico
parecido a una bombilla: cuando pasa
una corriente eléctrica a través de un
LED, éste se enciende. La gran diferen-
cia entre un LED y una bombilla normal
es que los LEDs consumen mucha me-
nos energía que una bombilla. Además
los LEDs tienen una mayor duración y
aguantan mejor las vibraciones.
Existen LEDs de diferentes colores: blanco, azul, rojo, verde, etc.
Actualmente los podemos ver en todas partes: bombillas, lámparas, linternas, televisio-
nes, faros de coche, etc.
19

Una bombilla normal es poco eficiente debido a que gran parte de la energía
eléctrica que le llega (un 90%) se transforma en calor. Tan sólo el 10% de la
energía se transforma en luz.

En cambio, un LED no se calienta, aprovechando mejor la energía que le llega


para transformarla en luz.
20

En el robot mOway puedes controlar 4 LEDs de forma independiente. En la imagen se


indica dónde están situados:

LED rojo

LEDs de freno
LED frontal
Ejercicio 4.1. LEDs por radiocontrol
El programa consiste en activar los LEDs cada vez que se pulse la tecla
correspondiente. Las flechas “arriba” y “abajo” controlan los LEDs frontal y de freno. Las
flechas “izquierda” y “derecha” controlan los LEDs verde y rojo. Los nuevos comandos
que vamos a utilizar son los siguientes:

Comando Descripción

Enciende / apaga el LED frontal

Enciende / apaga el LED de freno

Enciende / apaga el LED verde

Enciende / apaga el LED rojo

Apaga todo
21

Por ejemplo, al pulsar la tecla “arriba”, lo primero que se hace


es cambiar el dibujo del robot en el que el LED frontal está encen-
dido. Después se envía al robot real el comando para encender
el LED frontal. Después se envía el comando de apagar el LED
de freno.
NOTA: En un principio, este último comando no parece nece-
sario, pero es útil si previamente hemos pulsado la flecha “abajo”
y el LED de freno estaba encendido. De este modo, nos asegura-
mos de que cada vez que pulsamos la flechas “arriba” o “abajo”,
queda encendido un solo LED.

La parte del programa, que controla los LEDs rojo y verde, es muy similar a lo explicado
antes. Por último, al pulsar la tecla “espacio” el dibujo del robot vuelve a ser como el inicial
y todos los LEDs del robot se apagan.
22

Ejercicio 4.2. Encerrado y LEDs


Este ejercicio se basa en el ejercicio 3.3, en el que el dibujo del robot mOway estaba
encerrado dentro de la ventana y el robot real copiaba sus movimientos. En este caso, se
añade la activación de los LEDs, de modo que:
• Cuando el robot avanza, se enciende el LED frontal.
• Cuando el robot se para, se enciende el LED de freno.
• Cuando el robot gira a la izquierda, se enciende el LED rojo.
• Cuando el robot gira a la derecha, se enciende el LED verde.
Cada vez que se envía un comando para activar un LED, el dibujo del robot cambia a la
imagen del LED correspondiente.
23

NOTA: Cada vez que se envía un comando para activar un LED, es necesario que
justo antes se envíe el comando para apagar todos los LEDs (bloque “All (off)”). Esto se
hace para apagar todos los LEDs previamente, de modo que esté activado un solo LED
en cada movimiento.

Ejercicio 4.3. Altavoz


En el último ejercicio de esta práctica vamos a hacer que el robot mOway emita un so-
nido cuando va marcha atrás.
El robot mOway tiene en su interior un “altavoz” o “zumbador”. Un zumbador es un
dispositivo que emite un sonido cuando se conecta a una señal de voltaje variable.

El sonido se produce cuando un objeto vibra. Estas vibraciones se trans-


miten por el aire y llegan a nuestro oído, en el que se encuentra el tímpano.
Al llegar al tímpano, las vibraciones lo hacen moverse y, de esta forma, de-
tectamos los sonidos.

Por eso, al conectar una señal


de voltaje variable al altavoz de
mOway, el altavoz vibra y trans-
mite esta vibración al aire.
24

Qué hemos aprendido

Qué son los LEDs y dónde podemos encontrarlos.


Cómo activar los LEDs de mOway.
Cómo detectar si el dibujo del robot está tocando el borde de la ventana
de Scratch.

Nuevos retos
• Una vez que has entendido cómo encender y apagar los LEDs de mOway, prueba a
hacerlos parpadear.

Comprueba lo que sabes


1. ¿Por qué a veces es necesario apagar todos los LEDs antes de encender uno de ellos?
a) Para hacerlos parpadear
b) Para que tan solo quede ese LED encendido
c) No es necesario apagar los LEDs
25

5. PRÁCTICA: SENSORES - SONIDO


A continuación vamos a introducir el concepto de “sensor” y vamos a centrarnos en la
aplicación y uso de uno de ellos: el micrófono.
Un sensor es un elemento que permite a un robot conocer el mundo que le rodea. Es
algo parecido a nuestros sentidos. Gracias a los sensores, el robot mOway puede “ver”,
“oír” y “sentir”. Esto le permite detenerse cuando se acerca a un obstáculo, avanzar cuan-
do detecta un sonido, encender una luz al pasar por un túnel, etc.

Un sensor es un dispositivo capaz de detectar magnitudes físicas o quími-


cas y transformarlas en señales eléctricas. Estas señales eléctricas son leídas
por el microprocesador de mOway y son transformadas y enviadas a Scratch
como magnitudes numéricas para su uso en nuestros programas.
Para medir la cantidad de sonido recibida, mOway
utiliza un micrófono de tipo electret como el de la ima-
gen. Este micrófono utiliza un electrodo de plástico
que polarizado provoca variaciones eléctricas cuando
el sonido incide en el micrófono.
Los micrófonos electret se emplean en múltiples aplicaciones:
• Micrófono de solapa (como los utilizados en televisión)
• Micrófono en grabadoras portátiles
• Teléfonos móviles

Para leer el valor de los sensores en el entorno Scratch 2.0, utilizaremos "Mas
Bloques". En este caso para emplear el micrófono debemos seleccionar el bloque
“Moway:Volume Sensor”.
26

Comando Descripción
Equivale a un valor numérico entre el
0% y el 100% de volumen del sonido
detectado

mOway dará media vuelta (giro de


180ºC)

Ejercicio 5.1. Misión en la Luna


En este ejercicio mOway se sitúa en la luna en misiones de observación. mOway reac-
cionará a los sonidos generados por nosotros para recorrer la luna. Cuando generemos un
primer sonido fuerte (puede ser un grito o una palmada) mOway avanzará hasta alcanzar
el horizonte y esperará un nuevo sonido. Con el segundo sonido mOway volverá a la po-
sición inicial.

Valor del
sensor
Micrófono

En este práctica utilizaremos los bloques de “mover pasos” y “cambiar tamaño” de


Scratch para simular que mOway se aleja y acerca. Para indicar el horizonte hemos co-
locado una línea negra imaginaria que coincide con el horizonte del escenario de la luna.
27

Para que el valor del sensor de micrófono aparezca en la pantalla de Scratch debemos
marcar el “tic” en la barra lateral izquierda de Scratch. Para que solo nos muestre el valor
numérico, debemos pulsar con el botón derecho del ratón sobre la variable en el escenario
y seleccionar “grande”.

El movimiento de exploración de la luna de mOway se programaría de la siguiente manera:


28

Espera

Ida

Espera

Vuelta
29

Al presionar la “Bandera Verde”, mOway se coloca en la posición inicial y con su tamaño


original. Esta función es necesaria por si hemos desplazado a mOway por la pantalla con
anterioridad o hemos reducido su tamaño durante una ejecución anterior del programa.
Luego repite indefinidamente una secuencia de avance y retroceso. En primer lugar,
mOway se cambia el disfraz a “adelante” y enciende el LED verde superior para indicarnos
que se encuentra a la espera de órdenes. mOway esperará hasta que oiga un sonido
superior al 30%. Una vez esto ocurra, mOway apagará el LED verde y avanzará mientras
reduce su tamaño en la pantalla al alejarse. Para reducir el tamaño de mOway empleare-
mos el comando Scratch “cambiar tamaño por”.

Comando Descripción
El comando “cambiar tamaño por”
cambia el tamaño del objeto en un fac-
tor de valor “10”

Cuando mOway alcance el horizonte dará media vuelta y encenderá el LED para indicar
que se encuentra a la espera de una nueva orden. La vuelta se realiza de la misma forma
pero en sentido inverso y aumentando de tamaño según se acerca. El límite para dar la
vuelta en este caso lo fijará el borde del escenario en vez del horizonte.

Ejercicio 5.2. Grabador de sonido


En esta práctica vamos a utilizar el micrófono de
mOway como grabador de sonido y pintaremos en
nuestro escenario la magnitud del sonido recibido.
También implementaremos una típica aguja que in-
dica el volumen de sonido recibido.
En primer lugar programaremos el funcionamiento
de la aguja. Para ellos hemos creado un objeto con
forma de flecha que apunta hacia la izquierda cuando su orientación es 0º. Como el valor
de volumen del micrófono va de 0 a 100 si queremos que la flecha cubra todo el semicír-
culo del volumen debemos multiplicar su valor por 1,8 para que en el volumen máximo
(100%) la flecha apunte a 180º (volumen máximo en rojo).
30

El programa de este objeto con forma de flecha simplemente variará la dirección de la


flecha según el valor del sensor Micrófono (con el factor de corrección de 1,8 comentado
anteriormente).

Para grabar el sonido recibido y pintarlo en pantalla utilizaremos la función de Scratch de


lápiz. El objeto Sonido se irá desplazando por la pantalla con el lápiz bajado y registrando
el volumen de sonido recibido.

En esta práctica vamos a emplear por primera vez las variables de Scratch. En
el ámbito de la programación, las variables son estructuras de datos que pueden
cambiar de valor a lo largo de un programa.
A cada variable el programador le asigna una etiqueta que le permite reconocerla
del resto, de ese modo siempre que lo necesite podrá llamar a esa variable y acu-
dirá con el valor que le ha sido adjudicado. En este caso el nombre de la variable
a utilizar es “posición_x”. Es conveniente asignar a las variables, nombres que nos
faciliten su identificación (por ejemplo con un nombre que identifique la magnitud
que representa).
Esta variable la iremos modificando según el programa se ejecuta y la utilizare-
mos para calcular la posición en el eje X en la que colocaremos el objeto Sonido
según vaya avanzando por la pantalla.
31

Al presionar la bandera verde fijamos el color y el tamaño del lápiz. A continuación en-
tramos en un bucle en el que en primer lugar borramos los restos de lápiz anteriores y
movemos el objeto Sonido a la posición inicial (x=-235, y=0) con el lápiz subido. Una vez
en la posición inicial bajamos el lápiz y vamos desplazando el objeto Sonido con el
lápiz bajado sobre el eje X con los valores de micrófono en el eje Y hasta alcanzar el bor-
de derecho. En ese momento borramos la pantalla y comenzamos de nuevo en el punto
inicial. El resultado sería el de la imagen inferior.
32

Nuevos retos
Una vez que hemos completado este programa podemos añadir una función para que
el color del lápiz cambie a color rojo cuando el sonido es superior a un umbral y por otro
lado mOway encienda el LED rojo para indicar esta misma situación.
La programación sería de esta forma: si el valor del micrófono se sitúa por encima del
30%, el lápiz cambia a color rojo y el LED rojo de mOway se encenderá.
33

Ejercicio 5.3. Canción “If you’re happy”


En esta práctica de mOway vamos a utilizar el micrófono para identificar si estamos si-
guiendo el ritmo de la música de manera correcta. Scratch reproducirá la canción infantil
“If you’re happy” y en el momento de escuchar las palmadas de la canción, mOway com-
probará si lo hemos hecho de manera correcta. Si lo hemos hecho correctamente mOway
encenderá todos sus LEDs y dará media vuelta. Por último si se realizan los tres bloques
de palmas correctamente mOway mostrará el mensaje “¡¡Conseguido!!”.
La letra de la canción es la siguiente:

“If you’re happy and you know it, clap your hands (clap clap)
If you’re happy and you know it, clap your hands (clap clap)
If you’re happy and you know it, then your face will surely show it
If you’re happy and you know it, clap your hands. (clap clap)”

Los bloques de palmas se deben realizar al finalizar la estrofa. Esto ocurre tres segundos
después de empezar (en la primera), 4 segundos después de la primera (en la segunda)
y 8 segundos después la última. Por ese motivo se comprueba el valor de micrófono en
esos intervalos.
34

Si la señal del micrófono tiene un valor superior al 15% se “envía a todos” la señal
aplau-so. Hasta ahora la sentencia “enviar” la habíamos utilizado para enviar comandos
a mOway pero también se emplea para enviar comandos en Scratch a otros objetos
o, dentro del mismo objeto, para realizar aplicaciones específicas.
En este caso cuando el objeto mOway en Scratch recibe el comando aplauso,
cambia el disfraz a “applause”, da media vuelta, enciende los LEDs durante un segundo,
e incrementa la variable aplauso en uno para indicar que la secuencia de palmas se ha
realizado de manera correcta.
Al finalizar el programa comprobaremos si la variable aplauso tiene un valor de 3 lo que
indicaría que las tres secuencias de palmas se han llevado a cabo de manera correcta.

Por otro lado, las manos de las personas del fondo aplaudirán también al recibir la señal
aplauso, generada si el mOway ha detectado las palmas en el momento apropiado.
35

Qué hemos aprendido

Qué es un sensor.
Qué es un micrófono.
Cómo leer valores de sensores de mOway, compararlos y representarlos.

Cómo usar y nombrar variables.

Nuevos retos
• Podrías intentar hacer que mOway ejecute acciones diferentes dependiendo del vo-
lumen que está escuchando. Por ejemplo si das una palmada fuerte, mOway da media
vuelta. Si das palmas con una fuerza media, mOway gira a la izquierda y si das palmas
con poca fuerza mOway enciende los LEDs.

Comprueba lo que sabes


1. Un sensor es un dispositivo que:
a) Convierte magnitudes eléctricas en físicas o químicas
b) Es muy sensible
c) Convierte magnitudes físicas o químicas en señales eléctricas
2. ¿Qué tipo de micrófono lleva mOway en su interior?
a) De condensador
b) Electret
c) De bobina móvil
3. ¿Qué magnitud física mide el micrófono de mOway?
a) Sonido
b) Distancia
c) Velocidad
4. ¿Qué comando utilizas en Scratch para comenzar a pintar en la pantalla?
a) Subir lápiz
b) Bajar lápiz
c) Cambiar de disfraz
36

6. PRÁCTICA: SENSORES. LÍNEA Y


OBSTÁCULOS
En este nuevo capítulo vamos a centrarnos en los sensores de línea y obstáculos. Ambos
sensores comparten este espacio porque están basados en la misma tecnología. Son
sensores infrarrojos compuestos por un emisor LED (como los vistos anteriormente) y un
receptor. Estos emisores LED a diferencia de los anteriores emiten una luz no visible, luz
infrarroja.

Los emisores y receptores de luz infrarroja tienen múltiples aplicaciones en el


mundo que nos rodea. Un uso muy común es el que hacen los mandos a dis-
tancia del televisor. Los infrarrojos también se utilizan para comunicar a corta
distancia los ordenadores con sus periféricos.

Los infrarrojos también se utilizan en los equipos de visión nocturna, video


vigilancia o por ejemplo en equipos de rescate en ausencia de luz.
Otro de los usos muy comunes de estos sensores es la detección de obstácu-
los. Por ejemplo en las puertas de los ascensores o de garajes se utilizan estos
sensores para detectar que una persona o coche está pasando y no cerrar las
puertas.
37

Sensores de línea
Los dos sensores de línea de mOway están formados
por un emisor LED infrarrojo y un receptor infrarrojo.
Utilizan la reflexión de luz infrarroja para detectar
el color (en escala de grises) del suelo en el punto en
que se encuentra el robot.
Como hemos comentado antes los sensores convier-
ten magnitudes físicas en señales eléctricas. En este
caso la cantidad de luz infrarroja recibida que depende
del color del suelo se convierte en una señal eléc-
trica que es leída por el microprocesador de mOway
y enviada a Scratch.
En este caso Oway traduce esa cantidad de luz recibida a números. Cuando la superficie
que hay debajo de mOway sea de color blanco se reflejará mayor cantidad de luz que
cuando la superficie sea negra. mOway interpreta y traduce esas señales indicando
en un valor de 0 a 100 la cantidad de color detectada siendo 0 el color blanco y 100 el
color negro.
Para leer el valor de los sensores de línea en el entorno Scratch, utilizaremos el bloque
de sensores de Scratch. En este caso tenemos dos sensores de línea: derecho e izquierdo.
38

Para facilitar el desarrollo y el uso del robot en Scratch, mOway incorpora algunas fun-
ciones de más alto nivel en relación con sus sensores de línea. mOway dispone de
funciones en las que él mismo se encarga de moverse utilizando los sensores de línea para
seguir una línea negra sobre un fondo blanco.
Si le enviamos a mOway un comando de “seguirlinea(derecha)”, mOway automática-
mente empezará a leer sus sensores de línea y ajustará su movimiento para seguir una
línea negra sobre un fondo blanco. La estrategia que sigue mOway para desarrollar esta
función es “caminar” por el contorno, manteniendo uno de sus sensores de línea
en la parte blanca y otro en la parte negra. La segunda parte del comando, (dere-
cha), indica que mOway seguirá el contorno derecho de la línea negra. Si escribimos
“seguirlinea(izquierda)” mOway seguirá el contorno izquierdo de la línea. En las siguientes
prácticas comprobaremos el funcionamiento de este comando.

Comando Descripción

mOway seguirá el contorno derecho


de la línea. Continuará en esta tarea
hasta que le enviemos otro comando
de movimiento

mOway seguirá el contorno izquierdo


de la línea. Continuará en esta tarea
hasta que le enviemos otro comando
de movimiento

Sensores de obstáculos
mOway dispone de cuatro sensores de obstáculos formados por dos emisores LED in-
frarrojo y cuatro receptores infrarrojos. Utiliza la reflexión de luz infrarroja para detectar
obstáculos en su camino.

La luz emitida por los LEDs choca contra los objetos delante de mOway y se refleja ha-
cia los receptores. Si los receptores detectan rayos infrarrojos de retorno significará que
mOway tiene un obstáculo delante. En este caso la cantidad de luz infrarroja recibida se
convierte en una señal eléctrica que es leída por el microprocesador de mOway y enviada
a Scratch en función de la cercanía y tamaño del objeto, representando con un valor de
0 la ausencia de obstáculos y un número creciente hasta 100 en presencia de obstáculos.
39

Para leer el valor de los sensores de obstáculos en el entorno Scratch, utilizaremos el


bloque de sensores de Scratch. En este caso tenemos cuatro sensores de obstáculos: la-
teral derecho e izquierdo y central derecho e izquierdo.

Estos son algunos de los nuevos comandos que usaremos en estos ejercicios:

Comando Descripción
Equivale a un valor numérico en-
tre 0 y 100 siendo 0 la ausencia de
obstáculo y 100 el umbral máximo
de obstáculo detectado en el sensor
central derecho
Equivale a un valor numérico en-
tre 0 y 100 siendo 0 la ausencia de
obstáculo y 100 el umbral máximo
de obstáculo detectado en el sensor
central izquierdo
Equivale a un valor numérico en-
tre 0 y 100 siendo 0 la ausencia de
obstáculo y 100 el umbral máximo
de obstáculo detectado en el sensor
lateral derecho
Equivale a un valor numérico en-
tre 0 y 100 siendo 0 la ausencia de
obstáculo y 100 el umbral máximo
de obstáculo detectado en el sensor
lateral izquierdo
40

Ejercicio 6.1. Sensores de obstáculos


En esta práctica vamos a representar el valor de los sensores de obstáculos en panta-
lla de una forma similar a la que lo hicimos con el sonido. En este caso tenemos cuatro
magnitudes a representar en la pantalla por lo que debemos acomodarlas en el eje
X para que se puedan representar. Para ellos será necesario crear cuatro objetos despla-
zándose por la pantalla con el lápiz bajado representando las magnitudes de los sensores.

La variable “posición_x” es compartida por todos los objetos de manera que las cua-
tro gráficas se representan a la vez. A continuación presentamos los 4 programas de los
4 objetos que son muy similares entre sí. Tan sólo se modifica la posición “cero” de cada
sensor en el eje Y, el color del lápiz y que sólo incrementamos la variable “posición_x”
en el primero de los objetos. El resto de objetos hacen uso de esta misma variable para
representar el eje X.
41
42
43

Ejercicio 6.2 Sigue la línea revisar ejercicios diferenetes


valoresdde “seguirlinea(izquierda)” y
En este ejercicio vamos a practicar el comando de mOway
“seguirlinea(derecha)”. Para ello necesitaremos utilizar una pista en la que pintaremos una
línea negra sobre un fondo blanco. También se pueden descargar algunas pistas dentro de
la sección Club mOway en http://moway-robot.com

Para familiarizarnos con los comandos de “seguirlinea” el ejercicio propuesto es un


sen-cillo radiocontrol que va cambiando de un comando de “Follow Line(Left)” a un
comando de “Follow Line (Right)” a través de las teclas de dirección. La tecla espacio
detiene el mOway y la flecha atrás envía un comando de “Turn around.”
44

En el escenario, la representación de mOway se mueve al lado izquierdo o derecho de


la línea con el cambio de comando.

“Follow Line(Left)” “Follow Line(Right)”

Ejercicio 6.3. Evitando los obstáculosn Revisar


En la siguiente práctica vamos a hacer uso de los dos sensores: línea y obstáculos. En
la misma pista con una línea negra del ejercicio anterior introduciremos unos obstáculos
como se muestra en la imagen. El objetivo de esta práctica es que mOway siga la línea y
cuando encuentre un obstáculo dé la vuelta y continúe siguiendo la línea en sentido con-
trario. Si ejecutamos este programa en el entorno de la imagen inferior mOway rebotará
siguiendo la línea entre un obstáculo y el otro.
45

En esta práctica vamos a hacer uso de un nuevo comando de movimiento. Hasta


ahora sólo habíamos utilizado los comandos simples de giro izquierda, derecha y media
vuelta para girar 90º a un lado o a otro o girar 180º para dar media vuelta. En esta prác-
tica vamos a necesitar hacer un giro un poco mayor de 180º para que cuando mOway
vea un obstáculo y tenga que dar la vuelta llegue a visualizar con sus sensores la línea
negra. En una primera prueba del programa se puede utilizar el comando “mediavuelta”
para comprobar cómo a veces el mOway no encuentra la línea en su vuelta.
En este caso para hacer un giro de 210º necesitamos hacer uso del comando “Angle
Rotation ”. Para que mOway sepa cuántos grados tiene que girar debemos crear una
variable llamada rotación y asignarle el valor del ángulo en grados que deseamos girar.
El comando “giro(izquierda)” funciona exactamente de la misma manera.

Comando Descripción

El valor de la variable rotación in-


dicará a mOway el giro a realizar
cuando recibe alguno de los dos co-
mandos siguientes

Realiza un giro a la derecha de un


ángulo en grados igual al valor de la
variable “rotacion”

Realiza un giro a la izquierda de


un ángulo en grados igual al valor
de la variable “rotacion”.

En el entorno de Scratch existirán dos objetos. mOway que se situará siguiendo la línea
y el obstáculo (representado en Scratch con un muro) que aparecerá cuando mOway de-
tecte un obstáculo en su camino.

En la imagen siguiente se representa el programa de mOway. Cuando se da inicio al


programa mOway asigna a la variable “rotación” 210 porque es valor que utilizaremos
más adelante en el movimiento. A continuación se coloca su disfraz normal y entra en un
46

bucle de seguimiento de línea y comprobación de obstáculos con sus sensores


frontales (derecho e izquierdo). Si en algún momento detecta un valor superior a 10 en
alguno de sus dos sensores, mOway cambia su disfraz a “asustado” por el posible impacto
y trata de girar para evitar el accidente. Una vez finalizado el giro continúa siguiendo la
línea en sentido contrario y “libre del susto”. Como se observa se hace uso del nuevo co-
mando “giro(derecha)” que realiza un giro de 210º (variable “rotación”).

El programa que se ejecuta en el objeto Muro es muy sencillo y simplemente hace que
dicho objeto se muestre durante dos segundos al recibir la señal “obstaculo” desde mOway.
47

De esta forma, el muro aparecerá cada vez que mOway vea un obstáculo en su camino.
48

Qué hemos aprendido Revisar

Cómo funcionan los sensores infrarrojos.


En qué aplicaciones reales se utilizan.
Cómo utilizar los sensores infrarrojos para detectar obstáculos.
Cómo manejar los nuevos comandos de movimiento giro(izquireda) y
giro(derecha).
Cómo representar el valor de varios sensores en una imagen.

Nuevos retos
• Puedes representar los valores de sensor de línea en Scratch y colocar a mOway en
un escenario con muchos colores para observar la variación en la lectura de sus sensores
en función del color.

Comprueba lo que sabes


1. ¿En qué aplicación se utilizan sensores infrarrojos?
a) En la puerta de un hotel
b) En la puerta de un ascensor
c) En un concierto de música
2. ¿Cuántos sensores de obstáculos tiene mOway?
a) 3
b) 2
c) 4
3. ¿Qué comando utilizarías para realizar un giro a la derecha de 45º?
a) Mediavuelta
b) Giro(derecha)
c) Derecha
4. ¿Qué color está leyendo el sensor de línea de mOway si obtenemos un valor de 100?
a) Negro
b) Gris
c) Blanco
49

7. PRÁCTICA: SENSOR DE LUZ


Un sensor de luz es un dispositivo que mide la cantidad de luz que hay en un sitio. Por
ejemplo, en los coches puede usarse para encender las luces automáticamente en túneles
o al anochecer.

El sensor de luz de mOway se encuentra en la ventana central superior en la que se en-


cuentran los leds rojo y verde, por lo que no podremos usar estos leds cuando realizamos
medidas de luz con mOway.

Los sensores de luz generalmente están


basados en un elemento que se llama fo-
todiodo. Este componente electrónico deja
pasar más o menos corriente a través de él
en función de la cantidad de luz recibida.
Los sensores de luz tienen un montón de
aplicaciones en nuestro alrededor. Por ejem-
plo, ¿Os habéis fijado que la pantalla de los
teléfonos móviles baja el brillo cuando apa-
gamos las luces? De esta forma ahorra bate-
ría y lo hace gracias a un sensor de luz igual
al que lleva el robot mOway.

Ejercicio 7.1. Túnel


En este ejercicio haremos que mOway siga una línea negra mientras lee el sensor de luz.
Cuando pase por debajo de un túnel, el LED frontal se encenderá. A la vez mostramos en
la pantalla de Scratch si hay luz o si está oscuro.
50

Al principio del programa se envía el comando para seguir la línea. El bloque para seguir
una línea negra por su lado derecho es el siguiente:

Después entra en un bucle que se repite por siempre, dentro del cual se lee el valor del
sensor de luz. Si es menor que “10”, es decir, si el nivel de luz es bajo, se enciende el LED
frontal de mOway, tanto del dibujo (“cambiar disfraz a noche”) como del robot real
(“enviar a todos ledfrotnal(on)”).
Si el nivel de luz es alto, ya no es necesario iluminar el circuito y, por tanto, se apaga el
LED de mOway, de forma parecida a lo explicado anteriormente.

El escenario también cambiará


de aspecto en función de si hay
mucha o poca luz. Cuando el ni-
vel de luz sea bajo (menor de
“10”), en el escenario se hará
de noche. Si hay luz suficiente,
en el escenario se hará de día.
51

probar el programa de maria y el mio


diferencia, poner en anguklo de giro
Ejercicio 7.2. Sigue la luz la variable rotation

En este ejercicio el robot mOway avanzará hacia un punto luminoso. Por ejemplo, el
robot podrá detectar la luz de una linterna y avanzar hacia ella.
Para detectar la luz, el robot girará hasta encontrar la dirección en la que detecta más
luz. Una vez que el robot sabe esta dirección, avanza durante un tiempo y después repite
el proceso. A la vez, en la pantalla de Scratch se muestra el nivel de luz detectado.

Programa del robot


El programa consiste en un bucle que se repite por siempre. Se comienza girando 30º a
la izquierda. Para ello se utiliza los siguientes bloques:

Comando Descripción

Fija el ángulo de rotación en 30º

Gira a la izquierda con el ángulo


indicado en la variable “rotación”

Después guarda en la variable “luz” el nivel de luz detectado por el sensor y gira a la
derecha 60º. En esta nueva posición, mira cuánto nivel de luz detecta:
• Si en esta última posición el nivel de luz es mayor que al principio, entonces el
robot avanza.
• En cambio, si el nivel de luz era mayor en la posición anterior, el robot regresa a
dicha posición y avanza.
Una vez que ha comparado estas dos posiciones, el robot se asegura de que el nivel de
luz es suficiente: si el nivel de luz es menor que “30” significa que el robot no se está diri-
giendo hacia la linterna, así que da media vuelta. Después repite todo el proceso anterior.
52

Programa del nivel


El nivel sirve para indicar la can-
tidad de luz que está detectando
el robot mOway. Su posición en el
eje horizontal (eje “x”) varía se-
gún el nivel de luz según la fór-
mula siguiente:
Posición en el eje x = - 175 + luz * 3.8
53

• De esta forma, si no hay luz, el valor del sensor será “0” y el resultado será:
Posición en el eje x = - 175 + 0 * 3.8 = - 175 + 0 = - 175
Es decir, en la zona izquierda de la pantalla.
• Si el nivel de luz es máximo, el valor será de “100” y el resultado será:
Posición en el eje x = - 175 + 100 * 3.8 = - 175 + 380 = + 205
Es decir, en la zona derecha de la pantalla.

Programas de Luz y Fondo


Tanto el rayo de luz de la linterna como el fondo van a cambiar dependiendo del nivel de
luz detectado por el sensor del robot mOway.
54

Este programa modifica el aspecto del objeto “Luz”. Si hay poca luz, el rayo de la linterna
será pequeño (disfraz “Luz 1”). Cuanto mayor sea el nivel de luz, mayor será el rayo de la
linterna (disfraces “Luz 2”, “Luz 3” y “Luz 4”.

El programa para modificar el fondo es muy parecido al anterior, pero en este caso, los
disfraces usados son los del fondo (disfraces “fondo1”, “fondo2”, “fondo3” y “fondo4”).
55

Qué hemos aprendido

Qué es un sensor de luz y para qué puede servir.

Cómo leer el sensor de luz de mOway.

Nuevos retos
• Prueba a modificar el programa de mOway para que en vez de seguir la luz, huya de
la luz.

Comprueba lo que sabes


1. ¿Qué magnitud es capaza de medir un fotodiodo?
a) Temperatura
b) Sonido
c) Luz
d) Velocidad

2. ¿Cómo puedes hacer que mOway gire 30º a la derecha con variable?
a) Con el comando angle rotation“right” angle 30
b) Con el comando angle rotation "left" angle "rotation" y fijando la variable “rotación” a
“30”

c) Con el comando angle rotation "right" angle "rotation" y fijando la variable “rotación”
a “30”

d) Con el comando “giro(derecha)”


56

8. PRÁCTICA:ACELERÓMETRO
Un acelerómetro es un dispositivo que mide la inclinación de un objeto. Se encuentra
presentes en móviles, mandos de videoconsolas,…

Cuando giras un móvil, puedes ver que la imagen de la pantalla se coloca en la posición
correcta. Es decir, el móvil “sabe” que, al girarlo, tiene que cambiar la imagen para que se
pueda ver correctamente. ¿Cómo “sabe” el móvil en qué posición está? En otras palabras,
¿cómo podríamos medir la inclinación de un objeto?
Imagina que tenemos una tabla de la que colgamos un péndulo. Debido a la fuerza de
gravedad, el péndulo siempre va a estar en posición vertical. ¿Qué ocurre si colocamos la
tabla en diferentes posiciones?

A continuación mostramos diferentes posiciones. En color verde indicamos el ángulo que


forman la tabla y el péndulo.
Si la tabla está en posición horizontal, la tabla y el péndulo forman un ángulo recto. En
el siguiente dibujo está indicado en verde:
57

Si la tabla está inclinada hacia la derecha, el ángulo es menor que 90º. En el siguiente
dibujo, el ángulo es de aproximadamente 45º:

Si la tabla está inclinada hacia a la izquierda, el ángulo que forman es mayor de 90º. En
este dibujo, el ángulo es de aproximadamente 120º:

Un acelerómetro mide, en realidad, aceleraciones. Cualquier fuerza es una aceleración,


incluida la fuerza de gravedad. El acelerómetro dentro de mOway es una especie de “pén-
dulo” que permite al robot saber si está inclinado y hacia qué lado está inclinado. Este
“péndulo” es capaz de detectar la inclinación en 3 ejes.
58

Es decir, si inclinamos el robot de las siguientes formas:

Derecha e izquier-
Inclinación Delante y detrás Arriba y abajo
da

Eje Eje Y Eje X Eje Z

Posiciones

En esta práctica vamos a utilizar el robot mOway como mando a distancia para controlar
videojuegos. Inclinando el robot hacia la izquierda o la derecha, el personaje del videojue-
go se moverá en esa dirección.
Para ello, hay que conocer el valor del acelerómetro. Vamos a controlar el personaje
inclinando el robot mOway hacia la derecha y la izquierda.

Los programas de esta práctica tienen varios personajes u objetos. Cada uno de estos
personajes y objetos tiene su propio programa.
59

Práctica 8.1. Fútbol


En este juego de fútbol, el protagonista es el portero. Consiste en evitar que los balones
entren en la portería. Cuanto mayor sea el porcentaje de paradas, mejor será el resultado.

En esta práctica hay 4 objetos: un balón,


una portería, un portero y un jugador. Cada
uno de estos objetos tiene unas tareas di-
ferentes:

• El jugador lleva la cuenta de cuántos goles ha metido.


• El portero se desplaza por la portería para parar los balones. También lleva la cuen-
ta de cuántos balones ha parado.
• El balón se desplaza desde el jugador hasta la portería. También detecta si ha en-
trado a la portería o si ha sido parado por el portero.
• La portería no realiza ninguna acción.
60

Para ver los resultados del juego es necesario tener 3 contadores, encargados de lo
siguiente:

Comando Descripción

Cuenta el número total de tiros realizados

Cuenta el número de goles

Cuenta el número de paradas

En programación, estos contadores se llaman “variables”. Una variable es una “palabra”


a la que se puede asignar un valor. Estos valores se modifican con los bloques “fijar…
a…” y “cambiar…por…”:

Comando Descripción

Da a la variable “goles” un valor de 0

Aumenta el valor de “goles” en “1”. Es decir, si


“goles” valía “3”, después de este bloque valdrá “4”

Programa del portero


El programa del portero está formado por dos partes. En la primera parte, el portero se
desplaza a lo largo de la portería al inclinar el robot mOway. Esto se consigue leyendo el
valor del acelerómetro en el eje X, por medio del bloque “valor del sensor Eje-X g”.
Este valor se multiplica por “-10” por dos motivos:
• Hacer que el desplazamiento sea mayor (su valor aumenta 10 veces) para que el
movimiento seo lo suficientemente rápido. Si no, el portero sería demasiado lento para
parar los balones.
• Hacer que el portero se desplace hacia donde se inclina el robot. Al sujetar el robot
como en las imágenes anteriores, el desplazamiento en la pantalla se produciría en la
dirección contraria a la inclinación. Para corregir esto, es necesario multiplicar por un
número negativo.
La segunda parte del programa cuenta las paradas que ha realizado el portero. Muestra
el mensaje “¡Parada!” e incrementa el contador de paradas Esta parte entra en funciona-
miento cuando se recibe el mensaje “parada”. Más adelante veremos que esto se produce
en el programa del balón.
61

Programa del balón


El programa del balón se encarga de lo siguiente:
• Desplazar el balón desde el jugador hasta la portería.
• Detectar si el balón ha sido parado o si ha entrado en la portería.
El programa es un bucle que se repite por siempre. Comienza colocando el balón en la
posición “x: 0, y: 102”, es decir, justo delante del portero.
Para que la dirección hacia la que se lanza el balón sea imprevisible, se fija con un valor
de 145º y, sobre este valor, se suma un número al azar entre “1” y “70”. Por tanto, el balón
puede ser lanzado con una dirección entre 146º y 210º.

210º 146º
62

El balón se desplaza en la dirección de la variable “dirección” hasta que llegue al portero


o a la portería. Una vez que llegue al portero o a la potería, se envía un mensaje:
• El mensaje es “parada” si el portero ha conseguido parar el balón.
• El mensaje es “gol” si el balón entra en la portería.
Estos mensajes se utilizan para “avisar” a otros programas que se pongan en funcio-
namiento. Por ejemplo, cuando el balón envía en mensaje “gol”, el programa del jugador
aumenta en “1” su contador de goles. De forma parecida, cuando el portero recibe el
mensaje “parada”, éste aumenta su cuenta de paradas.

Programa del jugador


Este programa tan solo se encarga de contar el número de goles. Cada vez que el balón
entre en la portería, enviará un mensaje de “gol”. Al recibir este mensaje, el programa del
jugador aumentará en “1” el contador de goles, mediante el bloque “cambiar gol por
1”. Además, calcula el porcentaje de paradas.
63

Programa del escenario


El escenario tiene un programa encargado de iniciar todos los contadores a “0”.

Práctica 8.2. Pong


La siguiente práctica es una re-
creación del juego clásico “Pong”
pero con un único jugador. El jue-
go consiste en que una pelota se
desplaza por la pantalla rebotando
y mOway tiene que evitar que to-
que la pared a su espalda. En este
caso hemos modificado un poco la
ambientación y mOway está jugan-
do en el mar con un balón y tiene
que intentar que el balón no llegue
nunca a caer en el agua. mOway
tendrá tres vidas, es decir, podrá
cometer tres errores. Cada vez que
mOway toque el balón la “puntua-
ción” se incrementará en uno.
64

En este programa tenemos 4 objetos:


• El balón que debemos mantener en
el aire e impedir que toque el agua.
• mOway que es el encargado de evitar
que el balón toque el agua y que po-
dremos controlar con el acelerómetro.
• El límite (en este caso el agua) al que el balón no debe llegar.
• Y el mensaje de fin de juego que aparecerá cuando hayamos consumido las tres vidas.
El programa principal es el del balón. Cuando se pulsa la bandera verde se inician las
variables de puntuación a cero y de vidas a 3 y se entra en una secuencia de repetición
hasta que las vidas se consuman (vidas = 0).
65

El primer paso de la secuencia es colocar el balón en la parte superior central con una
orientación de 145º y comienza a avanzar y rebotar si toca los bordes laterales o superior
hasta que en algún momento toque el “Limite” (el agua). Cada vez que mOway evita que
el balón toque el agua aumentará la puntuación en un punto y el balón rebotará. Para que
el balón rebote de manera acorde a las leyes de la física deberíamos cambiar su dirección
aplicando la siguiente fórmula:
Nueva dirección = 180 – dirección anterior
Para sumarle algo más de dificultad hemos incluido un factor que añade un número al
azar en esa ecuación entre -20 y 20 grados. Después de cambiar la dirección del balón se
ha añadido un movimiento de 20 pasos para evitar doble rebotes contra mOway.
Cada vez que el balón toque el agua, mOway emitirá una melodía de fallo y se consu-
mirá una vida. Este nuevo comando de mOway permite utilizar el zumbador para emitir
algunas melodías precargadas.

Comando Descripción

mOway reproduce una melodía de “error”

mOway reproduce una melodía de “¡a la carga!”

El programa de mOway es muy sencillo y prácticamente igual al del Portero en la prác-


tica anterior.
66

Por último, el programa del Mensaje consiste en mostrar el mensaje de fin de juego
(GAME OVER) cuando la variable vidas llega a cero.
67

Qué hemos aprendido

Qué es un acelerómetro y qué magnitudes mide.

En qué aplicaciones reales se utilizan.

Cómo utilizar el acelerómetro para controlar un videojuego.

Nuevos retos
• Una opción interesante para las dos prácticas sería añadir varios niveles de dificultad,
que el balón adquiriese mayor velocidad según crece la puntuación, introducir más de un
balón en el juego, etc...
• Una aplicación interesante de los acelerómetros sería representar en pantalla sus valo-
res al igual que hemos hecho con el sonido y con los sensores de obstáculos.
• También podemos probar a introducir el desplazamiento de nuestro videojuego utili-
zando dos ejes: izquierda-derecha y delante-detrás.

Comprueba lo que sabes


1. ¿Qué podemos detectar utilizando un acelerómetro?
a) Que tenemos un obstáculo cerca
b) La inclinación del robot
c) Una fuente de luz

2. ¿Con qué bloque aumentamos el valor de la variable “goles” en “1”?


a)

b)

3. ¿Por qué se multiplica el valor del acelerómetro (Eje X) por “-10”? Prueba a multipli-
carlo por “10” (sin el signo negativo) y comprueba lo que ocurre.
68

9. PROYECTO FINAL
Dentro del curso de la aplicación de mOway y Scratch en la educación, uno de los obje-
tivos fundamentales, además de desarrollar habilidades técnicas como la programación y
la lógica, es el desarrollo de la creatividad por parte del alumnado.
Por eso creemos que es fundamental el desarrollo de un proyecto final libre en el que el
alumnado cree su propia historia, aplicación, aventura o simulación.
Algunas ideas para este proyecto podrían ser:
• La programación de una aventura en la que mOway:
• Escapa de un laberinto.
• Participa en una carrera de obstáculos.
• Participa en las carreras de unas olimpiadas en diferentes pruebas: los 100m,
los 400m, etc.
• La programación de una aplicación en la que mOway actúa como objeto conectado
al ordenador, y lo provee de sensores y actuadores:
• El control de la aplicación mediante su acelerómetro.
• Ocurren eventos en la aventura que lanzan eventos en el robot, se detiene,
enciende los LEDs, emite una melodía, …
• Los sensores de obstáculos o luz pueden funcionar como “botones” que lanzan
eventos en Scratch.
69

10. ANEXO I: Conectar aplicación


“mOway Scratch”. Paso a paso

1. Conectar el módulo RF al conector de expansión del robot mOway.

2 Conectar el RFUSB al ordenador.

3 Conectar el robot mOway al ordenador.

4 Abrir la aplicación “mOwayScratch V2”.

mOwayScratch V2

5 Pulsar el boton “Programar” (no es necesario si el robot ya ha


sido programado previamente de esta forma).
70

Una vez programado correctamente, desconectar el robot mOway del ordenador y


6
encender el robot.

7 Abrir el entorno Scratch y activar los sensores remotos.


Presiona "Shift" sin soltar y haz click en Archivo - Importar la version experimental
de la extension HTTP

8 Ruta C:\Program Files\mOwayPack v4\mOwayScratchV2\Projects\Library\English


\MowayLibrary.s2e
71

Una vez abierto el proyecto en Scratch, pulsar el botón “Conectar al canal…” en la


9
aplicación. El estado del panel de la aplicación será el siguiente:

Volviendo a la ventana de Scratch, se tendrá acceso a los sensores


10
de mOway:

Si se quiere emplear varios robots en diferentes ordenadores, es


necesario asignar un canal diferente a cada robot para que no haya
interferencias entre ellos.

S-ar putea să vă placă și