Cómo programar LEDS en Arduino

Aprender cómo programar LEDS en Arduino es uno de los primeros pasos que todo estudiante y aficionado debe dar al iniciar a programar.

Mediante el uso de LED podemos ver lo que sucede en los pines de salida de una placa Arduino. Cuando el LED se enciende, sabes que el pin al que está conectado posee un voltaje alto.

Los conceptos de programación utilizados en este caso también se aplican para controlar otros elementos como motores, relés, y sensores.

A continuación a prenderás a hacer parpadear uno y varios LED con una placa Arduino, y también controlar la velocidad en que parpadean.

También aprenderás a usar las funciones pinMode(), digitalWrite()y delay().

Funcionamiento del LED

Los diodos emisores de luz o LED solo permiten que la corriente eléctrica fluya en una dirección. Son como una válvula unidireccional para la electricidad. El símbolo esquemático de un diodo es:

Símbolo esquemático de diodo.png

Los LED como otros diodos solo permiten que la corriente fluya en una dirección. Pero los LED también emiten luz cuando pasa una corriente a través de ellos.

 

Símbolo esquemático LED.png

Polaridad en los LED

Dado que la corriente solo puede fluir en una dirección, los LED tienen polaridad.

Deben conectarse en el sentido correcto o no funcionarán.

El lado del LED que se conecta a un voltaje positivo se llama ánodo. El lado que se conecta a la tierra se llama cátodo:

Controlando LEDs en el Arduino LED.jpg

El alambre más largo es el ánodo y el alambre más corto es el cátodo.

Intensidad de brillo en los LED

El brillo de un LED está determinado por la cantidad de corriente que se permite que fluya a través de él.

Pero hay un límite en la cantidad de corriente que puede fluir a través de un LED. Se apagarán rápidamente si se les suministra demasiada corriente.

Para limitar el paso de corriente, utilizamos una resistencia limitadora de corriente en serie entre el LED y la fuente de alimentación:

Diagrama de circuito de LED y resistencia.png

 

El valor de la resistencia afectará el brillo del LED. A resistencias más altas, el brillo del LED será más tenue.

Cómo programar LEDS en Arduino

 

La siguiente imagen ilustra el montaje adecuado para conectar un LED a una placa Arduino:

 

Cableado a un LED.png

 

El valor de la resistencia limitadora debe ser de entre 200 y 1.000 ohmios.

Programando un LED en Arduino

Una vez que tenga listo el montaje anterior, proceda a cargar el siguiente código en la placa Arduino:

void setup() {
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);   
  delay(1000);              
  digitalWrite(13, LOW);   
  delay(1000);             
}

El código anterior apagará y prenderá el LED en intervalos de 1 segundo.

Para que funcione el código la lógica de programación debe ser capaz de decirle al Arduino a qué pin está conectado el LED, configurando dicho PIN como salida.

Hacemos uso de la función pinMode() en el cuerpo de la sección setup().

La función pinMode() posee dos argumentos: el número del pin y el modo de entrada/salida:

pinMode(pin, mode);

El LED está conectado al pin 13 siendo éste un pin de salida:

pinMode(13, OUTPUT);

Dentro del cuerpo de loop() se ejecutará la función digitalWrite() una y otra vez en bucle enviando una corriente eléctrica.

La función digitalWrite() se utiliza para establecer el estado de voltaje de un pin digital.

Tendrá dos argumentos: número de pin y estado de voltaje (alto o bajo):

digitalWrite(pin, value);

Para una placa Arduino, un nivel de alto voltaje es de 5 voltios y un nivel de bajo voltaje es de 0 voltios. Para encender el LED, escribimos voltaje alto al pin 13 así:

digitalWrite(13, HIGH); 

Luego, es necesario indicarle al Arduino el tiempo que debe el pin 13 permanecer en un estado de voltaje alto.

La anterior es posible a través de la función delay() que le indica al Arduino que haga una pausa y espere antes de pasar a la siguiente línea de código.

El número entre paréntesis es el tiempo de retardo en milisegundos:

delay(time); 

Vamos a hacer parpadear el LED una vez por segundo, por lo que estamos retrasando 1.000 milisegundos:

delay(1000); 

Ahora que el LED ha estado encendido por un segundo, debemos apagarlo.

Así que usamos nuevamente la función digitalWrite(), excepto que ahora la usaremos para enviar una señal baja al pin 13:

digitalWrite(13, LOW); 

Luego retrasamos nuevamente por 1.000 milisegundos:

delay(1000); 

Puede cambiar el tiempo que el LED permanece encendido o apagado cambiando los valores en ambas funciones delay().

Cómo programar dos LED a una placa Arduino

Ahora que hemos visto cómo conectar un LED a una placa Arduino, conectemos un segundo LED.

Podemos agregar un LED verde para acompañar al LED rojo como se aprecia en la siguiente imagen:

Cableado de dos LED.png

 

Programando dos LED en el Arduino

Para programar ambos LED, simplemente podemos duplicar el código de un solo LED:

int redLED = 13;
int greenLED = 2;

void setup() {
  pinMode(redLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
}

void loop() {
  digitalWrite(redLED, HIGH);
  delay(1000);
     
  digitalWrite(redLED, LOW);   
  delay(1000); 
    
  digitalWrite(greenLED, HIGH); 
  delay(1000);
    
  digitalWrite(greenLED, LOW);   
  delay(1000);   
}

La única diferencia aquí es que hemos almacenado el pin 13 en la variable redLED y el pin 2 a la variable greenLED.

Una vez que haya conectado los LED y cargado el sketch, debería obtener el siguiente resultado:

Controlando LEDs en Arduino - Blink Two LEDs.jpg

Esperamos que este sencillo tutorial te haya permitido aprender a controlar un LED en Arduino.

Deja un comentario

programar en arduino logo

En este sitio aprenderas a programar en Arduino de forma gratuita a través de sencillos tutoriales y distintos proyectos.