3.4 Acelerómetro
El acelerómetro tiene el mismo efecto que el Joystick, nos da valores en el eje X o eje Y, en el caso del Joystick lo daba la inclinación de la palanca, en este caso lo da la inclinación del mismo Echidna.
Está conectado a los pines analógicos:
- A2 nos da la inclinación en el eje X
- A3 nos da la inclinación en el eje Y
Los valores van desde 250 hasta 500
3.4.1. MONTAJE 9 HELICOPTERO
RETO
Reto
Vamos a realizar un sencillo videojuego: Mover un helicóptero, el movimiento de un sprite con el acelerómetro y esquivando edificios que se mueven de derecha a izquierda dando la sensación de que el helicóptero vuela.
El reto te lo complicamos con dos premisas:
- Reutiliza el "sprite" edificio copiándotelo desde Scratch
- El helicóptero explota si choca con un edificio
Solución sprite helicóptero moviéndose según acelerómetro
El sprite lo vamos a seleccionar de la biblioteca: Helicopter y le vamos a añadir otro disfraz que sea una explosión:
, la manera más sencilla es elegir otro disfraz de la biblioteca, por ejemplo sol, y borrar la cara feliz que tiene:
Vamos a hacer que se mueva según el acelerómetro:
Posición X: La pantalla de mBlock tiene desde -240 hasta 240 y hemos visto que los márgenes de A2 del acelerómetro va desde 250 hasta 500 luego hacemos el cambio de escala con la HOJA DE CÁLCULO que comentamos anteriormente:
luego la fórmula para la posición X es (creando una variable que se llame POSX) :
E igualmente para la posición Y pero en este caso los márgenes de la pantalla van desde -180 a 180 luego:
luego la fórmula para la posición Y es (creando una variable que se llame POSY):
El programa para el helicóptero es:
Solución edificio, cómo se reutiliza un sprite
Reutilizamos un poco: Nos copiamos un Sprite.
Vamos a copiar un poco el código de otra persona: Vamos a scratch
Y seguimos estos pasos
Soluciónn a la muerte del helicóptero
Vamos a poner que si toca un edificio, “explota” (o sea, cambia el disfraz a explosión), además envía el mensaje “you died” que vemos que el script del edificio lo necesita para esconderse una vez terminado el juego:
El resultado se puede ver en este vídeo:
MEJORAS
Mejoras
Ya sé que colocando el helicóptero siempre arriba, siempre ganas!!
Te propongo que añadas además de los edificios, unos pájaros que tengan el mismo comportamiento pero que aleatoriamente aparezcan a diferente altura, para complicar un poco la vida del helicóptero.
3.4.2 MONTAJE 10 MATA-ALIENS
Esta vez no vamos a ser originales, vamos a ser un poco vagos y nos vamos a copiar el programa de otra persona. La web de Scratch tiene un repositorio de millones de proyectos, podemos seleccionar uno, y adaptarlo a nuestra simpática Echidna.
RETO Vamos a ver un ejemplo con este proyecto https://scratch.mit.edu/projects/29744/. El reto que te lanzamos es que funcione la nave espacial con nuestro acelerómetro de la Echidna.
Solución CON MBLOCK
En esta presentación se muestra cómo se importa un proyecto a mBlock:
Acelerar el código para que funcione con el acelerómetro
Una vez importando nos fijamos en el código que hay que modificar, está claro que lo que hay que tocar es el Sprite “Ship” que es el que queremos mover con el acelerómetro y modificar el “posicionX que se realiza con el ratón y cambiarlo por el acelerómetro:
Perooo como siempre: la posición del ratón es la misma que las coordenadas de la pantalla de mBloc y la x va desde -240 hasta 240 y nuestro acelerómetro de A2 va desde 250 hasta 500 luego hacemos el cambio de escala con la HOJA DE CÁLCULO anteriormente:
Y cambiamos el código:
Un poco más, disparar con D2
También vamos a cambiar el disparador “espacio” por pin digital 2 para disparar con el botón D2 del Echidna:
El resultado en este vídeo:
SOLUCIÓN CON SNAP4ARDUINO
Este programa vemos que va lento, RECOMENDAMOS que para la ejecución de proyectos grandes desde el ordenador Snap4Arduino va más rápido, por lo que vamos a ver esta alternativa:
Importar un proyecto de Scratch a Snap4Arduino
Para importar un proyecto desde Scratch es un poco más complicado, ver esta presentación:
Cambios en el código en Snap4Arduino
Los cambios en el código son los mismos que los anteriores.
Recuerda que en esta presentación se enseña cómo configurar Snap4Arduino para que se comunique con nuestro Arduino y la Echidna.
El programa lo puedes abrir en Snap4Arduino en esta URL
El Sprite que tienes que conectar con Arduino es la nave esa con cuernos.
El resultado lo puedes ver en este vídeo