3. Entradas de Echidna

Otra vez acuérdate

Aquí es donde vamos a sacar todo el jugo a esta Shield.

Nota: Si has hecho el anterior programa Grabar a Arduino, recuerda dejarlo preparado para que haga caso a mBlock: Conectar-Actualizar Firmware.

Nota: Acuérdate en toda esta sección de poner la Echidna en modo Sensor

Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna

MONTAJE 4 ENCENDIDOAPAGADO

El anterior programa ya es un ejemplo de uso de estos botones digitales que están conectados a los pines digitales 2 y 3 de Arduino. Ten en cuenta que sólo pueden leer niveles lógicos.

MONTAJE4-ENCENDIDOAPAGADO

Al pulsar el botón D2 se enciende los 3 leds del Echidna y al soltarlo se apagan. El programa también tiene que tener un efecto en un sprite

Solución con EchidnaScratch

Cambiamos el sprite del gato por otro más acorde y cambiamos el disfraz, no lo desarrollamos aquí pues vimos cómo se hace con el MONTAJE1

2024-12-03 13_31_41-EchidnaML.png

El código :

2024-12-03 13_38_56-EchidnaML.png

El fichero lo tienes en el Github : https://github.com/JavierQuintana/Echidna

MONTAJE 4-ENCENDIDOAPAGADO-AVANZADO

MONTAJE4-ENCENDIDOAPAGADO-AVANZADO

Al pulsar D2 tiene que encenderse los leds, y sólo se apagaran si se vuelve a pulsar D2. O sea, utilizar sólo un pulsador para encender y apagar los leds.

Solución EchidnaShield

En este caso creamos una variable ENCENDIDO que registra si están los leds y el sprite encendidos o no

El código es

2024-12-03 13_56_27-EchidnaML.png

Para evitar que el programa sea engorroso, se ha creado los bloques ENCENDER y APAGAR, pero perfectamente se puede meter estas instrucciones dentro del algoritmo principal y pasar de bloques.

FIJATE 👁️👁️ que la variable ENCENDIDO se cambia a 1 o a 0 para que refleje el estado en el que ha quedado el sistema

FIJATE 😎 que hay una espera de 0.5segundos para que en ese tiempo no lea si no lo pones, esta todo el rato cambiando los pocos milisegundos que pulsas el botón
Una manera de quitar ese efecto es poner un "Esperar que NO este pulsado" mira:
2025-11-28 14_38_16-Manual EchidnaBlack y EchidnaML - PDF-XChange Viewer.png
Manual EchidnaBlack2 y EchidnaML www.echidna.es CC-BY-SA

2024-12-03 13_58_18-EchidnaML.png

2024-12-03 13_58_49-EchidnaML.png

El programa lo tienes en : https://github.com/JavierQuintana/Echidna

UNA CURIOSIDAD Fíjate como hay un retraso de 0.5 segundos para que "te de tiempo de apartar el dedo del pulsador" en caso contrario, volvería al otro estado. Si no sabes lo que quiero decir, quita la instrucciones "Espera 0.5 segundos" y verás qué pasa.

UN POCO DE PARÉNTESIS TEÓRICO Fíjate en el enunciado del RETO1: “al pulsar el botón D2 se enciende y al soltarlo se apaga” ES UNA MÁQUINA LÓGICA pues el estado de la máquina sólo depende de las entradas (en este caso de un botón): Pulsar la entrada (botón D2) produce una salida concreta (encender leds).

CONTINUAMOS ...

Pero tal y como está redactado, el RETO2 tiene que memorizar el estado anterior, no es trivial el enunciado “Al pulsar D2 tiene que encenderse los leds, y sólo se apagaran si se vuelve a pulsar D2.” ES UNA MÁQUINA SECUENCIAL pues el estado de la máquina depende de las entradas y de lo que ha pasado antes. Pulsar la entrada (botón D2) NO produce una salida concreta (depende si estaba apagado o encendido anteriormente).

No pasa nada si no lo entiendes del todo, es teoría.

