MONTAJE 10 MATA-ALIENS hackeando código
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.
Vamos a vercopiar un ejemplo con este proyecto https://scratch.mit.edu/projects/29744/.ALIENS El reto que te lanzamos es que funcione laINVASION nave espacial con nuestro acelerómetroJOYSTICK de la Echidna.
1.- IMPORTANDO PROYECTO EXTERNO SCRATCH A EchidnaScratch o mBlock
EnEntramos en SCRATCH esta presentaciónhttps://scratch.mit.edu/ se muestray cómobuscamos seALIENS importaINVASION, unconcretamente proyectoeste a: EchidnaScratchhttps://scratch.mit.edu/projects/593781518/
Entramos (las capturas están con mBlock3, para mBlock5 simplemente no es abrir, sinoen ImportarSEE desde el ordenadorINSIDE
Lo mBlock3grabamos saleen algúnnuestro falloordenador
Nos EchidnaScratchvamos al programa ECHIDNA ML y mBlock5cargamos noel hay,programa lodescargado
2.- Hackear el código para que funcione la nave con el acelerómetrojoystick
UnaVamos veza importando nos fijamosfijarnos en el código quede hayla quenave, modificar,si estános clarofijamos quese lomueve quesi hayse quepulsan tocarlas esteclas ⬅️➡️
Vamos a cambiar el Spritecódigo “Ship” que es el que queremos mover con el acelerómetro y modificar el “posicionXpara que se realizamueva consegún el ratónJoystick
Como el acelerómetro:
Peroooconectado comoa siempre:las laentradas analógicas del Arduino, su valor va desde 0 a 1024 siendo aproximadamente 512 cuando esta en reposo o en posición del ratónmedio. esVamos laa mismaponer queunas lascondicionales coordenadas de la pantalla de mBlock y EchidnaScratch y la x va desde -240 hasta 240 y nuestro acelerómetro de A2 va desde 250 hasta 500
Detalles del mapeo en mapeo situación E https://libros.catedu.es/books/echidna/page/mapeo
Y cambiamos el código:
En EchidnaScratch
Cambiamos el códigopara que se recuadramueva hacia la izquierda o hacia la derecha según estos valores, siendo 400 y 600 unos valores arbitrarios pero menores y mayores que 512 :
En mBlock
Idéntico pero como no podemos usar instrucciones específicas de Ecihdna, hay que usar A2:Donde A2 se tiene que fijar en este código en el Device=dispositivo Arduino que tenemos que añadir. Se crean las variables A2 (y también D2 luego lo comentamos)
3.-Un poco más, disparar con D2 SR
También vamos a cambiar el disparador “espacio” :
Quitamos el eventosprite de la nave vamos a cambiar "alAl presionar la tecla espacio" y lo sustituimos por el evento bandera, con un bucle continuo y una condicional si se aprieta el botón SL de Echidna
TieneLo quevamos quedara así:cambiar por
Igualmente en el sprite Button2 que es el "láser" hay que cambiar
Por
No hay instrucción específica de Edhidna, luego usaremos la variable D2 que hemos definido anteriormente que lee el pin D2
Resultado
EnEchidnaScratchen este repositorio:https://github.com/JavierQuintana/EchidnaEnmBlockel programa lo tienes aquíhttps://planet.mblock.cc/project/projectshare/3232624
El resultado en este vídeo:
SOLUCIÓN CON SNAP4ARDUINO
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