Consiste e
Para diseñar se deben seguir estos pasos:
1) Si bien los LEDs comunes (de 3 mm o de 5 mm) soportan hasta 20 mA, lo ideal es hacerlos trabajar a solo 15 mA. Por otro lado los puertos directos de un microcontrolador no soportan entregar mucha corriente. Por ejemplo, una placa Arduino UNO entrega en sus pines digitales de salida una tensión de 5 V con un máximo de 40 mA. Para conectar un LED a una salida digital es necesario colocarle una resistencia en serie, de modo que por el conjunto led-resistencia circulen unos 15 mA como máximo. Por otro lado, hay un máximo en la cantidad de corriente que una Arduino puede entregar en la totalidad de sus pines, que se encuentra entre 150 y 200 mA, por lo tanto, si cada LED consume 15 mA, se podrían conectar simultáneamente como máximo 10 leds.
2) Los colores de los LEDs se consiguen utilizando distintos materiales semiconductores, por lo que intrínsecamente esos materiales determinan la caída de tensión en el LED. La siguiente tabla tiene valores típicos, y puede reproducirse haciendo circular una pequeña corriente por el LED (por ejemplo 3 mA con una resistencia de 1000 ohm) y midiendo la caída de tensión con un voltímetro.
3) Si la tensión nominal es 5 V, y prendemos un LED rojo, la resistencia serie será (5 V - 1.9 V) / 0.015 A = 207 ohms, lo que puede redondearse a una resistencia estándar de 220 ohms. En la tabla anterior se han colocado los valores típicos de resistencia para una alimentación típica de 5 Volt.
A continuación se muestra la construcción de un módulo para LED rojo usando bloques plásticos:
Prueba sensor
/*
Prende y apaga alternativamente un led conectado al puerto
digital DIO1 de la shield FSdirect.
La frecuencia es de 1 segundo.
*/
#include <FreeSensors.h>
FSdirect sh1;
int led = DIO1;
void setup() {
sh1.begin();
sh1.pinMode(led, OUTPUT);
}
void loop() {
sh1.digitalWrite(led, HIGH);
delay(500);
sh1.digitalWrite(led, LOW);
delay(500);
}
Este programa de ejemplo se encuentra incluido en la library en la ubicación examples/led