La programación se complica necesitamos añadir una variable que recuerde lo que ha pasado antes la vamos a llamar _encendido _que recordará si está encendido los leds o no:

Muchos de nuestros aparatos electrónicos se encienden y se apagan con el mismo botón, así que a partir de ahora aprecia que su funcionamiento no es trivial.

MONTAJE 5 LDR

¿Qué es un LDR?

Vamos a la Wikipedia:

Fotorresistor Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. Puede también ser llamado fotorresistor, fotoconductor, célula fotoeléctrica o resistor dependiente de la luz, cuyas siglas, LDR, se originan de su nombre en inglés light-dependent resistor. Su cuerpo está formado por una célula fotorreceptora y dos patillas. More at Wikipedia (ES)

Lo verás en el Echidna arriba un poco a la derecha, y está conectado a la entrada analógica del Arduino A5 y según https://echidna.es/ los valores van desde 20 en ausencia de luz, hasta 1.000 con mucha luz.

Comprobar los límites

No os creáis al pie de la letra los límites oficiales del LDR! Los componentes electrónicos no son ideales, cada uno es particular, probar esos límites en vuestro Echidna

2024-12-03 19_55_23-EchidnaML.png

¿Qué vamos a hacer?

Jugar un poco con vuestras condiciones de luz, y definir unos valores de oscuridad, poca luz, media luz y mucha luz, en mi caso mis valores son 

Con estos valores vamos a realizar un programa que

MONTAJE 5 Semáforo luminoso

RETO Vamos a reutilizar esfuerzos: reutilizar el semáforo visto pero vamos a hacer que se iluminen los colores según la luz:

Semáforo Luz
Todo apagado Mucha oscuridad
Rojo Oscuridad
Amarillo Luz normal
Verde Mucha luz

Según nuestros valores experimentales, (puedes poner otros según las condiciones de luz de tu aula)

Semáforo Luz Límite inferior Límite superior
Todo apagado Mucha oscuridad --- 199
Rojo Oscuridad 200 499
Amarillo Luz normal 500 799
Verde Mucha luz 800 ---
Solución con EchidnaScratch

2024-12-05 09_43_50-Presentación1 - PowerPoint.png

Lo puedes encontrar en en este repositorio: https://github.com/JavierQuintana/Echidna

Reto

Haz un sprite tipo semáforo que también se enciendan las luces igual que el Echidna real, tal y como hicimos en MONTAJE1 SEMAFORO y encima que diga los valores

echidna-medirluz4.png

El resultado lo puedes ver en este vídeo:

MONTAJE 5 SEMAFORO SONIDO

No vamos a dejar sin poder experimentar este sensor que mide la intensidad del sonido y como está conectado a la salida analógica A7 sus valores van desde el 0 al 1024

Vamos a hacer un semáforo que mida la intensidad del sonido, verde si es poco, y sube hasta rojo cuando es elevado

Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna

El programa en EchidnaScratch es :

2024-12-08 13_37_26-EchidnaML.png

Hemos simulado el sonido soplando en el micro :

¿Te atreves a ...?
Realizar un programa que haga lo mismo pero con la temperatura (los valores límites de encendido y apagado de las luces dependen de la temperatura de trabajo)

MONTAJE 6 Piano luminoso

Enunciado

Realizar un programa que suene una nota diferente según la luz

Solución en EchidnaScratch

En echidna no podemos dar las notas numéricas (en mBlock sí)  tenemos que utilizar la notación midi a b c d e f g luego simplemente según un nivel de luz que toque una de esas notas

2024-12-05 12_29_44-Presentación1 - PowerPoint.png

Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna

MONTAJE 7 Telesketch

¿Qué es el Joystick?

Son dos potenciómetros, uno en el eje X y otro en el eje Y además de un pulsador digital cuando se pulsa hacia dentro. 

El potenciómetro X está conectado en los pines A0 del Arduino y el del eje Y al A1 por lo tanto si has leído los capítulos de ARDUINO sus valores varía desde 100 hasta 1024. El pulsador está conectado al D10.

