# 5. Inteligencia Artificial
# Qué es la IA
Con EchidnaScratch podemos integrar fácilmente la inteligencia artificial definiendo previamente los modelos en Learning ML
[](https://libros.catedu.es/uploads/images/gallery/2024-12/blog-echidna-machinelearning.jpg)
CC-BY-SA Fuente [https://echidna.es/a-programar/echidnaml/](https://echidna.es/a-programar/echidnaml/)
{{@12181}}
# Tipos IA
Viendo esta clasificación ¿Cuál es el tipo de IA que se usa en EchidnaScratch ?
Muy fácil: **ML Aprendizaje automático supervisado**
Tiene la gran ventaja **que esta integrado con Echidna Scratch** POR LO QUE EL MODELO IA SE PUEDE UTILIZAR EN EL REPERTORIO DE INSTRUCCIONES
[](https://libros.catedu.es/uploads/images/gallery/2025-07/2025-07-02-08-28-54-what-is-machine-learning-lml-artificiai-intelligence-made-easy.png) CC-BY-NC-SA https://web.learningml.org/ ##### **RECONOCIMIENTO DE TEXTOS** Permite aprender textos y tomar decisiones a partir de conjunto de textos etiquetados ##### **RECONOCIMIENTO DE IMAGENES** Permite aprender textos y tomar decisiones a partir de conjunto de imágenes etiquetadas ##### **RECONOCIMIENTO DE NÚMEROS** Este caso no lo abordaremos pues es para casos más académicos. Si quieres conocer este modelo, consultar su manual, en la página 22 Apéndice A: **Ejemplo de conjunto numérico tabular**, [https://web.learningml.org/en/learningml-manual/](https://web.learningml.org/en/learningml-manual/) ##### **MODO AVANZADO** [](https://libros.catedu.es/uploads/images/gallery/2025-11/2025-11-28-18-45-47-echidnaml.png) Permite elegir qué algoritmo usar (redes neuronales, vecino próximo...) y sus parámetros junto con gráficos para la visualización gráfica de la zona de indecisión. .. si quieres consultar más puedes consultar su manual, en la página 29 **Modo avanzado** en [https://web.learningml.org/en/learningml-manual/](https://web.learningml.org/en/learningml-manual/) # MONTAJE 13 Reconocimiento de textoVamos a encender y apagar un objeto de luz usando texto predictivo con IA
Al arrancar EchidnaScratch nos vamos a LEARNING ML, nos vamos a entrenar y que entrene con la clase **APAGA** las palabras que se nos ocurra: [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-00-02-05-echidnaml.png) Y con la clase **ENCIENDE** otras tantas palabras [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-00-04-31-echidnaml.png) Pulsamos que entrene (tarda un poco) y cuando nos diga que esta listo para usar el modelo, vamos a comprobarlo, como vemos, la palabra **MUCHA LUZ no aparece en las entrenadas**, pero detecta que tiene más posibilidades que lo que queremos es apagar la luz [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-00-06-34-echidnaml.png)**Acuerdate de** grabarlo lo voy a grabar como enciende-apaga.json, se graba LOS DATOS DE ENTRENAMIENTO luego al volverlo a abrir, tienes que volver a crear el modelo
[](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-10-19-53-echidnaml.png) **Ahora si** !! vamos a EchidnaScratch y creamos este programa usando las instrucciones de Learning ML que se basan en el modelo aprendido anteriormente [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-00-30-31-echidnaml.png) Aquí lo tienes todos los procesos en vídeo : CC-BY SA Fuente [https://echidna.es/a-programar/echidnaml/como-empezar-con-machine-learning-y-echidna/](https://echidna.es/a-programar/echidnaml/como-empezar-con-machine-learning-y-echidna/) El programa en este repositorio: [https://github.com/JavierQuintana/Echidna](https://github.com/JavierQuintana/Echidna) El sprite lámpara lo he obtenido de [https://scratch.mit.edu/projects/198689957/editor/](https://scratch.mit.edu/projects/198689957/editor/) ##### **Mejoramos nuestro modelo pero con ayuda de ChatGPT** *Agradecimientos a Fran Perez CP Ana Abarca de Bolea* Hacemos los mismos pasos, pero con pocos sinónimos, solo dos en cada clase, y lo guardamos. Si nos fijamos en el fichero .json (lo abres con un editor de texto, el bloc de notas por ejemplo) el fichero .json no es más que un fichero que almacena los datos de forma clasificada : ```json {"type":"text","data":{"Enciende":["Poca luz","On"],"Apaga":["Mucha luz","On"]}} ``` Le decimos a [chatgpt ](https://chatgpt.com/)que nos lo enriquezca con este prompt *(u otro similar)* con 20 sinónimos *(y si quieres más, pues más):* > quiero que insertes dentro del corchete \[ \] de Enciende 20 sinónimos de órdenes para encender la luz y dentro del corchete de Apaga \[ \] quiero que pongas 20 sinónimos de órdenes para apagar la luz no pongas saltos de línea, mantén el formato {"type":"text","data":{"Enciende":\["Poca luz","On"\],"Apaga":\["Mucha luz","On"\]}} El chatgpt responde con este código: ``` {"type":"text","data":{"Enciende":["Enciende la luz","Prende la luz","Activa la luz","Ilumina","Dale luz","Pon la luz","Conecta la luz","Inicia la luz","Enciende iluminación","Prende iluminación","Activa iluminación","Enciende lámpara","Prende lámpara","Enciende bombilla","Prende bombilla","Dale corriente a la luz","Sube la luz","Ilumina la habitación","Activa el foco","Pon luz"],"Apaga":["Apaga la luz","Apaga todo","Desconecta la luz","Quita la luz","Apaga lámpara","Apaga bombilla","Corta la luz","Desactiva la luz","Oscurece","Quita iluminación","Apaga iluminación","Cierra la luz","Desconecta iluminación","Apaga el foco","Apaga la lámpara","Corta iluminación","Desactiva iluminación","Quita corriente a la luz","Apaga por completo","Baja la luz"]}} ``` lo metes en el bloc de notas y lo guardamos como *loquequieras.json* y lo importamos en LearningML ¡¡ tenemos ahora 20 textos en cada clase !!! nuestra máquina de IA ha mejorado !!! [](https://libros.catedu.es/uploads/images/gallery/2025-12/2025-12-05-14-29-02-echidnaml.png) ##### **Otro ejemplo pero con una cerveza ;)** [https://libros.catedu.es/books/robotica-educativa-con-mbot/page/maquina-educable-con-machine-learning-for-kids-y-scratch](https://libros.catedu.es/books/robotica-educativa-con-mbot/page/maquina-educable-con-machine-learning-for-kids-y-scratch) # MONTAJE 14 Reconocimiento de imágenes El proceso es similar, en este caso he utilizado el móvil y he mostrado a la cámara web las búsquedas de caras para que aprenda la diferencia entre niños, hombres y mujeres [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-01-06-37-como-empezar-con-machine-learning-y-echidna-echidna-educacion.png) 😁 como veis, para probar el modelo he utilizado mi cara y me reconoce un 99% de hombre😁😁😁 ##### **Grabar y abrir una máquina de IA****OJO** hay que grabar el la máquina de inteligencia artificial que has creado !!! si cierras el programa se pierden todos los datos. **No advierte** que no lo has grabado
Voy a crear otra máqina IA con los objetos Gafas - Taza- móvil y lo grabo [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-09-50-29-echidnaml.png) Al grabar lo hace con un nombre de archivo .JSON lo voy a hacer con el nombre **taza-gafas-movil.json** que lo tienes en [https://github.com/JavierQuintana/Echidna](https://github.com/JavierQuintana/Echidna)Este archivo tiene **los datos de entrada NO LA MÁQUINA** luego si cerramos el programa y queremos abrirlo tenemos que volver a entrenarla:
[](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-10-03-31-echidnaml.png) ##### **Programa en EchidnaScratch** [](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-08-10-09-53-presentacion1-powerpoint.png) ##### **Resultado** Sin Echidna se puede hacer simplemente con un Arduino y tres leds, verde al D11 amarillo al D12 y el rojo al D13 ver [https://libros.catedu.es/books/echidna/page/tengo-arduino-puedo-hacer-los-programas-sin-echidna](https://libros.catedu.es/books/echidna/page/tengo-arduino-puedo-hacer-los-programas-sin-echidna) ##### Recomendamos... Ver todo el proceso en este vídeo Fuente [https://echidna.es/a-programar/echidnaml/como-empezar-con-machine-learning-y-echidna/](https://echidna.es/a-programar/echidnaml/como-empezar-con-machine-learning-y-echidna/) ##### **También recomendamos...** Usar **variables** para tener el control de lo que sucede de esta manera podemos controlar qué márgenes de confianza y cual es el resultado de la clasificación. Si el resultado no es el esperado: - ajustar los valores de confianza en la imagen he puesto 0.9 - darle más fotos a la máquina de IA para que lo haga mejor. [](https://libros.catedu.es/uploads/images/gallery/2025-02/2025-02-12-10-19-05-echidnaml.png) **Reto** : Igual que los porteros automáticos, que se encienda la cámara si se aprieta el botón (por ejemplo SL) **Solución**: En este caso es recomendable usar un pequeño retardo de 1segundo para que le de tiempo a capturar la imagen Se puede mejorar el programa añadiendo un retardo antes de que se cierre la puerta, etc... [](https://libros.catedu.es/uploads/images/gallery/2025-02/2025-02-17-11-49-47-echidnaml.png) # MONTAJE 14BIS RECONOCIMIENTO DE MATRÍCULAS Vamos a desarrollar este proyecto de Jorge Lobo @Lobo\_tic [https://x.com/lobo\_tic/status/1923996982516814064](https://x.com/lobo_tic/status/1923996982516814064) > —Antes, para salir del parking del supermercado, había que escanear el ticket de compra, pero ahora la barrera se abre sola como si supiera que ese coche puede salir. > > —¿Queréis saber cómo lo sabe? > > Así surge la idea de esta actividad con [@EchidnaSTEAM](https://twitter.com/EchidnaSTEAM?ref_src=twsrc%5Etfw) y [@\_learningml\_](https://twitter.com/_learningml_?ref_src=twsrc%5Etfw) 😃 [pic.twitter.com/3Ew22WcURj](https://t.co/3Ew22WcURj) > > — Jorge Lobo (@lobo\_tic) [May 18, 2025](https://twitter.com/lobo_tic/status/1923996982516814064?ref_src=twsrc%5Etfw) ##### **PRIMER PASO : MONTAJE** Ponemos un servo en D4FÍJATE QUE EL **MARRÓN** A MASA GND SIMBOLO G TAL COMO LA FOTO Y EL AMARILLO EN DATO Dx
[](https://libros.catedu.es/uploads/images/gallery/2025-06/2025-06-17-21-55-44.png) ##### **SEGUNDO PASO : CREAR MÁQUINA IA DE RECONOCIMIENTO DE MATRICULAS** 1. Entramos en crear máquina de reconocer imágenes 2. Creamos una clase que se llame **NO** 3. Añadimos imágenes desde nuestra webcam 1. Vamos enseñando matrículas que **no queremos que se abra el parking** de cada matrícula pulsamos una docena en diferentes posiciones (ligeros cambios) 2. También añadimos varias imágenes que existe cuando no hay ninguna matrícula, pues queremos que cuando no hay coche que no se abra el parking. 4. Añadimos la clase **SI** 1. Repetimos el paso 3.1 con las matrículas que **queremos que se abra el parking** 5. Le damos a aprender 6. Probamos 7. Nos fijamos que funciona perfectamente [](https://libros.catedu.es/uploads/images/gallery/2025-06/reconocimientomatriculas.png) Detalle del paso 3.2 [](https://libros.catedu.es/uploads/images/gallery/2025-06/2025-06-17-21-54-31-echidnaml.png) ##### **TERCER PASO : PROGRAMAR** Ahora entramos en la ventana de programación usando el modelo: 1. En **learningml** arrastramos la instrucción de **encender cámara** 1. curiosamente lo voltea, por lo tanto le decimos ON FLIPPED de lo contrario lee al revés las matrículas (curiosamente lo hace bien aunque a veces falla) 2. Ponemos un bucle infinito para que siempre lea los sensores y funcionen los actuadores (típico en programas de robótica) 3. Un condicional dentro del bucle si --- sino y en la condición que sea si LA MATRICULA ES DE LA CLASE **SI** pues que abra sino que la cierre 1. Tiene dos instrucciones dentro de learningml uno que es que clasifique la imagen y otro que sea la imagen de la captura del vídeo 4. Si es SI pues que abra con el servo 5. También que encienda la luz verde y apaque el rojo 6. Esta espera es para que el coche pase tranquilamente además que nos permite que no haga contínuos aperturas y cierres de la barrera 7. SINO pues que cierre la barrera 8. Encienda rojo y apague verde [](https://libros.catedu.es/uploads/images/gallery/2025-06/2025-06-17-21-42-52-echidnaml.png) ##### **CUARTO PASO : JUGAR** # MONTAJE 14 TRIS RECONOCIMIENTO GESTOS Podemos realizar un programa que siga los movimientos del brazo [](https://libros.catedu.es/uploads/images/gallery/2025-11/braquioplastia.png) y que el servo lo reproduzca Haremos tres clases: - 0 para el brazo a 0º - 90 posición brazo 90º - 180 posición brazo a 180º Enseñamos a la máquina [](https://libros.catedu.es/uploads/images/gallery/2025-11/2025-11-23-10-52-08-echidnaml.png) [](https://libros.catedu.es/uploads/images/gallery/2025-11/2025-11-23-10-53-39-echidnaml.png) El resultado