Funcionamiento de un led

LED PARPADEANDO

Objetivos

  • Fijar algunas ideas básicas sobre electrónica.
  • Montar un circuito con LED y Resistencia y comprender el esquema eléctrico.
  • Aprender el manejo de la Protoboard.
  • Instalar el blinking LED en la Protoboard.

Conocimiento previo

  • Instalación del IDE.
  • Carga de programas en la placa Arduino.
  • No se necesitan conocimientos de programación.

Material necesario

arduino
  • Arduino Uno o similar.
  • Un PC con el entorno de Arduino correctamente instalado y configurado.
Img_3_4
  •  Una Protoboard.
RedLed_
  • Un diodo LED
Img_3_5
  • Una resistencia de 330 Ohmios.
Img_3_6-300x185
  • Algunos cables de Protoboard.

 

Cálculo de la resistencia limitadora para un LED

Uno de los cálculos más habituales es el de la resistencia de protección para poder colocar un diodo LED en un circuito cualquiera sin que este resulte dañado.

Un diodo LED es un diodo emisor de luz, es decir, que puede hacer la función de una lampara (bombilla) siempre que se conecte correctamente y se le aplique la tensión adecuada para su funcionamiento.

Existen diversos tipos de LED, con distintas formas, tamaños, colores e intensidad de la luz y no todos requieren la misma tensión y corriente. Así que será necesario tener esto en cuenta antes de intentar ponerlos en funcionamiento.

Lo típico, en cuanto a tensiones, es:

  • LED color Verde, Amarillo (o Ámbar) y Rojo, aprox. 2V.
  • LED Azul y Blanco, 3V.

En general podemos trabajar con dos supuestos:

  • un LED trabaja con una tensión de 2 V y consume una corriente de 0,02 A.
  • un LED trabaja con una tensión de 1.5 V y consume una corriente de 0,015 A.

Bajo esta premisa, vamos a calcular la resistencia limitadora para un LED conectado entre dos puntos en los que existe una tensión de 5V.

La tensión que debe absorber la resistencia sería:

Vcircuito – Vled –> en este caso: 5 V – 1.5 V = 3.5 V.

El valor en Ohmios de la resistencia será: R = V / I donde la V serán los voltios que debe absorber la resistencia y la I será la corriente que consume el LED.

En nuestro caso: R = 3.5 V/0,015 A o sea: 233 Ohms. (valores comerciales próximos: 230 Ohm).

El circuito.

Led
Led
  • El diodo LED es emisor de luz y por eso tiene esas flechas salientes para indicarlo.
  • La resistencia se representa por ese segundo símbolo indicando un nombre R1 y su valor 330Ω.
  • A su vez vemos a la izquierda las letras GND para indicar que es el negativo. Tiene muchos nombres:  Masa,  El símbolo –,  Tierra( aunque no es lo mismo), Ground, Negativo, cátodo.
  • Por último a la derecha el símbolo de +5V indica el extremo de tensión positiva o positivo y a veces se representa como Vcc. Las líneas rectas y negras indican conexión eléctrica mediante cables conductores.

led_01

  • Un diodo, es un componente electrónico que solo permite pasar la corriente en una dirección. En la dirección del positivo al negativo (la parte ancha del triángulo) al negativo, la punta del triángulo (que indica la dirección).
  • Para indicar cuál de las patas de un diodo LED es el positivo, ésta suele ser de mayor longitud.
  • Si se conecta a la inversa, cortará el flujo de corriente muy eficazmente y no se iluminará en absoluto.
  • Las resistencias en cambio no diferencian un extremo del otro, decimos que no tienen polaridad.
  • En este circuito podemos poner la resistencia tanto en la parte positivo (5v) como en la negativa (GND), es decir antes o después del led.

fritzing_01

Este esquema sigue una pauta de marcar los cables que van a positivo en rojo y los que van a GND en negro.

  • La Protoboard une los puntos de la línea azul entre si y los de encima de la línea roja entre sí, (se les llama raíles), pero no conecta el raíl rojo positivo con el raíl negro negativo.
  • A su vez existen dos zonas de líneas verticales en la Protoboard. Estas líneas verticales están unidas entre sí internamente, para facilitar la conexión de los componentes, pero no se unen las líneas paralelas.

breadboard_interna