LAS COSAS CLARAS: IGUAL DA ESTA INSTRUCCIÓN
2025-04-30 19_54_37-EchidnaML.png
QUE ESTA: ( poniendo A0) 
2025-11-22 23_41_08-EchidnaML.png
Preferimos la primera pues EchidnaML se adapta a la versión de la placa
 es decir, que si en el futuro el joystick x en una versión furura es por ejemplo A5 la instrucción primera se adapta y lo envía a la A5 siendo transparente al alumnado, mientras que en la segunda tienes que saber que ha cambiado a A5

Reto Telesketch

Si no sabes lo que es esto, no has tenido infancia 😊😁

TELSKET.jpg

Vamos a realizar el mismo ejemplo que este vídeo de Jorge Lobo pero en vez de realizado en Snap4Arduino lo vamos a hacer en EchidnaScratch y en mBlock.

Solución con EchidnaScratch

Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna

Simplemente vamos a considerar estas condiciones:

¿Lápiz ? ¿Qué lápiz?

Lápiz es una extensión para poder dibujar. Para instalar una extensión pulsa aquí

2024-12-05 15_49_35-EchidnaML.png

E instalamos esta extensión

2024-12-05 15_50_03-EchidnaML.png

Y se instalan nuevas instrucciones para dibujar

2024-12-05 15_51_36-EchidnaML.png

Código con EchidnaScratch

Recomendamos cambiar el sprite del gato por otro más apropiado, por ejemplo el lápiz y bajarlo a un tamaño 15

2024-12-05 15_54_22-EchidnaML.png

El programa :

2025-04-30 20_06_40-EchidnaML.png

Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna

MONTAJE 7 BIS MATA ALIENS con JOYSTICK

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 copiar un proyecto ALIENS INVASION nave espacial con nuestro JOYSTICK de la Echidna.

1.- IMPORTANDO PROYECTO EXTERNO SCRATCH A EchidnaScratch o mBlock

Entramos en SCRATCH https://scratch.mit.edu/  y buscamos ALIEN INVASION, concretamente este : https://scratch.mit.edu/projects/29744/

2025-11-22 23_13_30-EchidnaML.png

Entramos en SEE INSIDE

2025-07-01 20_39_34-Aliens invasion on Scratch.png

Lo grabamos en nuestro ordenador

2025-07-01 20_40_59-Aliens invasion on Scratch.png

Nos vamos al programa ECHIDNA ML y cargamos el programa descargado

2025-07-01 20_42_13-EchidnaML.png

2.- Hackear el código para que funcione la nave con el joystick

Vamos a fijarnos en el código de la nave, si nos fijamos se mueve según la posición X del ratón, vamos a cambiar ese código

2025-11-22 23_19_05-EchidnaML.png

Creamos dos variables :

Y cambiamos el código de mover la nave :

2025-11-22 23_27_17-EchidnaML.png

3.- QUE DISPARE APRETANDO EL BOTÓN SL

Si nos fijamos, dispara si pulsamos la tecla espacio, lo quitamos y ponemos todo ese código dentro del código nuevo que se ejecuta si apretamos el botón SL

2025-11-22 23_31_09-EchidnaML.png

Queda pues

2025-11-22 23_33_12-EchidnaML.png

El resultado

Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna

MONTAJE 7 BIS MATA-ALIENS con acelerómetro

¿Se puede hacer el anterior ejercicio con el acelerómetro? Por supuesto que sí, la única diferencia es que el Joystick va de 0 a 1024 pero el acelerómetro tiene otros valores como puedes ve en esta página https://echidna.es/hardware/componentes/acelerometro-black/


VALOR MÍNIMO VALOR REPOSO VALOR MÁXIMO
JOYSTICK 0 512 1.024
ACELERÓMETRO 285 359 428

más o menos, pues cada placa es diferente

Puedes probar tus valores con este sencillo programa

2025-11-23 08_50_15-EchidnaML.png

Luego definimos los valores 300 y 400 arbitrarios pero menores y mayores que 359 pero sin llegar a los extremos 285 y 428 para que nuestro sprite nave se mueva :

2025-11-23 08_53_18-EchidnaML.png