Contenido del curso

Actividad 6

 

Tres LEDs intermitentes con secuencia única

En la siguiente actividad emplearemos un pulsador y tres LEDs conectados de la forma que se muestra en el montaje de la figura. Con cada pulsación, el programa deberá ejecutar una secuencia de encendido y apagado de los LEDs de forma ordenada, como se indica a continuación:

  • Orden de encendido: verde, amarillo, rojo.

  • Orden de apagado: rojo, amarillo, verde.

  • Manteniendo los mismos intervalos de tiempo entre secuencias de encendido y apagado. 

Utilizar para este ejemplo el condicional “if”. Definir también una constante de tipo entero para controlar de forma más sencilla los tiempos de encendido y apagado.


const int led_rojo = 7;    // Definimos el pin donde conectar LED rojo
const int led_amarillo = 8;// Definimos el pin donde conectar LED amarillo
const int led_verde = 9;   // Definimos el pin donde conectar LED verde
const int pulsador = 10;   // Definimos el pin donde conectar pulsador
int tiempo = 500;          // Definimos variable para guardar los tiempos
void setup() {
  // Inicializamos los pines de los LEDcomo salida
  pinMode(led_rojo, OUTPUT);  
  pinMode(led_amarillo, OUTPUT);
  pinMode(led_verde, OUTPUT);
  // Inicializamos el pin del pulsador como entrada
  pinMode(pulsador, INPUT);
}
void loop() {
  // Si el estado esta apagado y se pulsa el boton
  if (digitalRead(pulsador) == HIGH) {
    digitalWrite(led_verde, HIGH);    // Encender el led verde
    delay(tiempo);                       // Esperar el valor de "tiempo"
    digitalWrite(led_amarillo, HIGH); // Encender el led amarillo
    delay(tiempo);                       // Esperar el valor de "tiempo"
    digitalWrite(led_rojo, HIGH);     // Encender el led rojo
    delay(tiempo);                       // Esperar el valor de "tiempo"
    digitalWrite(led_rojo, LOW);      // Apagar el led rojo
    delay(tiempo);                       // Esperar el valor de "tiempo"
    digitalWrite(led_amarillo, LOW);  // Apagar el led amarillo
    delay(tiempo);                       // Esperar el valor de "tiempo"
    digitalWrite(led_verde, LOW);     // Apagar el led verde
    delay(tiempo);                       // Esperar el valor de "tiempo"
  }
}


Puedes descargar la solución pinchando en el siguiente icono:


Vistas
19 Número de vistas
19 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.