Resumen:
|
[ES] Para el presente trabajo se desarrolló un entorno en Unity que interactúa con 10 sensores físicos que están conectados a una placa Arduino MEGA, la comunicación entre las plataformas se realiza mediante comunicación ...[+]
[ES] Para el presente trabajo se desarrolló un entorno en Unity que interactúa con 10 sensores físicos que están conectados a una placa Arduino MEGA, la comunicación entre las plataformas se realiza mediante comunicación serial. El espacio virtual de Unity está dividido por zonas y en cada una de ellas se han colocado diferentes elementos que responden a los estímulos detectados por los sensores. Se tiene dos brazos robóticos cuyas articulaciones son controladas mediante un joystick y un encoder. Un robot móvil que esquiva obstáculos que son generados por un sensor de presencia. Una estación de mecanizado que elige entre dos piezas una de ellas se activa mediante un sensor de efecto hall que responde al detectar un campo magnético. Una estación de transporte de cristales que interactúan con un sensor de impacto que al activarse rompe uno de los cristales. Una serie de lámparas que se encienden con un sensor de micrófono al detectar cierto nivel de audio, una pantalla de registro del ritmo cardiaco y el nivel de conductividad de la piel que reciben información de un sensor de ritmo cardiaco y un GSR. Se colocaron aspersores de agua que se activan si el sensor de flama detecta una llama. Además, en la pantalla del usuario del sistema se lleva un registro de la temperatura. Por último, se tiene una pantalla de control general que refleja el valor de todos los sensores. Tanto el entorno de Unity como la lectura de los sensores se han programado con un enfoque de programación concurrente, para lo cual se utilizaron librerías como FreeRTOS de Arduino que permite separar el código por tareas, mientras que en Unity se utilizaron hilos en algunos scripts para la gestión de los datos.
[-]
[EN] For this project, we've created a Unity environment that interacts with ten physical sensors connected to an Arduino MEGA board. These sensors communicate with Unity using serial communication. Within Unity, we've ...[+]
[EN] For this project, we've created a Unity environment that interacts with ten physical sensors connected to an Arduino MEGA board. These sensors communicate with Unity using serial communication. Within Unity, we've divided the virtual space into different zones, each containing various elements that react to signals from the sensors. We've incorporated two robotic arms whose movements are controlled using a joystick and an encoder. Additionally, there's a mobile robot that autonomously navigates and avoids obstacles, thanks to a presence sensor. A machining station has the capability to select between two pieces, activated by a Hall effect sensor that detects a magnetic field. We've integrated lamps that respond to sound levels detected by a microphone sensor and a display that records heart rate and skin conductivity data from corresponding sensors. There's also a crystal transport station that interacts with an impact sensor, breaking one of the crystals upon activation. As an added safety feature, we've included water sprayers that turn on if the flame sensor detects a fire. Furthermore, we've implemented a general system screen that logs temperature data and a control screen that provides real-time information from all the sensors. To efficiently manage all these tasks, we've adopted a concurrent programming approach. For Arduino, we've utilized libraries like FreeRTOS to organize the code into separate tasks. In Unity, we've employed threads in certain scripts to handle data management.
[-]
|