Asistencia sobre la Utilización de Aplicaciones Especificas

 

      LED Potenciometro  Volver

Proyectos con Arduino

Todos sabemos que un diodo LED enciende con dos pilas AA o AAA en serie pero que, para otras tensiones, es necesario utilizar una resistencia limitadora en serie para evitar que la excesiva corriente lo queme.

http://www.pablin.com.ar/electron/info/rled/circuito.gif

En realidad la fórmula a aplicar no es otra cosa que la tradicional ley de ohms aplicada a un circuito en serie:

RS = (Vdd - Vf) / If

Donde Rs es el valor de la resistencia, Vdd es la tensión de alimentación, Vf es la tensión requerida por el LED y If es la corriente del mismo.

Veamos un ejemplo para colocar un LED en el auto.

RS = (12v - 1.7v) / 20mA = 10.3v / 20mA = 515 ohms

Es conveniente siempre ir al valor estándar superior de resistencia para mayor seguridad, en este caso podría ser 590 ohms o bien 680 ohms. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cálculo de resistencia limitadora para LED´s

Los diodos LED son seguramente la forma más popular de señalización de estados en los equipos electrónicos. Veremos la manera de sacar todo el provecho posible a estos coloridos componentes.

 

Para que un LED funcione, necesitamos que una corriente lo atraviese. La intensidad de esta corriente debe ser cuidadosamente calculada, dado que si excedemos los límites especificados en la hoja de datos del componente, este se destruirá. La lista siguiente nos da una idea de que tensión aproximada necesita la juntura de los LEDs de colores comunes para funcionar.

 


 

La corriente que debe atravesar el LED depende del tipo de componente pero se puede generalizar un valor entre 10mA y 30mA,  correspondiendo el primer valor a la corriente mínima para que encienda, con vida útil muy larga y el segundo valor a la corriente máxima que soporta, con vida útil bastante más corta, corriente mayor a ésta el componente se inutiliza o se quema.

 

Por lo general se toma un valor medio de 20mA (0,02A) con el cuál se logra un buen brillo con una vida útil larga. Para limitar la corriente que circula por el LED lo mas comun es colocar una resistencia en serie con el Diodo tal como se muestra en la siguiente figura.

 

 

 

Una parte importante a la hora de calcular la resistencia limitadora es tambien calcular la potencia que soporta la resistencia y para ello se utilzia la siguiente formula.

 

P = V . I      o se que la     PR = VR . I R       y como       I R = I (LED)      y   VR = Vcc - VLed      entonces si sustituimos nos queda

 

PR = ( Vcc - VLed ) .  I (LED) =  ( 12 V - 2 V ) . 0.018 A  =  0.126 Watt o 126 mWatt     que es la potencia consumida por R.

 

Débenos seleccionar siempre una resistencia cuya potencia sea superior al calculo anterior para evitar que se queme.

 

 
Potencias comerciales

 

1/8W  0,125W
1/4W  0,250W
1/2W   0,5W
 1W  1W
 2W  2W
 3W  3W
 5W  5W
 7W  7W
 10W  10W
 15W  15W
 

 

Calcular leds en serie   o   esta pagina si tenes internet

 

Calcular Leds en Paralelo

 

Calculadora Ley de Ohm 

 

Calculadora para Capacitores

 

Calculadora de Fuente LM317

 

 ENCENDER UN LED CON ARDUINO

https://4.bp.blogspot.com/-aIQFOyX8e1M/XNGgK4oPYEI/AAAAAAAADQ4/aW0uYyMD4xIAipYpI-cnUl3pyiQ1Ha1mACEwYBhgL/s320/5.png

 void setup()      // Colocamos o escribimos aquello que debemos ejecutar una sola vez

{                    

    pinMode(13, OUTPUT);        // se inicia con el pin 13 como salida

}

 

                        

void loop()             // la funcion loop es el que se ejecuta un numero infinito de veces

{             

   digitalWrite(13, HIGH);    // se enciende el led en nivel alto

   delay(3000);                    // el led esta encendido por 1 segundo

   digitalWrite(13, LOW);     // se apaga el led

   delay(500);                      // se apaga el led por 1 segundo

}

 

