Conectar un LED directamente a un pin GPIO de Arduino o ESP32 sin resistencia es uno de los errores más comunes de los principiantes — y uno de los más caros, porque destruye el LED de forma instantánea. En esta guía te explicamos exactamente cómo calcular la resistencia correcta, con ejemplos reales y una calculadora online que hace el trabajo en segundos.
¿Por Qué un LED Necesita Resistencia?
Un LED (Diodo Emisor de Luz) tiene resistencia interna muy baja. Sin una resistencia en serie que limite la corriente, el diodo consume toda la corriente que la fuente puede entregar, lo que lo destruye en fracciones de segundo. Además, puede dañar el pin GPIO del microcontrolador, que soporta un máximo de 20-40 mA según el modelo.
La Fórmula: R = (Vs − Vf) / If
La resistencia limitadora se calcula con esta fórmula derivada de la Ley de Ohm:
- Vs — Voltaje de alimentación (5V en Arduino, 3.3V en ESP32)
- Vf — Voltaje directo del LED (forward voltage, varía según color)
- If — Corriente de operación del LED (en amperios)
El resultado es la resistencia mínima necesaria. Siempre redondea hacia arriba al valor estándar E12 más cercano.
Tabla de Resistencias Según Color de LED
| Color | Vf típico | Con Arduino 5V / 20mA | Con ESP32 3.3V / 10mA |
|---|---|---|---|
| 🔴 Rojo | 2.0 V | 150 Ω | 130 Ω |
| 🟠 Naranja | 2.1 V | 145 Ω | 120 Ω |
| 🟡 Amarillo | 2.1 V | 145 Ω | 120 Ω |
| 🟢 Verde | 2.2 V | 140 Ω | 110 Ω |
| 🔵 Azul | 3.2 V | 82 Ω | 10 Ω |
| ⚪ Blanco | 3.2 V | 82 Ω | 10 Ω |
Ejemplo Paso a Paso: LED Rojo con Arduino Uno
Datos: Arduino Uno (Vs = 5V), LED rojo (Vf = 2V), corriente deseada If = 20mA = 0.02A
Cálculo: R = (5 − 2) / 0.02 = 3 / 0.02 = 150 Ω
El valor E12 estándar más cercano es exactamente 150Ω. También puedes usar 180Ω si no tienes 150Ω — el LED brillará un poco menos pero no habrá problema.
Ejemplo: LED Azul con ESP32 (3.3V)
El ESP32 opera a 3.3V y sus pines GPIO toleran máximo 12mA (algunos modelos 40mA, pero mejor no arriesgarse). Para un LED azul o blanco (Vf ≈ 3.2V) a 5mA:
R = (3.3 − 3.2) / 0.005 = 0.1 / 0.005 = 20 Ω
Usar 22Ω (E12 más cercano). Con LEDs azul/blanco y ESP32 la diferencia de voltaje es mínima — se recomienda usar corrientes bajas (5-10mA) para no saturar el regulador interno.
¿Qué Pasa si Uso una Resistencia Mayor?
Nada malo. Una resistencia mayor reduce la corriente y por tanto el brillo del LED. Si usas 470Ω en lugar de 150Ω para un LED rojo con Arduino 5V, la corriente será: I = (5−2)/470 ≈ 6.4mA — el LED brillará más tenue pero funcionará perfectamente y durará más.
Potencia Disipada por la Resistencia
También debes verificar que la resistencia no se sobrecaliente. La potencia disipada es:
P = (Vs − Vf) × If
Para el ejemplo Arduino/LED rojo: P = (5−2) × 0.02 = 0.06W = 60mW. Una resistencia común de ¼W (250mW) soporta perfectamente.
Si P > 250mW, usar resistencia de ½W o 1W.
Calcula tu Resistencia con Nuestra Herramienta Gratuita
Ingresa el voltaje de tu fuente, el voltaje del LED y la corriente deseada. Obtén al instante la resistencia exacta, el valor E12 estándar más cercano y la potencia disipada. Compatible con Arduino 5V y ESP32 3.3V.
Calcular resistencia para LED →Código Arduino: Parpadeo de LED con Resistencia
// LED en pin 13 con resistencia de 150Ω a GND
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH); // LED encendido
delay(500);
digitalWrite(LED_PIN, LOW); // LED apagado
delay(500);
}
Conclusión
Calcular la resistencia para un LED es simple con la fórmula R=(Vs-Vf)/If. Lo más importante a recordar: nunca conectes un LED sin resistencia, y siempre verifica que la potencia disipada sea menor que la potencia nominal de la resistencia. Para el cálculo rápido, usa nuestra calculadora online gratuita.
¿Necesitas LEDs o resistencias para tu proyecto? Encuéntralos en nuestra tienda con envío a todo Chile.