Semáforo para la regulación del tiempo de las Conferencias realizadas durante el XL Congreso Científico Nacional de Estudiantes de Medicina, Chile. https://www.ccnem.cl
Este proyecto programa un Arduino para controlar un Semáforo de Conferencias, que indicará al expositor cuanto tiempo le queda para completar su exposición. Comprende tres luces (Verde, Amerillo y Rojo) con un orden secuencial de encendido [V -> A -> R], con la posibilidad de Pausar y/o Detener esta secuencia
El manejo de este semáforo se hace desde una GUI de un programa.exe para Windows 10, creado en Microsof VisualBasic 6.0 y que se comunica con el Arduino a través de un USB físico usado como puerto serial
Esta GUI posee, en general, dos secciones:
- Campos para ingresar la duración de cada luz
- Botones de control [Start, Pause, Stop] Cada vez que un botón es presionado, se envía data a través del puerto serial
//Explicación sobre como es eviada la data a través del Serial Port.//
Se necesitan enviar dos tipos de Datos:
- Duración de cada luz encendida
- Botones de Control.
A.- Estructura General del Dato:
<< DG12345X >> / << C$0X >>
1° carácter -> Identificador del tipo de dato Duración o Control
2° carácter -> ID de cada luz o cada botón.
Siguientes n carácteres: Valor del dato: 1/0 para botones de control; n° de segundos, para duración de encendido.
Último carácter: Siempre es Indica que el dato presente finalizó y que el siguiente carácter corresponde al siguiente dato.
B.- Estructura Dato Duración de Encendido:
<< DG12345X >>
1° carácter -> Identificador (Duración)
2° carácter -> ID de la luz a la que corresponde el dato:
ID = [Green: <G>; Yellow: <Y>; Red: <R> ]
n carácter -> Duración en segundos de la luz encendida.
Último carácter -> (Fin del Dato)
C.- Estructura Dato Botón de Control:
<< C@1X >>
1° carácter -> Identificador (Control)
2° carácter -> ID del botón alque corresponde el dato:
[Start: <@>; Pause: <$>; Stop: <#>]
3° carácter -> En el caso de:
Start: <1> : "Comenzar" - <0> "No Comenzar"
Stop: <1> : "Detener" - <0> "No Detener"
Pause: <0>: "Pausar" - <1> "No pausar"
¡¡ATENCIÓN!!, por motivos prácticos, el botón pause está configurado al revés que la convención << 1: True / 0: False >>
4° carácter -> (Fin del Dato)