
Chisme 119 del lince: machine learning con sensores en 3 sitios
La sala de Lynx Enterprises está a oscuras y Víctor Vílchez, el Lince de la Noche, lleva los ojos vendados. Es idea de la Gata Montesa.
—Dime dónde estás —dice ella.
—Hay poca luz, nada de ruido y huele a tiza. Pasillo.
—¿Y cómo lo sabes?
—Porque… luz baja, silencio y fresquito. Siempre es el pasillo.
—Acabas de describir un modelo de machine learning, Víctor. Mide, compara con lo que ya has visto y decide. Vamos a enseñarle a la Echidna a hacer lo mismo.
Así empieza el Chisme 119: machine learning sensores. La placa mide luz, temperatura y sonido, y una IA entrenada por nosotros adivina en qué sitio está. Vamos a hacer Machine Learning Sensores.
Introducción: machine learning sensores
En el Chisme 117 entrenamos una IA con frases. Hoy damos el salto a machine learning sensores: el modelo no lee texto, lee números que salen de los sensores de la placa. Esto es lo que se hace en ciencia de datos: medir, juntar datos, entrenar, comprobar y dudar. Además subimos un peldaño más de programación respecto al Chisme 118: variables acumuladoras, bucles y una cadena de texto construida con las medias.
Antes de tocar la placa, practica en el simulador del Chisme 119: mides en tres sitios virtuales, entrenas, pruebas y haces un pequeño experimento. Si solo quieres verlo funcionando, usa el modo demostración.
Qué necesitamos
- La Echidna Black 2 conectada por USB-C, con EchidnaML ya instalado (Chisme 116).
- El conmutador en Modo Sensores (testigo rojo apagado), como vimos en el Chisme 118.
- Un lugar donde probar: al menos tres sitios del instituto o de casa con ambientes distintos.
Machine learning sensores: ¿qué sensores distinguen un sitio de otro?
La Echidna Black 2 tiene sensor de luz (LDR, de 0 a 1023), de temperatura (MCP9700, en grados Celsius) y micrófono (de 0 a 1023, aunque en un aula normal suele moverse en valores bajos). Para empezar usaremos los tres. Más adelante comprobaremos si de verdad los necesitamos.
Paso 1: capturar los datos
Una lectura suelta del micrófono salta de un valor a otro sin parar. Por eso el programa hace 10 lecturas y calcula la media. Creamos las variables sumaluz, sumason, sumatemp y lectura, y montamos esto:
- Al hacer clic en la bandera, por siempre: repetir hasta que ⟨botón SR pulsado?⟩ con esperar 0.01 segundos dentro.
- Poner a 0 las tres sumas.
- Repetir 10: sumar a sumaluz el bloque «leer sensor luz», a sumason «leer micrófono» y a sumatemp «leer temperatura», y esperar 0.05 segundos.
- Fuera del bucle: dar a lectura el valor unir (redondear (sumaluz / 10)) «,» (redondear (sumatemp / 10)) «,» (redondear (sumason / 10)).
- Decir lectura durante 5 segundos.
Fíjate en un detalle importante: el dar a lectura y el decir deben ir después del bucle de 10 lecturas, no dentro. Si los metes dentro, calcula una «media» incompleta en cada vuelta.
Pulsa SR en un sitio y aparece algo como 512,22,18: luz, temperatura y sonido, separados por comas. Esa línea es un ejemplo para entrenar a la IA.
Paso 2: entrenar el modelo en LearningML
- En EchidnaBlocks pulsa Ir a LearningML y elige Números.
- Elige 3 columnas (luz, temperatura, sonido).
- Crea tres clases:
Patio,AulayPasillo. - Escribe en cada clase los ejemplos, con el formato
luz,temperatura,sonido, sin espacios y con punto para los decimales (la coma separa columnas). - Pulsa Aprender a reconocer números.
Estos son los ejemplos de partida. Son datos de ejemplo: lo ideal es que los sustituyas por los que midas tú en tus sitios.
| Patio | Aula | Pasillo |
|---|---|---|
| 880,24,45 | 480,22,18 | 230,21,8 |
| 910,25,60 | 520,22,25 | 180,20,12 |
| 760,23,38 | 430,21,15 | 300,21,6 |
| 950,26,72 | 560,23,32 | 150,20,5 |
| 820,24,55 | 600,22,28 | 260,21,15 |
| 700,22,30 | 390,21,12 | 210,20,10 |
| 900,25,64 | 510,22,22 | 330,21,18 |
| 860,23,50 | 450,21,20 | 190,20,7 |
Paso 3: probar con datos nuevos
En la fase Probar, escribe ternas que no estén en el entrenamiento y mira qué clase dice el modelo y con qué confianza:
| Terna | Debería salir |
|---|---|
| 800,23,48 | Patio |
| 470,22,21 | Aula |
| 240,20,9 | Pasillo |
| 400,21,35 | Dudoso: un aula ruidosa |
| 650,22,40 | Dudoso: entre Patio y Aula |
Cuando el modelo duda, la confianza baja. Eso no es un fallo: es información. Un modelo que siempre está seguro es sospechoso.
Paso 4: el programa de machine learning sensores que detecta el ambiente
Es el mismo programa de captura, pero al final, en vez de decir lectura, usamos los bloques verdes de LearningML:
decir (unir "Estoy en " (unir (clasificar números (lectura)) (unir " (" (unir (confianza para los números (lectura)) " %)")))) durante 5 segundos

