PROCESO DE DISEÑO DE NUESTRO SISTEMA
PROCESO DE DISEÑO DE NUESTRO SISTEMA
ALGORITMO ( DIAGRAMA DE FLUJO FINAL)
Se aumentaron las 8 frases fijas que dirá nuestro dispositivo, así como se especificaron las respuestas para cada frase, y el aumento de otra función del NeoPixel, mostrando el sistema real y completo de MOODI.
ESQUEMA ELECTRÓNICO
REGISTRO TÉCNICO
Primero leímos cada código UID de cada etiqueta para poder asignarla a una emoción y su respectiva frase, como se puede observar en la siguiente tabla, para que luego pueda diferenciarse en cada prenda. Fuimos registrando los códigos de los stickers para encontrar las UID que conectaremos a cada frase.
Después de asignar cada UID a la emoción, tuvimos en cuenta algunos posibles fallos o errores en la lógica (por ejemplo, que MOODI no repita la lectura del UID —la prenda— que ya tiene puesta, sino que espere a que retiren el UID —prenda— y volver a leerlo cuando lo acerquen nuevamente). Luego, pasamos a realizar la primera prueba con el código final sin el NeoPixel.
FRUSTACIÓN INICIAL: En la primera prueba, la OLED no prendió, pero el código estaba correcto, así que probamos conectando bien los cables y utilizando un código para que la pantalla solo dijera “Hola”, y funcionó. Luego, probamos nuevamente con el código oficial, pero seguía sin funcionar. Después, probamos solo la pantalla y sí funcionaba.
Tras un quincuagésimo intento, la OLED seguía sin prender.
Cuando intenté solo con la primera frase de felicidad y que, si el sensor detectaba el UID 1, saliera “Gracias, me siento mejor”, esa mini prueba sí funcionó, así que el problema no eran las conexiones ni la pantalla OLED; supuse que era un fallo en el código. Ahora agregaremos una emoción más.
Probamos con la segunda emoción, tristeza, y sí funcionó el flujo, pero saltaba muy rápido de emoción en emoción y no llegaba a leer la segunda emoción porque, además, detectaba la RFID que ya estaba pegada al sensor. Lo pudimos arreglar y logramos que el sensor espere a que se despegue el sticker (que el niño cambie la prenda) y, de ahí, vuelva a leer la nueva etiqueta.
Ahora, un punto a mejorar: la frase de aceptación o rechazo duraba 2 segundos. Para pruebas es suficiente, pero en la práctica creo que es poco tiempo para que el niño pueda leer, entender y aceptar la respuesta, así que aumentamos un delay de 5000. Ahora probaré todas las emociones con el RFID y la OLED.
Probé con mis frases establecidas y el código con las 4 emociones, pero de nuevo se congeló; o sea, en el código grande había algo que no estaba entendiendo bien. Noté que parecía que ni hacia la recarga en la OLED, o sea, no entraba el código, lo que posiblemente había estado fallando era que, cuando pasa de 2 a 3 emociones, aumenta texto (String), aumenta lógica y aumenta uso de RAM.
Entonces, según la IA, String fragmenta la memoria y crea texto; después de varios ciclos, se cuelga. La solución fue: no usar String, usar const char (texto fijo), y logró funcionar con enojo.
Se volvió a trabar ahora con temor. Según la IA, seguía ocupando memoria RAM, entonces hicimos cambios: sin String, con F(), y funcionó, por lo que el problema identificado fue la memoria RAM.
Ahora validaremos dos UID por frase según la emoción correspondiente. Teniendo eso listo, pasaremos a las frases oficiales y a colocar el texto en horizontal y lo mas centrado posible para que se vea mejor visualmente.
Ahora pasamos al tema de programar el “Hola, soy Moodi” del inicio y las caritas después de cada frase. Al principio salían raras y las mismas, pero después lo configuramos mejor para que variaran según la emoción y salieran centradas y dentro de un círculo.
Ahora, ya por último, pasamos a conectar el NeoPixel y hacer que se encienda verde para todas las respuestas correctas y rojo para todas las incorrectas. Además que al inicio se encienda de color amarillo, azul, rojo y morado como presentación de MOODI. Por último, agregamos un modo pausa si el RFID no detecta ninguna etiqueta en 25 minutos.
Durante el desarrollo de Moodi aprendimos la importancia del trabajo en equipo, la paciencia y las pruebas constantes para resolver errores. También logramos comprender mejor el funcionamiento de la OLED, el sensor RFID y la memoria RAM del Arduino, optimizando el código para evitar fallos. Además, aprendimos a mejorar la experiencia del usuario mediante tiempos de espera, mensajes claros, colores y elementos visuales interactivos.
“Si tu OLED no prende hoy, no significa que hayas fallado; significa que estás más cerca de entender cómo hacerla funcionar mañana.”
CÓDIGO FINAL
“Cada error fue una oportunidad para aprender, y cada prueba nos acercó más a convertir una idea en una experiencia real e interactiva.”
Responsable del armado físico del circuito, asegurando la correcta organización de los elementos, la coherencia del recorrido y la funcionalidad del diseño final.
Esquema electrónico diseñado en canva, con los componentes claramente identificados y registrados en una tabla.
Algoritmo (Diagrama de Flujo) final mejorado que representa la lógica completa y definitiva del sistema, mostrando la secuencia de decisiones y procesos.
Programación: Encargada del código Arduino, la lógica del sistema y el registro técnico, es decir la descripción del proceso de programación, conexión de componentes, resultados de pruebas y aprendizajes obtenidos.
Gestor de bitacora: Encargado de mantener actualizada la página web con avances, esquemas y documentación correspondiente a cada etapa, ademas de encargarse de su estetica.