EJEMPLO 2

un circuito secuencial con diodos leds, primero diseñamos el diagrama.

 

https://4.bp.blogspot.com/-qOLKtn4kj40/XNGgNOcWveI/AAAAAAAADRE/sh0TsezY89gobwYYIjhNaHTcthHLWZyOQCEwYBhgL/s320/7.png

int tiempo = 1000;               // Variable tiempo 150 milisegundos

int pin;                        // variable pin

 

void setup()

{

   for(pin = 0; pin <= 4; pin++)    // aqui agregamos el ciclo for, pines a utilizar 0,1,2,3,4

   {

     pinMode(pin, OUTPUT);          // pines del arduino 0,1,2,3,4 se configuran como salida

   }

}

 

void loop()                       // Empesamos con el secuencial con leds

{

  for(pin = 0; pin <= 4; pin++)   // los leds se encenderan y apagaran de a uno en forma creciente

{

      digitalWrite(pin, HIGH);    // los leds se encienden        

      delay(tiempo);

      digitalWrite(pin, LOW);     // los leds se apagan

      delay(tiempo);

 }

   for(pin = 4; pin >= 0; pin--)    // los leds se encenderan y apagaran forma decreciente

   {

      digitalWrite(pin, HIGH);      // los leds se encienden  

      delay(tiempo);

      digitalWrite(pin, LOW);       // los leds se apagan

      delay(tiempo);

   }

}

 

 

EJEMPLO 3

Ahora vamos a realizar una secuencia de leds muy llamativo, realizaremos unas 8 secuencias con leds, pero podríamos hacer más secuencias, esa tarea les dejo para ustedes, a continuación, les dejo el diagrama de las secuencias de leds, vamos hacer una secuencia con 12 diodos leds, como lo vemos en la siguiente imagen.

 

https://4.bp.blogspot.com/-P_Vdp9mOE0k/XNeny5H4MoI/AAAAAAAADRk/t28M79qcH_I_GNXqKegBkNEPvg7efvulACLcBGAs/s320/Untitled%2BSketch_bb.png

Código Para el secuenciador.


 

int tiempo = 90;

 

int led1 = 2;

int led2 = 3;

int led3 = 4;

int led4 = 5;

int led5 = 6;

int led6 = 7;

int led7 = 8;

int led8 = 9;

 

void setup()

{

  pinMode(led1, OUTPUT);

  pinMode(led2, OUTPUT);

  pinMode(led3, OUTPUT);

  pinMode(led4, OUTPUT);

  pinMode(led5, OUTPUT);

  pinMode(led6, OUTPUT);

  pinMode(led7, OUTPUT);

  pinMode(led8, OUTPUT);

}

 

void loop()

