Índice:
- Introducción
- Planificación
- Organización
- Arquitectura
- Interfaz
- Código Utilizado
Códigos Utilizados¶
Módulo de Interfaz¶
En este módulo se inicializa todo la interfaz de la aplicación.
Módulo de Sensor de vibración¶
Este módulo consiste en la funcionalidad del sensor de vibración, donde, se necesita el pin del cual se encuentra conectado el sensor, y con ello, el sensor lee si se ha sentido alguna vibración, en lo que debido a lo básico que es el sensor, no tiene un valor específico, pero gracias a su arquitectura se introdujo manualmente la sensibilidad de este.
Por ello, tenemos sólo la comprobación con la variable de vibracionEstado, en el que si esta vibración es alta, HIGH, se hace la activación en cadena por medio de una señal al resto del sistema.
Módulo de Relé¶
Este módulo consiste en la activación del interruptor del relé, de forma que este active y desactive los sensores y los servomotores que se encuentren conectados.
Para ello se necesita el estado del sistema, con el que es una variable booleana, en la cual, dependiendo del estado que se encuentre el sistema, sea en emergencia (en la función on_mode_emergencia), el cual es el estado de alerta donde los sensores y servomotores se encuentran activados automaticamente y el estado del sistema se encuentre con el valor TRUE, o no se encuentre en emergencia (en la función off_mode_emergencia), en el que se encuentra el estado del sistema en FALSE.
Módulo de Luces de emergencia¶
Este módulo consiste en el encendido y apagado de las luces de emergencia, con un estado de las luces led, luces_activas, en la tiene un valor booleano , las cuales se encuentran en las funciones active_led, en el que el estado de luces_activas se cambia al valor TRUE y las luces se encienden, y deactivate_led, el estado de luces_activas cambia a FALSE y las luces se apagan en el sistema.
Módulo de ServoMotores¶
Este código controla un servomotor utilizando Arduino, moviéndolo a diferentes posiciones según comandos recibidos por la comunicación serial. La última posición del servomotor se guarda en la memoria EEPROM, permitiendo que el motor retome su última posición incluso después de un reinicio. Los comandos 'E' y 'N' permiten mover el servomotor a 90 y 0 grados, respectivamente. La posición del motor se actualiza y guarda en la EEPROM cada vez que se recibe un comando.