El argumento de los dos bloques verdes es la variable lectura, la misma cadena 512,22,18 que antes copiabas a mano. Si quieres que se note en la placa, añade un si… entonces: si la confianza es mayor que 60, enciende el LED verde; si no, el naranja.
Paso 5: el experimento — ¿qué sensor aporta más?
Aquí empieza la ciencia del machine learning sensores. Hacemos una hipótesis: «creo que la temperatura no distingue bien estos sitios». Para comprobarla, entrenamos el modelo con las tres columnas y después con menos: solo luz y sonido, solo temperatura, solo luz… Y lo evaluamos siempre con los mismos datos de prueba, que el modelo no ha visto. Anota el número de aciertos de cada combinación.
Lo más probable es que la temperatura, sola, sea la peor: en un instituto casi todos los sitios están entre 20 y 25 grados. Una variable puede medirse perfectamente y aun así no servir para esta pregunta.
Qué hace realmente el machine learning sensores
El modelo no «entiende» qué es un patio. Compara cada terna nueva con los ejemplos que ha visto y busca parecidos. Por eso solo sabe lo que le hemos enseñado. Si entrenamos con datos del mediodía y probamos a las ocho de la mañana con niebla, puede fallar. Si todos nuestros ejemplos de Aula se midieron con la luz encendida, no sabrá qué es un aula de día.
Todo ocurre en tu ordenador: los datos no salen a ningún servidor ni se envían a ningún sitio.
Para el aula
- En machine learning sensores, cada grupo mide su propio conjunto de datos en tres sitios del instituto. ¿Qué pasa si entrenáis con los datos de otro grupo?
- Hipótesis: «la luz es la variable que más ayuda». Diseñad el experimento con y sin esa columna y comparad los aciertos.
- ¿Cuántos ejemplos por clase hacen falta? Probad con 2, 5 y 10 y anotad cómo cambia la confianza.
- Medid a distintas horas. ¿Cambia el modelo si el patio se mide a las 9:00 o a las 14:00?
- La luz va de 0 a 1023 y la temperatura de 20 a 26. ¿Puede eso afectar al modelo? Investigad qué significa «escalar» los datos.
- Juntad los datos de toda la clase en una hoja de cálculo. ¿Qué sitio se confunde más con otro? ¿Por qué?
- ¿Qué conclusiones podéis sacar de este experimento y cuáles no?
Retos
- Reto 1: haz que funcione con tus tres sitios.
- Reto 2: cambia las clases por sitios de tu casa (salón, cocina, habitación).
- Reto 3: añade una cuarta clase.
- Reto 4: usa el LED RGB para dar un color a cada sitio.
- Reto 5: añade más datos de ejemplo y mide si mejora la confianza.
- Reto 6: reduce el modelo a dos columnas y compara.
- Reto 7: pide a otro grupo que pruebe tu modelo en su sitio y analiza qué falla.
- Reto 8: plantea una pequeña investigación: ¿cuántos datos y qué variables hacen falta para distinguir diez sitios del instituto?
Qué hemos aprendido
Hemos visto cómo se hace machine learning sensores desde cero: medir, juntar datos, entrenar, probar con datos nuevos y evaluar qué variables importan. Hemos aprendido que la media suaviza el ruido, que una IA solo sabe lo que le enseñamos y que una buena pregunta científica vale más que una buena placa. Con una conclusión humilde: el modelo se equivocará, y lo interesante es saber cuándo y por qué.
Para seguir investigando
- El Chisme 116: instala EchidnaML y haz parpadear un LED.
- El Chisme 117: entrena una IA con frases para encender y apagar la luz.
- El Chisme 118: mide tu tiempo de reacción y aprende a hacer medias.
- El Chisme 104: otra forma de que una máquina entienda lo que le pides.
- LearningML: la herramienta educativa con la que entrenamos el modelo.
- Echidna Educación: la placa y su manual.
Placa y programa: Echidna Educación, licencia Creative Commons BY-SA 4.0 (echidna.es).




