Encender varios LEDs Arduino

Esta vez, vamos a encender varios LEDs con Arduino y protoboard – secuencia de 9 LEDs con microcontrolador Arduino Uno. Habiendo aprendido a controlar algunos LEDs en las revisiones anteriores, no será difícil entender cómo cambiar los LEDs – encender varios LEDs con protoboard. También veremos el conocido bucle for, que se utiliza para repetir instrucciones en un diseño y sirve como una especie de bucle dentro de otro bucle.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LEDs y resistencias de 220 Ohm;
  • protoboard;
  • cables de conexion.

Encender varios LEDs Arduino y protoboard

Encender una secuencia de LEDs Arduino
Encender una secuencia de LEDs con un ciclo for

Monta el circuito de LEDs en la protoboard o conecta la balanza de LEDs al Arduino (ten en cuenta que la balanza de LEDs no tiene resistencias incorporadas, así que recuerda añadir algunas al circuito para que los diodos no se quemen). Una vez montado el circuito, copia el programa para la conexión en serie de los LEDs al Arduino y carga el código en la placa.

Programa Arduino secuencia de LEDs con ciclos for

byte LedMin = 2;
byte LedMax = 10;

void setup() {
   for (byte i = LedMin; i <= LedMax; i++) {
     pinMode(i, OUTPUT);
   }
}

void loop() {
   for (byte i = LedMin; i <= LedMax; i++) {
     digitalWrite(i, HIGH);
     delay(50);
   }
 
   for (byte i = LedMax; i >= LedMin; i--) {
     digitalWrite(i, LOW);
     delay(50);
   }
}

Explicación del código para secuencia de LEDs con arduino:

  1. en el código contiene dos bucles for, que funcionan alternativamente;
  2. una variable de tipo byte puede almacenar un número entero de 0 a 255.

En el siguiente ejemplo, el orden de los LEDs en el Arduino se cambia en secuencia. Para ello, todas las condiciones se repiten en el segundo bucle for, sólo el estado de los pines del LED en el bucle cambia de HIGH a LOW. El programa utiliza variables globales de tipo byte, que por lo tanto pueden ser llamadas en cualquier parte del programa, en contraste con las variables locales del lenguaje para el microcontrolador Arduino Uno / Nano.

Programa Arduino secuencia de 9 LEDs con bucle for

byte LedMin = 2;
byte LedMax = 10;

void setup() {
   for(byte i = LedMin; i <= LedMax; i++) {
     pinMode(i, OUTPUT);
   }
}

void loop() {
   for (byte i = LedMin; i <= LedMax; i++) {
      digitalWrite(i, HIGH);
      delay(50);
      digitalWrite(i, LOW);
   }
 
   for (byte i = LedMax; i >= LedMin; i--) {
      digitalWrite(i, HIGH);
      delay(50);
      digitalWrite(i, LOW);
   }
}

Explicación del código para secuencia de LEDs con ciclos for:

  1. el bucle for se repite mientras la condición i > LedMin o i < LedMax sea verdadera;
  2. si se elimina delay(50); del programa, no habrá efecto de iluminación LED secuencial.

Conclusión. En lugar de escribir todos los pines 2 a 13 como salidas en el código, utilizamos un único bucle for – pinMode(i, OUTPUT); No es racional utilizar todas las salidas del Arduino para conmutar LEDs en serie o para conectar una escala de LEDs. En la práctica, utilizamos el registro de desplazamiento Arduino 74HC595 o una versión más sencilla del controlador LED M5450B7 para el microcontrolador Arduino para este fin.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *