Semáforo para limitar tiempo de ponencias

Casi el primer proyecto que se hace para aprender a usar Arduino es un semáforo con leds, pero este es un poco diferente. Tiene Leds de alta intensidad y una caja. Se pensó como sistema de avisos para limitar los tiempos en una conferencia o congreso. La idea original es de Jerónimo Puertas y la realización física de Daniel Villares.

Los leds empleados son de panel a 12v y 20mA -referencia L60012v- lo que hace necesario usar un transistor mosfet 2N7000 o similar para encenderlos. El diseño puede funcionar con cualquier fuente de 12v como 8 pilas AA. Debe repetirse para cada LED conectándolo a los pines 10, 11 y 12 en el ejemplo.

Los tres conjuntos montados en una shield de prototipado que irá sobre un Arduino UNO con los conectores de tornillo para los leds tienen este aspecto

El programa para operar el semáforo como controlador de tiempos es el siguiente

void setup() {
  pinMode(10, OUTPUT); // verde
  pinMode(11, OUTPUT); // ambar
  pinMode(12, OUTPUT); // rojo
}

void loop() {
                                 
  digitalWrite(10, HIGH);
  delay(480000); // 480000 = 8 minutos
  digitalWrite(10, LOW);
  
  digitalWrite(11, HIGH);                                                           
  delay(120000); // 120000 = 2 minutos
  digitalWrite(11, LOW);
  
  digitalWrite(12, HIGH);
  delay(120000); // 120000 = 2 minutos
  digitalWrite(12, LOW);  
  
  for (int i=0; i<2400; i++){
    digitalWrite(12, HIGH); // parpadeo
    delay(50);
    digitalWrite(12, LOW);
    delay(50);
    }
  
}

El interruptor de la caja se coloca en la entrada de alimentación -desde las pilas o la fuente alternativa- de modo que la operativa es simple: al encender empieza a correr el tiempo de las luces. Para reiniciar basta con apagar y encender.