Las claves para montar el circuito con éxito, son:

  • Conectamos el pin 13 de Arduino a la línea roja de la Protoboard: Positivo.
  • Conectamos el GND de Arduino a la línea azul de la Protoboard: Ground.
  • Usamos el raíl positivo (los pines de la línea roja) para conectar a la resistencia.
  • El otro extremo de la resistencia se conecta al positivo del LED porque están en la misma vertical de la Protoboard (y esta los conecta eléctricamente).
  • Nótese que el positivo del LED está claramente marcado como de mayor longitud mediante un pequeño ángulo cerca de la base.
  • Un diodo LED casi no presenta resistencia propia, por lo que siempre debe usarse una resistencia adicional que limite el paso de corriente, y evite que se queme. (Una resistencia entre 220 y 330 Ω suele ser adecuada).
  • El circuito se cierra con un cable desde el negativo del LED al raíl de GND.
  • Cuando nuestro programa ponga un valor de HIGH (5V) en el pin 13 permitirá el flujo de corriente por el circuito iluminando el LED. Con LOW sencillamente el circuito estará apagado, sin tensión.

Podemos ahora cargar y volcar el ejemplo Blink, veremos cómo, además del LED propio de Arduino, nuestro LED exterior parpadea siguiendo el mismo ciclo de encendido y apagado

El programa

Parece obligado en el mundo Arduino, que el primer programa que hagamos sea el blinking LED, y está bien porque ilustra algunas ideas interesantes en cuanto a sus posibilidades:

  • La capacidad de Arduino para interactuar con el mundo externo. Algo bastante inusitado para quienes estén acostumbrados a la informática tradicional, donde la potencia de cálculo ha crecido de forma espectacular, pero sigue siendo imposible (o casi), influir en el mundo exterior.
  • La sencillez del entorno de trabajo. En contraposición a un sistema tradicional de editor / compilador / linker.

Arduino puede relacionarse de diferentes maneras con el mundo que le rodea, Empezaremos por los pines digitales que pueden usarse como:

  • Entradas: Para leer  información digital del mundo exterior.
  • Salidas: Para activar una señal al mundo exterior.

Arduino dispone de 14 pines que pueden ser usados de este modo, numerados del 0 al 13.

Pediremos a Arduino que active su pin 13 como de salida digital y después encenderemos y apagaremos esta señal lo que hará que el LED que tiene conectado de serie se encienda o apague al ritmo que marquemos.

Para indicar al sistema que deseamos usar el pin 13 como salida digital utilizamos la instrucción:

pinMode(13, OUTPUT);

El primer parámetro indica el pin a usar y “OUTPUT” es para usarlo como salida, y también podría usarse el valor “INPUT” para indicar que vamos a leer de este pin.

Estas definiciones se harán solo una vez al principio, en la función setup(). La nuestra quedará, con una única instrucción que declara que vamos a usar el pin 13 como salida digital:

void setup() {

// initialize the digital pin as an output.
pinMode(13, OUTPUT);

}

Para encender el LED usaremos la instrucción:

digitalWrite( 13 , HIGH) ;

Y otra instrucción similar que le ordena apagarlo:

digitalWrite( 13 , LOW) ;

El 13 indica el pin a utilizar y HIGH, LOW indican el valor que deseamos poner en esa salida, que en Arduino corresponden a 5V para HIGH y 0V para LOW.

Si en la función loop() escribiéramos estas dos instrucciones seguidas, Arduino cambiaría estos valores tan deprisa que no percibiríamos cambios, así que necesitamos frenarle un poco para que podamos percibir el cambio.

Para hacer este retraso de, digamos, un segundo, utilizaremos:

delay(1000) ;

// delay(n) “congela” Arduino n milisegundos

Por tanto para programar una luz que se enciende y se apaga, tendríamos que generar una secuencia de órdenes que hicieran:

  • Informar a Arduino de que vamos a utilizar el pin13 para escribir valores (en el Setup).
  • Encender el LED : Poner valor alto ( 5V) en dicho pin.
  • Esperar un segundo.
  • Apagar el LED: Poner valor bajo (0V) en dicho pin.
  • Volver a esperar un segundo.

Si omitiéramos este segundo retraso, apagaría la luz y volvería a empezar encontrándose la orden de volver a encender. No apreciaríamos que se había apagado. El procesador de Arduino UNO es muy lento desde el punto de vista electrónico, pero es capaz de conmutar la luz (pasar de encendido a apagado y vuelta a encender) unas 15.000 veces por segundo.

El primer concepto que tenéis que fijar, es que los ordenadores procesan las ordenes en secuencia, una instrucción después de otra y en el orden en que se las dais. Nuestro programa instruye al ordenador para que ejecute esas instrucciones y fija el orden en el que se ejecutan.

La forma de escribir un programa en Arduino C++ que haga lo anteriormente descrito es algo parecido a esto

void setup() {

// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second

}