Arduino – 6. Ejercicio Semáforo

Requerimos

  • Tarjeta UNO R3
  • Protoboard
  • 3 Led 5mm rojo, amarillo y verde
  • 3 Resistencias de 330Ω Ohms
  • 7 Cables macho para protoboard o dupont

Conectamos el PIN GND al protoboard a la fila / bus negativa ( – ) y de ahí tomamos un cable a cada cátodo del los Leds, colocamos las resistencias al ánodo de cada Led, del PIN 12 a la resistencia del Led Rojo, del PIN 11 a la resistencia del Led Amarillo y por ultimo del PIN 10 a la resistencia del Led Verde como lo muestra la imagen.

Usualmente tarda 60 segundos en cambiar el semáforo de color que seria igual a 60000 milisegundos, para acotar ese tiempo he usado 4000 milisegundos.

Copia y pega este código en tu IDE favorito conecta tu Arduino Uno R3 Verify > Upload y es momento de sorprenderte.

// Declaramos las variables constantes rojo, amarillo y verde de tipo byte
// Le asignamos el valor de cada PIN 12, 11 y 10 de la tarjeta
const byte rojo = 12;
const byte amarillo = 11;
const byte verde = 10;

void setup() {
  // Inicializamos los pines digitales 12, 11 y 10 de tipo salida
  pinMode(rojo, OUTPUT);
  pinMode(amarillo, OUTPUT);
  pinMode(verde, OUTPUT);
}

void loop() {
  // Encendemos el PIN rojo y apagamos el amarillo y verde
  digitalWrite(rojo, HIGH);
  digitalWrite(amarillo, LOW);
  digitalWrite(verde, LOW);
  delay(4000); // Espera 4000 milisegundos

  // Encendemos el PIN amarillo, recordemos que el rojo ya esta encendido
  digitalWrite(amarillo, HIGH);
  delay(2000); // Espera 2000 milisegundos

  // Apagamos el rojo y amarillo y encendemos el PIN verde   
  digitalWrite(rojo, LOW);
  digitalWrite(amarillo, LOW);
  digitalWrite(verde, HIGH);
  delay(4000); // Espera 4000 milisegundos

  // Encendemos el PIN amarillo y apagamos el verde, recordemos que el rojo ya esta apagado
  digitalWrite(amarillo, HIGH);
  digitalWrite(verde, LOW);
  delay(2000); // Espera 2000 milisegundos

  // Y el ciclo loop se repite
}

Presiona el botón de Iniciar simulación.

View more articles
  • Arduino – 7. Apagar gradualmente un LED

    Hemos visto hasta el momento las salidas digitales las cuales solo tiene dos valores posibles 1 HIGH (encendido) y 0 LOW (apagado) con la función digitalWrite(PIN, HIGH / LOW);., también existen los tipos de salidas analógicas PWM (Pulse Width Modulation / Modulación por Ancho de Pulsos) las cuales van de un rango de 0 a…

  • Arduino – 3. Lenguaje de programación C / C++

    Para programar el microcontrolador de nuestra placa Arduino se utiliza una versión reducida del lenguaje C / C++, dentro del sitio oficial podemos encontrar toda la documentación de referencia https://www.arduino.cc/reference/en/., aquí te comparto las que yo considero mas importante. Comentarios Los comentarios son muy útiles a la hora de interpretar el código, ya que lo…

  • Arduino – 6. Ejercicio Semáforo

    Requerimos Conectamos el PIN GND al protoboard a la fila / bus negativa ( – ) y de ahí tomamos un cable a cada cátodo del los Leds, colocamos las resistencias al ánodo de cada Led, del PIN 12 a la resistencia del Led Rojo, del PIN 11 a la resistencia del Led Amarillo y…