1. Cómo utilizar Echidna
- ¿Cómo utilizar Echidna?
- Software del Arduino
- Sensores
- Actuadores y otras salidas
- ¿Qué es Echidna?
- Cómo se programan las Echidnas
- MONTAJE 1 SEMAFORO
- Por si te pasa, PROBLEMA: EchidnaScratch no detecta Echidna: Instalar Firmata
- Por si te pasa, PROBLEMA: El Sistema operativo no detecta Echidna
- Alimentación del Echidna
- Tengo Arduino ¿Puedo hacer los programas SIN ECHIDNA ?
¿Cómo utilizar Echidna?
En este tema veremos:
- Qué programa vamos a utilizar para programarlo
- Comparativa de otros robots y propuestas para enseñar el pensamiento computacional en nuestras clases.
Antes de nada comprueba que tu Echidna...
1-Tenga el interruptor hacia el lado de SENSOR
(excepto cuando trabajes en modo Makey Makey que hay que ponerlo en MkyMky)
2-El volumen ponlo alto, la flecha mirando a los leds
3-El jumper conectado a 5V dejando libre el de Vin
No veas el Echidna como una placa diferente al Arduino, es simplemente un Arduino con los sensores y actuadores integrados. De echo puedes hacer los programas de este curso y los de IA perfectamente CON ARDUINO y SIN ECHIDNA pero tienes que tener los sensores y actuadores correspondientes.
No puedes hacer los programas de Makey Makey pues eso lo tiene Echidna pero no Arduino
Ver https://libros.catedu.es/books/echidna/page/tengo-arduino-puedo-hacer-los-programas-sin-echidna
Todos los programas de este curso se encuentran en este repositorio: https://github.com/JavierQuintana/Echidna
¿Sabías que...?
Las placas Echidna son Open Hardware es decir, su diseño es abierto a mejoras, utilización... aquí tienes los planos https://echidna.es/hardware/echidnablack/documentacion-echidnablack/
Software del Arduino
Independientemente que tengas ECHIDNA SHIELD o ECHIDNA BLACK los dos se basan en Arduino, luego tienes que conocer qué programas hay para programar tu Echidna.
Para programar Echidna de forma normal, tienes que saber:
- Arduino se puede programar de dos maneras
- CON CÓDIGO
- CON BLOQUES o GRÁFICO
- En vivo
- Carga
- Los dos
- Que en este curso utilizaremos BLOQUES o GRÁFICO y mostraremos dos opciones
- Recomendado Con EchidnaScratch que trabaja en vivo (te recomendamos leer EN VIVO está más abajo qué es eso.
- Con mBlock que permite trabajar en vivo o carga
Importante entender que para trabajar EN VIVO se necesita un FIRMWARE que veremos en el Echidna cual es, pero tranquilo que ya viene cargado de fábrica y seguramente no tienes que hacer nada.
Tipos de lenguajes
Si quieres saber más detalles y posibilidades, aquí tienes unos conocimientos más avanzados
Las placas electrónicas educativas (Echidna, Micro:bit, Arduino, ESP32 ...) se programan mediante varias opciones :
OPCIÓN LENGUAJE GRÁFICO POR BLOQUES
Recomendado para primaria. Tenemos muchas posibilidades de lenguajes gráficos. Destacamos dos:
- ECHIDNASCRATCH
- Específico para Echidna e integra la IA CURSO DE ECHIDNA
- MBLOCK Basado en Scratch. Aunque es un programa especializado en el robot comercial mBot, (basado en Arduino), el mismo programa está adaptado para programar Arduino.
- CURSO ARDUINO CON MBLOCK se utiliza Arduino y placa Protoboard
- CURSO DE ECHIDNA se utiliza la Shield Echidnam y EchidnaBlack
- CURSO DE MBOT se utiliza el robot mBot
- CURSO ARDUINO CON MBLOCK se utiliza Arduino y placa Protoboard
- STEAMAKERBLOCKS (antes ARDUINOBLOCKS) se trabaja online, muy visual y muy amigable. Está adaptado tanto para trabajar tanto Arduino como muchas placas controladoras y en el aula. Podemos verlo en los siguientes cursos:
- CURSO ROVER CON ARDUINO aunque no se utiliza un Arduino, sino un NodeMCU pero la programación es exactamente igual
- CURSO DE ARDUINO CON ARDUINOBLOCKS donde se utiliza el Arduino con una placa protoboard
- CURSO ARDUINOBLOCKS EN EL AULA donde se utiliza la Shield TDR-STEAM
- CURSO ESP32 EN EL AULA donde también utiliza la Shiedl TDR Steam pero la placa no es un Arduino, sino ESP32, la programación es exactamente igual.
- Microbloks https://microblocks.fun/ placas: Arduino, Microbit, ESP32, RaspberryPico, .... ver minitutorial
Otros softwares para programar con bloques
- Snap4Arduino https://snap4arduino.rocks/run/ Online, libre... ver compartiva vs mBlock
- S4A https://s4a.cat/
EN VIVO ¿Qué es eso?
Existe una posibilidad de utilizar la placa "en vivo" frente a "cargar" el programa en la placa.
Es decir, interactuando con el ordenador. El programa está en el PC. En la placa hay un firmware que le dice que este a las órdenes del PC. De esta manera podemos por ejemplo:
- Enviar órdenes desde el ordenador a la placa.
Por ejemplo que al pulsar la tecla espacio que se encienda el led D13
- Enviar información desde la placa al ordenador
Por ejemplo que muestre por pantalla nos muestre la cantidad de luz, que registra el sensor LDR, etc...
Que nosotros sepamos, estos programas permiten la programación en vivo :
- mBlock placas: Arduino, Microbit, Raspberry Pi, ... robots de Makeblock: mBot, Cyberpi...
-EchidnaScratch CURSO DE ECHIDNA
-Microblocks
VENTAJAS LA PROGRAMACIÓN EN VIVO PERMITE MUCHO JUEGO Y POSIBILIDADES A LA HORA DE ELABORAR PROYECTOS
INCONVENIENTES: Necesitas el ordenador encendido y conectado al robot.
TAMBIÉN ES EN VIVO PERO ....
Hay otros softwares que técnicamente trabajan en vivo, es decir, que el programa se ejecuta desde el ordenador, no se ejecuta en la placa, son :
- Snap4Arduino para placas Arduino
- Picobriks blocks para Picobrick board
Pero no permiten trabajar utilizando los elementos del ordenador (teclado, webcam, pantalla, sprite o objetos,,,)
Es importante que entiendas que para trabajar en vivo, la placa tiene que tener cargado un "firmware" para que interactúe con el ordenador.
P: ¿Qué es eso de "firmware"?
R: No es más que un software que se graba en los chips de la placa.
P ¿Y por qué se llama así, y no se llama software o programa y en paz?
R: Digamos que como se graba en los chips, es un medio camino entre software y hardware, para diferenciarlo del software habitual.
EN CARGA ¿Qué es eso?
Simplemente el programa que estas haciendo se carga en la placa
VENTAJAS: Eres independiente del ordenador, tu robot funciona independiente
DESVENTAJAS Pierdes todas las posibilidades de utilizar los recursos de un ordenador, teclado, pantalla, webcam, altavoces...
Es importante que si cargas tu programa en la placa, pierdes lo que había antes
Es decir, si quieres volver a trabajar EN VIVO tienes que cargar el firmware correspondiente.
OPCIÓN LENGUAJE POR CÓDIGO
Recomendable a partir de secundaria.
LENGUAJE POR CÓDIGO ARDUINO IDE
Es un lenguaje basado en Wiring y permite la programación del Arduino en un entorno de desarrollo (basado en Processing). El programa se llama ARDUINO IDE y se puede descargar desde la página oficial de Arduino: https://www.arduino.cc/en/software.
Hay otra posibilidad que es utilizarlo online, con la ventaja de tener tus proyectos "en la nube" y no depender del equipo. OJO, TIENES QUE TENER INSTALADO EL SOFTWARE CREATE AGENT
https://create.arduino.cc/getting-started/plugin/welcome
En los cursos de CATEDU se ha utilizado el lenguaje por código empezando desde cero en:
- CURSO ARDUINO CON CÓDIGO donde se trabaja con el Arduino y con diferentes sensores y actuadores, con o sin placa Shield Edubásica.
- CURSO DE DOMOTICA CON ARDUINO donde se realiza una maqueta de una casa controlada con domótica. También el curso ofrece la versión de hacer la misma maqueta utilizando lenguaje gráfico por bloques.
Recomendamos estas hojas resumen si vas a trabajar con código:
- En Español: enlaceDrive, enlaceGithub
- En Inglés: enlaceDrive, enlaceGithub, enlaceSpakrfun
LENGUAJE POR CÓDIGO PYTHON
Es un lenguaje más amigable que ArduinoIDE y tiene muchos campos de aplicación aparte de la robótica
- Arduino tiene su propia versión para trabajar con sus placas compatibles: Arduino Lab for Micropython
- Un compilador universal Thonny
VENTAJAS E INCONVENIENTES
LENGUAJE GRÁFICO POR BLOQUES vs CÓDIGO
El lenguaje gráfico por bloques es un lenguaje sencillo de utilizar, nos evita tener en cuenta muchas librerías y cálculos.
Otra ventaja, es que el lenguaje por bloques es el único que permite programación "en vivo"
Por ejemplo, la instrucción leer valor distancia el sensor ultrasonidos, mediante programación por bloques es
mientras que en código es
double distancia;
double fnc_ultrasonic_distance(int _t, int _e){
unsigned long dur=0;
digitalWrite(_t, LOW);
delayMicroseconds(5);
digitalWrite(_t, HIGH);
delayMicroseconds(10);
digitalWrite(_t, LOW);
dur = pulseIn(_e, HIGH, 18000);
// devuelve cuanto tarda el pulso alto en microseg; 18000 es el tiempo a esperar limite
if(dur==0)return 999.0;
return (dur/57);
// la velocidad del sonido es 344m/s = 34400 cm/seg = 0,0344 cm/microseg
// como v=e/t luego e = v*t y como cuenta la ida y la vuelta distancia = v*t/2
// luego distancia = 0,0344/2 * dur = dur/57
}
void setup()
{
pinMode(6, OUTPUT);
pinMode(5, INPUT);
}
void loop()
{
distancia = fnc_ultrasonic_distance(6,5);
}
Como se puede ver en código, tiene que calcular la distancia haciendo cálculos del tiempo de rebote del eco, mientras que el gráfico es sumamente sencillo y se centra en el objetivo del algoritmo a crear, no en lo accesorio. Esto hace que un lenguaje gráfico por bloques se puede aplicar desde los 8 años.
Por otra parte, el lenguaje código tiene todo el potencial, es decir, no todo está en los lenguajes gráficos. Si se quiere cosas más avanzadas, hay que recurrir al código.
Un lenguaje gráfico se convierte en lenguaje código, pero al revés no se puede, debido a que el código es más depurado y no tiene la información necesaria para volver a su origen en bloques, ya lo has visto con el anterior ejemplo, el código tiene más información.
¿No te lo crees? Haz la prueba, métete en https://www.tinkercad.com/ crea un programa con bloques, dale a la pestaña de código y te aparecerá una advertencia que perderás el programa con bloques ! no puedes volver atrás!
Curiosamente, tiene una opción bloques+código que traduce cada bloque con un código, es decir, traduce cada bloque sin perder información, sólo de esa manera se puede pasar de bloques a código y viceversa.
Hay herramientas para pasar de bloques a código pero no al revés
Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA
El lenguaje código se traduce en lenguaje máquina (ceros y unos) entendible para el microprocesador, pero al revés no se puede.
En este vídeo, en mi opinión se olvida de mBlock, Snap4Arduino, S4A pero puedes ver un vistazo de los diferentes editores
OPCIÓN SIMULACIÓN
Incluimos dentro del apartado de Software los diferentes programas que hay para simular placas electrónicas como Arduino, ESP32, Micro:bit etc...
Tinkercad
Esta herramienta https://www.tinkercad.com aparece en el Curso Arduino con código en la práctica Comunicación entre dos Arduinos, pero también es una plataforma que sirve para hacer los diseños de elementos 3D, ver curso Impresión 3D con Tinkercad
Tiene la ventaja que es aplicación online, muy visual y buscan un reflejo de la práctica real, además de estar la herramienta adaptada al aula (gestión de alumnos y proyectos). Como desventajas podemos decir que no tiene mucha variedad de componentes electrónicos y la simulación es algo lenta.
Además permite embeber, pruébalo !!! 😍😍😍 Pulsa Iniciar simulación y luego pulsa el botón A de cualquiera de los dos micro:bits
Wokwi
Si Tinkercad se queda corto, puedes probar esta plataforma https://wokwi.com/ con muchas posibilidades. Es online y puede trabajar con multitud de placas: ArduinoUno, ESP32, Raspberry,,,,
Como única desventaja que encontramos, es que echamos de menos la realidad de Tinkercad, por ejemplo no puedes poner una placa protoboard para realizar las conexiones, pero a cambio se gana simplicidad de cableado.
UnoArduSim
Es una aplicación local. UnoArduSim además es una aplicación portable fácil de instalar y con los elementos de leds, motores servos ya preparados, ideal para ejemplos sencillos y para examinar señales y no depender de Internet, pero no es tan versátil.
SIMULIDE
En https://simulide.com/ podemos encontrar un programa local de software libre genérico para electrónica, incluido Arduino. En esta captura se puede ver uno de los ejemplos que incorpora el programa:
OPCIÓN SÓLO DIBUJAR
- TinkerCad es un buen programa para dibujar los planos
- ➕permite también la simulación
- ➕ permite embeber y compartir
- ➖ no tiene muchos componentes
- SimulIDE es software libre. Es un programa portable.
- ➕ Tiene muchos componentes
- ➕permite también la simulación
- ➖ le faltan algunos sensores, pero van incorporando
- Fritzing es un clásico. Es un programa portable.
- ➕ Tiene muchos componentes
- ➖ no es gratis, hay que pagar 8€
- Circuit canvas
- ➕ puede compartir por ejemplo
- ➕ tiene buenos tutoriales sobre electrónica
- ➖ todo en inglés
- ➕ puede compartir por ejemplo
Sensores
Sensores básico para Echidna
Para trabajar con Echidna sólo tienes que saber:
- Los sensores son las entradas de información a tus programas
- Echidna trabaja de dos modos
- En modo sensor entonces tienes a tu disposición :
- SENSORES ANALÓGICOS valores de 0 a 1024
- Sensor de luz
- Joystick
- Temperatura
- Acelerómetro
- Volumen
- Micrófono (sólo EdhidnaBlack pues tiene A7 del Arduino Nano)
- SENSORES DIGITALES
- Pulsadores D2 y D3
- Pulsador del Joystick D2
- SENSORES ANALÓGICOS valores de 0 a 1024
- En modo MAKEY MAKEY
- 8 entradas
- 6 analógicas A0 al A5
- 2 digitales D2 y D3
- 8 entradas
- En modo sensor entonces tienes a tu disposición :
Además hay 3 conectores I/O que puedes poner sensores externos de otros tipos.
Recuerda que al programar EN VIVO tienes también las entradas del ordenador, por ejemplo el ratón, teclado...
Sensores avanzados Si quieres saber más sobre los sensores, que otros tipos hay (para conectar en I/O sensores externos), te recomendamos leer esta página
Actuadores y otras salidas
Actuadores básico
Para manejar el Echidna tienes que saber:
- Los actuadores son las salidas de tus programas
- En Echidna tienes en modo SENSOR
- Salidas Digitales
- Audio o por el Zumbador o por el Jack
- Leds rojo, amarillo y verde
- Led RGB
- Salidas Digitales
No hay salidas analógicas y no hay salidas en modo Makey Makey
Recuerda que al programar EN VIVO tienes también las salidas del ordenador: La pantalla (los objetos o sprites de tus programas), los altavoces...
Actuadores avanzado Para manejar Echidna no hace falta saber más, pero si quieres saber qué otros actuadores hay (para conectar en los I/O actuadores externos). Te aconsejamos leer esta página
¿Qué es Echidna?
Ahora sí: ¿Qué es Echidna?
Es una Shield de Arduino diseñada para facilitar la programación del Arduino en los últimos cursos de primaria y primeros de secundaria, pensado en minimizar el cableado de la electrónica (ya lo sabemos pues es una Shield) y enfocado a nivel educativo y al lenguaje por símbolos
¿Por qué hemos elegido esta Shield? Porque tiene un buen equilibrio calidad/precio sencillez/potencial orientado a últimos cursos de primaria, primeros de secundaria.
Es OpenHardware, por lo tanto es un proyecto con garantías de estabilidad, libre, colaborativo y vivo, con la misma filosofía que la placa Arduino.
Source: Web oficial Echidna- documentación
- Salidas o actuadores:
- Diodos LED Red D13, Orange D12 y Green D11.
- Diodo de 3 colores RGB gobernados por D9, D5 y D6 respectivamente.
- Audio en D10.
- Entradas o sensores:
- Joystick (estupendo para hacer proyectos atractivos) xy con A0 y A1
- Acelerómetro (idem) xy
- Echidna red y black v1 en A2 y A3
- Echidna black v2 va por I2C
- Luz LDR
- Echidna red y black v1 en A5
- Echidna black v2 en A3
- Botones digitales D2 y D3
- Temperatura en A6 (Echidna black v1 y v2 )
- Micrófono en A7 (Echidna black v1 y v2 )
- 8 entradas MakeyMakey: ¡Dos placas en una!: por lo tanto da más potencial a nuestros proyectos.
- A0, A1, A2, A3, A6, A7, D2, D3
- Conexión a periféricos: elementos externos que se pueden conectar:
- Bluetooth que da más potencial a nuestros proyectos.
- I/O pines para conexión de otros elementos
- A2 (solo en Echidna black v2)
- D4, D7 y D8
- Cerca de estos pines hay un selector de alimentación para decidir de dónde reciben energía
- posición 5V si utilizas componentes que no superan los 300mA, como un servo pequeño.
- posición Vin si quieres utilizar componentes que superan esa corriente, tienes que utilizar la alimentación externa del jack y poner el jumper en esa posición
Fuente Echidna.es captura de Echidna black v2
Te recomendamos visitar
- https://echidna.es/
Twitter :
- https://x.com/EchidnaSTEAM?s=20
¿Estás preparado? adelante !!!
- Salidas o actuadores:
- Diodos LED Red D13, Orange D12 y Green D11.
- Diodo de 3 colores RGB gobernados por D9, D5 y D6 respectivamente.
- Audio en D10.
- Entradas o sensores:
- Joystick (estupendo para hacer proyectos atractivos) xy con A0 y A1
- Acelerómetro (idem) xy
- Echidna red y black v1 en A2 y A3
- Echidna black v2 va por I2C
- Luz LDR
- Echidna red y black v1 en A5
- Echidna black v2 en A3
- Botones digitales D2 y D3
- Temperatura en A6 (Echidna black v1 y v2 )
- Micrófono en A7 (Echidna black v1 y v2 )
- 8 entradas MakeyMakey: ¡Dos placas en una!: por lo tanto da más potencial a nuestros proyectos.
- A0, A1, A2, A3, A6, A7, D2, D3
- Conexión a periféricos: elementos externos que se pueden conectar:
- Bluetooth que da más potencial a nuestros proyectos.
- I/O pines para conexión de otros elementos
- A2 (solo en Echidna black v2)
- D4, D7 y D8
- Cerca de estos pines hay un selector de alimentación para decidir de dónde reciben energía
- posición 5V si utilizas componentes que no superan los 300mA, como un servo pequeño.
- posición Vin si quieres utilizar componentes que superan esa corriente, tienes que utilizar la alimentación externa del jack y poner el jumper en esa posición
Te recomendamos visitar
- https://echidna.es/
Twitter :
- https://x.com/EchidnaSTEAM?s=20
Echidna Black (modelo 3D GmedranoTIC) by GmedranoTIC on Sketchfab
Cómo se programan las Echidnas
Da igual si tienes una Echida Shield que una Echidna Black las dos se programan igual
Tenemos dos opciones:
- Programación mediante lenguajes gráficos, por bloques: símbolos, gráficos… tipo Scratch
- Ventajas: Mucho más sencillo e intuitivo, ideal para principiantes en programación como es nuestro caso entre primaria y secundaria.
- Inconvenientes: No se llega a aprovechar todas las posibilidades del Arduino.
- Programas: EchidnaScratch, Snap4Arduino, mBlock, ArduinoBlocks, Bitbloq, S4A...
- Dentro de los lenguajes gráficos hay tres tipos:
- Los que permiten cargar el programa y el método en vivo : mBlock,
- Los que sólo permiten método en vivo : EchidnaScratch, Snap4Arduino
- Los que sólo permiten cargar el programa ArduinoBlocks, Bitbloq, S4A...
- Programación mediante código:
- Ventaja: Se aprovecha todo el potencial de programación, puesto que se controla todas las variables
- Inconvenientes: Como toda programación en código, tiene su dificultad y abstracción.
- Programas: ArduinoIDE.
Si no sabes lo que significa en vivo o cargar es que no has leído Software del Arduino
EN ESTE CURSO VAMOS A PROGRAMAR EN BLOQUES CON EL PROGRAMA ECHIDNA (tipo Scratch)
OJO : Acuérdate en toda esta sección de poner la Echidna en modo Sensor
NO en modo MkyMky
MONTAJE 1 SEMAFORO
Da igual si tienes una Echida Shield que una Echidna Black las dos se programan igual
Instalación del programa
Entramos en echidna.es y en A programar nos encontramos el enlace al programa ECHIDNASCRATCH que se descarga y se instala sin problemas en varios SO (Windows, Linux, IO..)
Al ejecutarlo elegimos ECHIDNASCRATCH (dejamos de momento la IA que lo trataremos en un capítulo aparte)
Objeto semáforo
Creamos un objeto semáforo, (exactamente igual que con mBlock) con tres disfraces. Nos vamos a SPRITE (quitamos el gato en EchidnaScratch o el oso panda en mBlock) y creamos el nuestro que será un simple semáforo
Como no existen semáforos, no pasa nada, creamos uno en Paint
Pintamos un semáforo, es muuuuy sencillo, le ponemos el nombre del SPRITE como SEMAFORO y los disfraces COSTUME el primero con el nombre ROJO
Vamos duplicando el disfraz y hacemos los correspondientes AMARILLO y VERDE
Es muy fácil :
Código
el siguiente código (que es igual al del mBlock menos que EchinaScratch tiene unas instrucciones especiales que lo hacen más fácil )
Si se hace el programa el en mismo objeto semáforo, se puede hacer el programa sin la instrucción ENVIAR MENSAJE
ESTA ES LA GRAN DIFERENCIA CON mBlock PUES EN MBLOCK NO HAY INSTRUCCIONES ESPECIALES PARA ECHIDNA, POR LO QUE HAY QUE CREAR UN OBJETO ARDUINO O UN OBJETO ECHIDNA COMO VEREMOS MÁS ADELANTE
Con Echidna Scratch NO HACE FALTA todo se hace en la misma ventana y objeto
Resultado
Por si te pasa, PROBLEMA: EchidnaScratch no detecta Echidna: Instalar Firmata
Esto es debido a que si por ejemplo has utilizado mBlock, ArduinoIDE, etc... se ha cargado dentro del Arduino del Echidna (Echidna Shield o Echidna Black da igual) el software de estos programas y por lo tanto se han cargado el FIRMATA que es el software necesario para que se comunique nuestro ECHIDNA (Echidna Shield o Echidna Black da igual) con nuestro programa ECHIDNASHIELD. Ver al final ¿Qué es eso de Firmata)
¿Cómo puedo restaurar el FIRMATA en el Arduino?
Necesitamos el programa ARDUINO IDE para instalarlo, vamos a arduino.cc https://www.arduino.cc/en/software descargamos e instalamos el programa:
Descargamos, instalamos (dando aceptar a todos los controladores que pide permiso, marcando que es de confianza, etc.. ) y ejecutamos, Y elegimos la placa y el puerto
¿QUÉ PLACA - BOARD TENGO QUE ELEGIR?
-
Si tenemos ECHIDNA SHIELD vamos a herramientas y seleccionamos placa_ ARDUINO UNO
-
Si tenemos ECHIDNA BLACK vamos a herramientas y seleccionamos placa ARDUINO NANO
¿Y EL PUERTO?
Tienes que elegir el puerto COMX (donde X es un número) que está conectado nuestra placa. Si tienes dudas, desconecta la placa, ejecuta ArduinoIDE y mira los puertos, repite la operación, pero con la placa conectada y el nuevo COM ese es.
LIBRERIA FIRMATA
Nos vamos a herramientas - administrar librerías
Y buscamos librería FIRMATA aquí vemos que ya está instalada, si no la tienes instalada, dale a Install :
PROGRAMA EJEMPLO STANDARDFIRMATA
Nos vamos a Archivo - Ejemplos - Firmata y cargar el ejemplo STANDARDFIRMATA
Lo cargamos en la placa dándole a la flecha (tarda algo pues primero lo compila)
Lo carga, saldrá un mensaje de ok, y ya está NUESTRA ECHINASCRATCH YA PUEDE LEER LA PLACA ECDHINA
Si aun así, NO LO DETECTA... cambiar de USB 😁 funciona !!
Un resumen lo tienes aquí https://echidna.es/a-programar/instalar-standardfirmata/
¿Qué es eso de Firmata?
Firmata es un protocolo para comunicar microcontroladores con la computadora de una manera sencilla. Permite que se ejecute un programa en EchidnaLM o Snap4Arduino y que este se comunique con la placa microcontroladora mediante el puerto serie.
Fuente https://echidna.es/a-programar/instalar-standardfirmata/
Fuente https://echidna.es/a-programar/instalar-standardfirmata/
Por si te pasa, PROBLEMA: El Sistema operativo no detecta Echidna
Tal y como dice en https://echidna.es/hardware/echidnablack/puesta-en-marcha-echidna-black/
Para que Echidna Black se pueda comunicar con nuestro PC es necesario que nuestro sistema operativo (SO) le dé permiso de acceso al puerto serie (USB) y que tenga el driver del controlador de comunicación (CH430) instalado.
Fuente CC-BY-SA https://echidna.es/hardware/echidnablack/puesta-en-marcha-echidna-black/
Por si acaso, descarta lo evidente
OJO con el cable, pues hay cables de USB que sólo son de carga (+baratos) y otros que son de carga+datos (los que hay que utilizar)
Recomendamos en el caso de problemas: INSTALAR ARDUINO IDE
- Para instalar Arduino nos debemos descargar el IDE de la página oficial:
- En la guía Getting Started tenemos indicaciones sobre como instalar Arduino según nuestro sistema operativo.
Fuente https://echidna.es/hardware/echidnablack/puesta-en-marcha-echidna-black/
Si los problemas insisten, instalar el Driver
– Driver de comunicación:
Echidna Black utiliza el chip CH430E, por lo que dependiendo del SO necesitarás instalar el controlador “Driver CH341”
- GNU Linux: En caso de que seas usuario Linux, no debería ser necesario instalar el driver. Si necesitas el driver para GNU Linux.
- MAC: Aquí tienes acceso al driver para MAC.
- Windows: Aquí tienes acceso al driver para Windows. https://www.arduined.eu/ch340-windows-10-driver-download/
- Android: Aquí tienes acceso al driver para Android.
– Permiso de acceso al puerto serie:
Dependiendo del SO es necesario dar o no permisos de acceso al puerto serie. Si ya has instalado el IDE de Arduino, estos permisos deberían estar ya dados.
- GNU Linux: Si no no tuvieras acceso al puerto serie puede que tengas que darle permiso desde una terminal usando el comando: sudo usermod -a -G dialout «usuario».
- MAC: por defecto ya tenemos acceso al puerto serie.
- Windows: por defecto ya tenemos acceso al puerto serie
Alimentación del Echidna
CC-BY-SA Fuente: https://echidna.es/
Alimentación USB recomendado:
El EchidnaShield se alimenta a través de la alimentación USB del Arduino, ya sea cuando está conectado con el ordenador, o cuando se utiliza un PowerBank
Aquí vemos un ejemplo de un echidna que está alimentado con un PowerBank y esta ejecutando un programa ¿Cómo puede ser eso?
Porque se ha cargado el programa en en Arduino del Echidna. Esto lo puede hacer programas como mBlock ver software
En el EchidnaBlack tiene integrado el puerto usb para alimentarlo
- Echidna Black v1 es USB-microB
- Echidna Black v2 es USB-C
OJO El jumper que tiene arriba a la izquierda tenerlo conectado a 5V:
No utilizar la alimentación 5V cuando los servos o dispositivos a controlar consuman más de 300mA, para no sobrepasar el regulador del Arduino, en este caso utilizar la alimentación externa:
Alimentación externa:
P: ¿Cuándo usar alimentación externa obligatoriamente?
R: Cuando se utilicen servos o dispositivos conectados al I/O que consumas +300mA. Ver https://echidna.es/hardware/echidnablack/alimentacion-echidnablack/
Arduino conectado a la EchidnaShield o la misma EchidnaBlack se puede alimentar con un portapilas o fuente de alimentación, sin ningún problema, con un rango desde 9V hasta 12V.
Pero hay que decirle al Echidna que la alimentación no es por 5V sino por Vin, pues el Arduino también se alimenta por Vin, esto se hace cambiando el jumper:
CC-BY-SA fuente https://echidna.es/hardware/echidnablack/alimentacion-echidnablack/
Nota: Es posible que en ocasiones nos interese utilizar las dos alimentaciones a la vez, por ejemplo queremos usar el Arduino dependiendo del ordenador, porque queremos por ejemplo que interactue con el Sprite por ejemplo el gato de Edhidna Scratch (por lo tanto está conectado al cable USB) pero las extensiones que queremos conectar necesitan potencia (más de 300mA) por lo tanto conectamos también un portapilas o fuente de alimentación, así pues estamos obligados de decirle al Echidna que alimente las extensiones por Vin cambiando el jumper a Vin.
Tengo Arduino ¿Puedo hacer los programas SIN ECHIDNA ?
No veas el Echidna como una placa diferente al Arduino, es simplemente un Arduino con los sensores y actuadores integrados. De echo puedes hacer los programas de este curso y los de IA perfectamente CON ARDUINO y SIN ECHIDNA pero tienes que tener los sensores y actuadores correspondientes.
No puedes hacer los programas de Makey Makey pues eso lo tiene Echidna pero no Arduino
La respuesta es : SI (si tienes también los sensores y actuadores correspondiente) PERO NO LOS DE MAKEY MAKEY
¿Cómo?
Muy fácil, tienes que poner los sensores y actuadores en los mismos pines que indica la Echidna para poder usar sus mismo software y programas
¿No tengo que instalar ningún firmware al Arduino?
Si, por supuesto, igual que en Echidna
- Si vas a utilizar Echidna Scratch (recomendable y además tiene IA) tienes que instalar el Firmata ver como
- Si tienes problemas de conexión, tu sistema operativo no detecta el Arduino, pues se soluciona igual que el Echidna pues el Echidna es un Arduino con sensores y actuadores integrados. Ver cómo solucionarlo
Vale... hazme un ejemplo de programa normal
Ok, pues el mismo ejemplo que hemos visto en el semáforo pero SIN ECHIDNA
Harware
- Un Arduino UNO que le hemos instalado el Firmata de esta manera
- Cables Dupond M-M
- Placa protoboard para las conexiones
- Tres leds Rojo, Amarillo y verde conectados igual que en la placa echidna, es decir, si te fijas en la figura de arriba:
- Rojo al D13
- Amarillo al D12
- Verde al D11
Software
Pues igual que en https://libros.catedu.es/books/echidna/page/montaje-1-semaforo-con-echidnascratch-recomendado
No me lo creo, a ver...
Mira
Vaaaale.... ¿Y con Inteligencia Artificial?
Entrenamos un modelo de IA como el visto aquí https://libros.catedu.es/books/echidna/page/montaje-14-reconocimiento-de-imagenes
y con ese modelo creamos un programa que :
- Si detecta móvil que se encienda rojo
- Si detecta gafas que se encienda naranja
- Si detecta taza que se encienda verde
- Ninguno en caso de que no detecte nada
Hardware
Igual, igual igual que antes tres leds, verde al D11 amarillo al D12 y el rojo al D13
Software
Igual que antes pero con el modelo IA creado