{

  for(byte s1 = 0; s1 < 12; s1++)             

  {

    digitalWrite(led1, HIGH);

    delay(tiempo);

    digitalWrite(led1, LOW);

   

    digitalWrite(led2, HIGH);

    delay(tiempo);

    digitalWrite(led2, LOW);

   

    digitalWrite(led3, HIGH);

    delay(tiempo);

    digitalWrite(led3, LOW);

   

    digitalWrite(led4, HIGH);

    delay(tiempo);

    digitalWrite(led4, LOW);

   

    digitalWrite(led5, HIGH);

    delay(tiempo);

    digitalWrite(led5, LOW);

   

    digitalWrite(led6, HIGH);

    delay(tiempo);

    digitalWrite(led6, LOW);

   

    digitalWrite(led7, HIGH);

    delay(tiempo);

    digitalWrite(led7, LOW);

   

    digitalWrite(led8, HIGH);

    delay(tiempo);

    digitalWrite(led8, LOW);

  }

 

  for( byte s2 = 0; s2 < 12; s2++)

  {

    digitalWrite(led8, HIGH);

    delay(tiempo);

    digitalWrite(led8, LOW);

   

    digitalWrite(led7, HIGH);

    delay(tiempo);

    digitalWrite(led7, LOW);

   

    digitalWrite(led6, HIGH);

    delay(tiempo);

    digitalWrite(led6, LOW);

   

    digitalWrite(led5, HIGH);

    delay(tiempo);

    digitalWrite(led5, LOW);

   

    digitalWrite(led4, HIGH);

    delay(tiempo);

    digitalWrite(led4, LOW);

   

    digitalWrite(led3, HIGH);

    delay(tiempo);

    digitalWrite(led3, LOW);

   

    digitalWrite(led2, HIGH);

    delay(tiempo);

    digitalWrite(led2, LOW);

   

    digitalWrite(led1, HIGH);

    delay(tiempo);

    digitalWrite(led1, LOW);

  }

 

  for( byte s3 = 0; s3 < 12; s3++)

  {

    digitalWrite(led1, HIGH);

    delay(tiempo);

    digitalWrite(led1, LOW);

   

    digitalWrite(led2, HIGH);

    delay(tiempo);

    digitalWrite(led2, LOW);

   

    digitalWrite(led3, HIGH);

    delay(tiempo);

    digitalWrite(led3, LOW);

   

    digitalWrite(led4, HIGH);

    delay(tiempo);

    digitalWrite(led4, LOW);

   

    digitalWrite(led5, HIGH);

    delay(tiempo);

    digitalWrite(led5, LOW);

   

    digitalWrite(led6, HIGH);

    delay(tiempo);

    digitalWrite(led6, LOW);

   

    digitalWrite(led7, HIGH);

    delay(tiempo);

    digitalWrite(led7, LOW);

   

    digitalWrite(led8, HIGH);

    delay(tiempo);

    digitalWrite(led8, LOW);

   

    digitalWrite(led7, HIGH);

    delay(tiempo);

    digitalWrite(led7, LOW);

   

    digitalWrite(led6, HIGH);

    delay(tiempo);

    digitalWrite(led6, LOW);

   

    digitalWrite(led5, HIGH);

    delay(tiempo);

    digitalWrite(led5, LOW);

   

    digitalWrite(led4, HIGH);

    delay(tiempo);

    digitalWrite(led4, LOW);

   

    digitalWrite(led3, HIGH);

    delay(tiempo);

    digitalWrite(led3, LOW);

   

    digitalWrite(led2, HIGH);

    delay(tiempo);

    digitalWrite(led2, LOW);

  }

 

  for( byte s4 = 0; s4 < 12; s4++)

  {

    digitalWrite(led1, HIGH);

    digitalWrite(led2, HIGH);

    digitalWrite(led3, HIGH);

    digitalWrite(led4, HIGH);

    delay(100);

    digitalWrite(led1, LOW);

    digitalWrite(led2, LOW);

    digitalWrite(led3, LOW);

    digitalWrite(led4, LOW);

    delay(100);

    digitalWrite(led1, HIGH);

    digitalWrite(led2, HIGH);

    digitalWrite(led3, HIGH);

    digitalWrite(led4, HIGH);

    delay(100);

    digitalWrite(led1, LOW);

    digitalWrite(led2, LOW);

    digitalWrite(led3, LOW);

    digitalWrite(led4, LOW);

    delay(100);

    digitalWrite(led1, HIGH);

    digitalWrite(led2, HIGH);

    digitalWrite(led3, HIGH);

    digitalWrite(led4, HIGH);

    delay(100);

    digitalWrite(led1, LOW);

    digitalWrite(led2, LOW);

    digitalWrite(led3, LOW);

    digitalWrite(led4, LOW);

    delay(100);

      digitalWrite(led5, HIGH);

    digitalWrite(led6, HIGH);

    digitalWrite(led7, HIGH);

    digitalWrite(led8, HIGH);

    delay(100);

    digitalWrite(led5, LOW);

    digitalWrite(led6, LOW);

    digitalWrite(led7, LOW);

    digitalWrite(led8, LOW);

    delay(100);

    digitalWrite(led5, HIGH);

    digitalWrite(led6, HIGH);

    digitalWrite(led7, HIGH);

    digitalWrite(led8, HIGH);

    delay(100);

    digitalWrite(led5, LOW);

    digitalWrite(led6, LOW);

    digitalWrite(led7, LOW);

    digitalWrite(led8, LOW);

    delay(100);

    digitalWrite(led5, HIGH);

    digitalWrite(led6, HIGH);

    digitalWrite(led7, HIGH);

    digitalWrite(led8, HIGH);

    delay(100);

    digitalWrite(led5, LOW);

    digitalWrite(led6, LOW);

    digitalWrite(led7, LOW);

    digitalWrite(led8, LOW);

    delay(100);

  }

 

  for( byte s5 = 0; s5 < 12; s5++)

  {

    digitalWrite(led1, HIGH);

    digitalWrite(led2, HIGH);

    digitalWrite(led3, HIGH);

    digitalWrite(led4, HIGH);

    delay(500);

    digitalWrite(led1, LOW);

    digitalWrite(led2, LOW);

    digitalWrite(led3, LOW);

    digitalWrite(led4, LOW);

   

    digitalWrite(led5, HIGH);

    digitalWrite(led6, HIGH);

    digitalWrite(led7, HIGH);

    digitalWrite(led8, HIGH);

    delay(500);

    digitalWrite(led5, LOW);

    digitalWrite(led6, LOW);

    digitalWrite(led7, LOW);

    digitalWrite(led8, LOW);

  }

 

  for( byte s6 = 0; s6 < 20; s6++)

  {

    digitalWrite(led1, HIGH);

    digitalWrite(led8, HIGH);

    delay(150);

    digitalWrite(led1, LOW);

    digitalWrite(led8, LOW);

   

    digitalWrite(led2, HIGH);

    digitalWrite(led7, HIGH);

    delay(150);

    digitalWrite(led2, LOW);

    digitalWrite(led7, LOW);

   

    digitalWrite(led3, HIGH);

    digitalWrite(led6, HIGH);

    delay(150);

    digitalWrite(led3, LOW);

    digitalWrite(led6, LOW);

   

    digitalWrite(led4, HIGH);

    digitalWrite(led5, HIGH);

    delay(150);

    digitalWrite(led4, LOW);

    digitalWrite(led5, LOW);

  }

 

  for( byte s7 = 0; s7 < 20; s7++)

  {

    digitalWrite(led4, HIGH);

    digitalWrite(led5, HIGH);

    delay(150);

    digitalWrite(led4, LOW);

    digitalWrite(led5, LOW);

   

    digitalWrite(led3, HIGH);

    digitalWrite(led6, HIGH);

    delay(150);

    digitalWrite(led3, LOW);

    digitalWrite(led6, LOW);

   

    digitalWrite(led2, HIGH);

    digitalWrite(led7, HIGH);

    delay(150);

    digitalWrite(led2, LOW);

    digitalWrite(led7, LOW);

   

    digitalWrite(led1, HIGH);

    digitalWrite(led8, HIGH);

    delay(150);

    digitalWrite(led1, LOW);

    digitalWrite(led8, LOW);

  }

 

  for( byte s8 = 0; s8 < 20; s8++)

  {

    digitalWrite(led1, HIGH);

    digitalWrite(led8, HIGH);

    delay(150);

    digitalWrite(led1, LOW);

    digitalWrite(led8, LOW);

   

    digitalWrite(led2, HIGH);

    digitalWrite(led7, HIGH);

 

    delay(150);

    digitalWrite(led2, LOW);

    digitalWrite(led7, LOW);

   

    digitalWrite(led3, HIGH);

    digitalWrite(led6, HIGH);

    delay(150);

    digitalWrite(led3, LOW);

    digitalWrite(led6, LOW);

   

    digitalWrite(led4, HIGH);

    digitalWrite(led5, HIGH);

    delay(150);

    digitalWrite(led4, LOW);

    digitalWrite(led5, LOW);

   

    digitalWrite(led3, HIGH);

    digitalWrite(led6, HIGH);

    delay(150);

    digitalWrite(led3, LOW);

    digitalWrite(led6, LOW);

   

    digitalWrite(led2, HIGH);

    digitalWrite(led7, HIGH);

    delay(150);

    digitalWrite(led2, LOW);

    digitalWrite(led7, LOW);

  }

}

 

 Para bajar el archivo en formato Word presiona ACA

 

Si desea ver el video del proyecto presione Aqui

 

Para bajar el codigo Arduino de todos los proyectos selecione