4. Modo Makey Makey
- Modo Makey makey
- ¿Qué es Makey Makey ?
- Qué es la variable que hay que definir como UMBRAL
- Programas usando UMBRAL
- MONTAJE 11 Piano
- MONTAJE 12 Joystick plastilina
Modo Makey makey
En esa sección acuérdate de cambiar el Echidna en modo MakeyMakey
ATENCIÓN:
EN MODO MAKEY MAKEY PIERDES TODA CONEXIÓN CON LOS SENSORES DE LA PLACA menos claro, los de Mky Mky
Fuente CC-BY-SA https://echidna.es/
¿Qué es Makey Makey ?
Es una placa que se inventó en 2010 que permite conectar cualquier cosa que conduzca mínimamente la electricidad en entrada por el puerto USB. Para que lo entiendas bien, mira este vídeo:
Nuestra placa tiene esta función, pero en vez de ser una entrada por el puerto USB es una entrada por Arduino que podemos leer, luego en esta sección cambia nuestra placa Echidna el modo sensor a modo makey makey
Tiene las siguientes entradas:
-
ANALOGICAS
- Desde A0 hasta A5 que tenemos que detectarlas si superan un cierto “umbral” que dependerá de lo que conectemos.
-
DIGITALES
- D2 y D3 aquí es fácil, 0 o 1
-
GND o sea el conector que tiene que conectarse a una parte de tu cuerpo para crear el puente eléctrico. El logotipo Echidna también hace de masa
IMPORTANTE:
La persona que toca los pines A0, A1... D2, D3 también tiene que tocar GND masa
Entonces... ¿Qué ventajas tiene esta placa con respecto a la original?:
- Más barata (importante)
- 2x1 sí, sí, piénsalo: Tienes en la misma placa una Shield educativa con sensores y a la vez una Makey makey,
- Autonomía: Makey necesita un ordenador y nuestra Echidna necesita Arduino ¿Quién gana en simplicidad? si hacemos que nuestro programa se graba al Arduino: ¡¡La portabilidad es total!!
Nota:
Aquí tienes un curso de manejo de la Makey Makey original con el curso Scractch avanzado y Makey Makey.
Qué es la variable que hay que definir como UMBRAL
Experimento con Echidna Scratch
Crea este sencillo programa, creando una variable llamada umbral ejecútalo y visualiza esa variable sin tocar A0 y en modo MakeyMakey por supuesto SALE 8-9
Repite el experimento pero conectando un cable entre masa y A0 SALE 1024 EL MÁXIMO
Y ahora conectando entre masa y A0 tus dos manos: SALE 400-500
Resultado
Como podemos ver, si tocamos el A0 directamente con un cable, su valor pasa de 8-9 a subir al máximo que es 1024
Pero si es a través de nuestro cuerpo, sólo sube hasta 500 pero alguna vez sólo llega a 400
Moraleja: Los valores de entrada en modo Makey Makey depende del objeto que va a tocar por lo tanto hay que definir un umbral que determine cuando no está tocando y cuando está tocando
UMBRAL
Como vemos que cuando no toca es un valor muy bajo 8-9 podemos definir UMBRAL como un valor 100, 200 o incluso 300 pero ya 400 puede dar falsos negativos. Recomendamos 100
CON MBLOCK (no pases a mblock si ya trabajas con Echidna Scratch)
Conectar en vivo con mBlock
Primero tiene que aprender cómo conectar nuestro Echidna (que es un Arduino UNO) en mBlock en modo VIVO
Experimento, vamos a poner este código
Una vez conectado nuestro Echidna en Vivo vamos a crear una variable global LEER y que sea siempre la lectura A0
luego al objeto panda, le vamos a poner este otro código
Experimento
Vamos a ejecutar el código y vamos a ver la diferencia
- Conectando un cable de masa al A0
- Tocando una mano la masa y la otra a A0
Programas usando UMBRAL
Los programas tendrán la siguiente estructura básica
CON ECHIDNA SCRATCH
PINES ANALOGICOS A0, A1, A2, A3, A4, A5
Los programas tendrán simplemente que ejecutar un simple condicional que si la lectura del pin correspondiente A0, A1,... es mayor que UMBRAL pues que haga una cosa u otra
PINES DIGITALES D2, D3
La estructura es la siguiente
COMO PUEDES VER NO HACE FALTA LA VARIABLE UMBRAL
Esta instrucción no la utilizamos, no nos funciona bien, esperamos que las siguientes versiones de Echidna Scratch lo mejoren.
CON MBLOCK
Aquí es más complicado pues al no tener instrucciones específicas, la comunicación entre ARDUINO UNO y los objetos ec.. hay que hacerlo con variables globales o mensajes, vamos a ver con mensajes:
En el dispositivo ARDUINO UNO
Definiremos UMBRAL y enviaremos un mensaje si se ha llegado a su valor o no
En los objetos
En este caso el objeto panda, reacciona según el mensaje que le llega
Resultado
Otro ejemplo
En este ejemplo fue necesario subir el valor umbral a 200 para que funcionase correctamente
Agradecimientos Adolfo Fernandez
MONTAJE 11 Piano
Con Echidna Scratch
Instalaremos una extensión de música, como vemos se crean nuevas instrucciones. También hemos quitado el sprite del gato y hemos puedo un piano más acorde al ejercicio
Creamos un código de manera que toque una nota diferente si se toca A0, A1, ... D2, D3
El resultado
El programa lo tienes en este repositorio: https://github.com/JavierQuintana/Echidna
RETO: HAZLO CON BANANAS
Cada banana va con un cable cocodrilo-cocodrilo pero la persona que toca el piano tiene que también tocar la masa, tal y como vimos en Qué es Makey Makey
RETO: HAZLO CON PERSONAS !!!
En este caso la persona que toca, si te fijas, tiene una pulsera con un cable a masa del Echidna
El resto de participantes, toca con una mano un pin A0, A1, ... D2, D3 y con la otra la extienden para que pueda hacer teclado
Con mBlock
Vamos a hacerlo !! Ten en cuenta que mBlock utiliza la notación americana de notas, y a cada nota la vamos a corresponder a una entrada Makey Makey (utilizando por ejemplo el acorde 4):
Nota americana | C4 | D4 | E4 | F4 | G4 | A4 | B4 | C5 |
---|---|---|---|---|---|---|---|---|
Nota Europea | Do | Re | Mi | Fa | Sol | La | Si | Do |
Makey | A0 | A1 | A2 | A3 | A4 | A5 | D2 | D3 |
Como las entradas analógicas pueden variar desde 0 a 1024 vamos a fijar como umbral en 500 (si es muy sensible lo subimos, si no nos hace caso lo bajamos, a nosotros nos ha funcionado bien 500).
El código lo subiremos al Arduino pues mBlock responde muy lentamente, si no te acuerdas cómo se hacía mira esta presentación.
Solución
El programa es muy sencillo pero repetitivo:
Conectamos cada salida de Makey Makey a unos plátanos y la salida del auricular a unos altavoces de ordenador, en la foto puedes ver que se han utilizado unos cables con cocodrilos, y al subirlo al Arduino no hace falta tener el ordenador, alimentamos el Arduino con un PowerBank o incluso con pilas.
ATENCIÓN VER 1.3 ALIMENTACION DEL ECHIDNA
En el kit que te prestamos para hacer este curso no están incluidos los plátanos, así que cálzate y baja a comprar unos. ¿no tienes perras? pues utiliza recursos humanos:
Esta noche prepara un karaoke con tus amigos.
MONTAJE 12 Joystick plastilina
Con plastilina conductora podemos hacer interesantes proyectos. En un buscador puedes poner plastilina conductora de electricidad y tienes varias recetas, con harina, agua, aceite, limón...
Una pega: No dura nada, a los pocos días se endurece o se pudre.
Propuesta
Que un sprite se mueva según unos botones hechos de plastilina:
-
Botón con forma de ⇒
-
Botón en forma de ⇑
-
Botón en forma de ⇓
-
Botón en forma de ⇐
Para este reto, definimos dónde colocamos los botones, de forma arbitraria :
A3 conectado a la plastilina con forma de ⇒
A1 conectado con la plastilina en forma de ⇑
A5 conectado con la plastilina en forma de ⇓
A2 conectado con la plastilina en forma de ⇐
Solución con EchidnaScratch
El programa no es complejo, simplemente que cuando se pulsa, la coordenada correspondiente se incremente o se decrementa. Se han añadido unos comentarios para tener claro los sentidos :
El archivo lo tienes en este repositorio: https://github.com/JavierQuintana/Echidna
Aunque en el vídeo está hecho con mBlock3, el programa y el resultado es el mismo que en EchidnaScratch
Solución con mBlock
Atención: Las capturas de imagen están con mBlock3
Para mBlock5 a estas alturas ya sabes lo que hay que hacer:
1.- Crear unas variables globales A1, A2, A3, A4, A5
2.- En el arduino un bucle para siempre que asigne estas variables a las entradas analógicas A1, A2 ....
3.- Programar en el helicóptero el movimiento con esas variables globales creadas en el paso 1
El umbral se ha cambiado según la sensibilidad del botón.
OTROS RETOS
Con la plastilina podemos hacer manualidades tipo conecta y que por la pantalla salga el resultado, aquí tienes un ejemplo:
Las posibilidades son muchas, cuelga tus experiencias en este muro