¿Qué es un transistor? Funcionamiento, NPN, PNP y uso con Arduino
¿Qué es un transistor y cómo funciona? NPN y PNP, cálculo de resistencia de base, BC547, 2N2222A y TIP120 comparados y control de motores y relés con Arduino.
Un transistor es un componente semiconductor de tres patillas que usa una corriente pequeña para controlar otra mucho mayor. Tiene dos funciones básicas: encender y apagar una carga como un interruptor electrónico y hacer de amplificador que agranda una señal débil. Un pin de Arduino solo puede entregar con seguridad unos 20 mA; eso basta para un LED, pero no para un motor, un relé o una tira LED de 12 V. Aquí entra el transistor: con unos pocos miliamperios del pin controla cientos de miliamperios o incluso varios amperios.
El transistor fue inventado en 1947 en los Laboratorios Bell por John Bardeen, Walter Brattain y William Shockley; sustituyó a las válvulas de vacío y metió los ordenadores en nuestro bolsillo. Hoy el procesador de tu móvil tiene miles de millones de transistores diminutos, y el ATmega328P, el cerebro del Arduino, también contiene muchísimos. En este artículo aprenderás la diferencia entre NPN y PNP, qué hacen la base, el colector y el emisor, cómo calcular la resistencia de base, cómo se comparan el BC547, el 2N2222A y el TIP120, cómo controlar motores, relés y tiras LED con Arduino, ESP32 y Raspberry Pi Pico, y cómo identificar las patillas con un multímetro.

¿Qué es un transistor y cómo funciona?
Puedes imaginar un transistor como un grifo: girar la manivela requiere muy poca fuerza, pero por la tubería pasa mucha agua. En el transistor, la manivela es la corriente de base y el agua de la tubería es la corriente principal que va del colector al emisor. La relación entre ambas es la ganancia de corriente del transistor, que en las hojas de datos aparece como hFE o β (beta): IC = hFE × IB. Por ejemplo, si aplicas 0,1 mA a la base de un BC547 con una hFE de 200, por el colector pueden pasar hasta 20 mA. Para que un transistor de silicio conduzca, entre base y emisor tiene que haber unos 0,6–0,7 V; es la tensión umbral de su unión, que se comporta como un diodo. La corriente que sale por el emisor es la suma de las dos: IE = IC + IB.
| Patilla | Abreviatura | Función | ¿Dónde va en un interruptor NPN? |
|---|---|---|---|
| Base | B | Terminal de control; por aquí entra la corriente pequeña | Al pin de Arduino a través de una resistencia |
| Colector | C | Por aquí entra la corriente de la carga | Al negativo de la carga |
| Emisor | E | Por aquí sale la corriente total (IE = IC + IB) | A GND |
Diferencia entre transistor NPN y PNP
Los transistores bipolares (BJT) están formados por tres capas de semiconductor. En un transistor NPN, la fina capa P del centro es la base; cuando la base está unos 0,7 V por encima del emisor, la corriente circula del colector al emisor. En un PNP todo es al revés: el emisor va al positivo de la alimentación y, cuando la base se lleva unos 0,7 V por debajo del emisor, la corriente circula del emisor al colector. La forma fácil de recordar el símbolo es la flecha del emisor: en el NPN apunta hacia fuera y en el PNP hacia dentro. En los proyectos con Arduino el NPN es mucho más habitual, porque el emisor va directamente a GND y el transistor se activa cuando el pin está en HIGH; la carga se coloca entre el positivo y el colector. Esto se llama conmutación en el lado bajo (low-side).
| Característica | NPN | PNP |
|---|---|---|
| Flecha en el símbolo | Sale del emisor | Entra en el emisor |
| El emisor se conecta a | GND (negativo) | Positivo de la alimentación (+) |
| Para activarlo, la base está | ≈0,7 V por encima del emisor (pin HIGH) | ≈0,7 V por debajo del emisor (pin LOW) |
| Sentido de la corriente principal | Del colector al emisor | Del emisor al colector |
| Posición de la carga | Entre el positivo y el colector (lado bajo) | Entre el colector y GND (lado alto) |
| Modelos habituales | BC547, S8050, 2N2222A, BC337, TIP120 | BC557, S8550, 2N2907A, BC327, TIP125 |
Regiones de funcionamiento: corte, activa y saturación
| Región | Condición | Corriente de colector | VCE | Uso |
|---|---|---|---|---|
| Corte | VBE < ≈0,6 V, sin corriente de base | Prácticamente cero | Cercana a la tensión de alimentación | Interruptor ABIERTO |
| Región activa | VBE ≈ 0,65–0,7 V, corriente de base moderada | IC = hFE × IB | Un valor intermedio | Amplificador |
| Saturación | IB mucho mayor que IC / hFE | Limitada por la carga y la alimentación | 0,1–0,3 V (0,8–2 V en un Darlington) | Interruptor CERRADO |
Cuando usas el transistor como interruptor, lo mantienes solo en los dos extremos: totalmente apagado (corte) o totalmente encendido (saturación). La región activa intermedia es para amplificadores y no interesa en un interruptor, porque la potencia que disipa el transistor es P = VCE × IC. Un 2N2222A saturado pierde como mucho 0,3 V a 150 mA y genera solo 45 mW de calor; si a la misma corriente se queda a medio abrir y pierde 3 V, disipa 450 mW. Eso está muy cerca del límite de 625 mW del encapsulado TO-92, y el transistor se calienta tanto que no se puede tocar. Por eso, en los circuitos de conmutación siempre se da a la base corriente suficiente para llevar el transistor con seguridad a saturación.
El transistor como amplificador
Cuando el transistor trabaja en la región activa, convierte pequeños cambios en la base en cambios mayores en el colector. Por ejemplo, en un transistor con una hFE de 200, si la corriente de base sube 10 µA, la de colector sube 2 mA; en una resistencia de colector de 2,2 kΩ eso supone un cambio de tensión de 4,4 V. Los preamplificadores de micrófono, las radios y los amplificadores de audio funcionan con este principio. El circuito más habitual es el amplificador en emisor común: un divisor de tensión sitúa la base en el centro de la región activa, una resistencia en el emisor (RE) estabiliza el circuito frente a la temperatura y la ganancia de tensión es aproximadamente RC / RE, unas 10 veces con 4,7 kΩ y 470 Ω. Incluso los micrófonos electret llevan dentro un pequeño transistor (un JFET) que refuerza la señal. En los proyectos con Arduino, para amplificar señales de sensores se suelen usar circuitos integrados; para eso consulta ¿Qué es un amplificador operacional?. El resto del artículo se centra en el transistor como interruptor, que es lo que más vas a necesitar con Arduino.
Cómo conectar un transistor como interruptor a Arduino
El circuito que más usarás es un interruptor en el lado bajo con transistor NPN. El positivo de la carga (motor, bobina de relé, tira LED) va al positivo de la fuente externa y su negativo al colector del transistor. El emisor va a GND. El pin de Arduino se conecta a la base siempre a través de una resistencia, que limita tanto la corriente que sale del pin como la corriente de base. Una resistencia de 10 kΩ entre base y GND evita que el transistor se active solo mientras el pin queda flotando al arrancar o reiniciar el Arduino. Con este montaje el transistor solo abre y cierra el camino de la carga hacia GND, así que la carga puede funcionar a 12 V mientras el Arduino trabaja a 5 V.
| Conexión | Arduino Uno | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| Pin de control (entrada de la resistencia de base) | D9 (PWM) o D7 | GPIO 18 | GP15 |
| Resistencia pull-down entre base y GND | 10 kΩ | 10 kΩ | 10 kΩ |
| Emisor | GND | GND | GND |
| Colector | Negativo (−) de la carga | Negativo (−) de la carga | Negativo (−) de la carga |
| Positivo (+) de la carga | Fuente externa + (p. ej. 12 V) | Fuente externa + (p. ej. 12 V) | VBUS (5 V) o fuente externa + |
| Negativo (−) de la fuente externa | GND del Arduino (tierra común) | GND del ESP32 (tierra común) | GND de la Pico (tierra común) |
Cálculo de la resistencia de base: hFE y saturación
Para elegir la resistencia de base necesitas dos datos: la corriente que consume la carga (IC) y la hFE mínima de la hoja de datos del transistor. Incluso en el mismo modelo, la hFE varía mucho de una unidad a otra y con la temperatura y la corriente; en el BC547 va de 110 a 800. Por eso se calcula con el valor mínimo, no con el típico, y el resultado se multiplica por un margen de seguridad de entre 2 y 10. Las fórmulas son: IB = (IC / hFE) × margen y RB = (Vpin − VBE) / IB. Vpin es 5 V en el Arduino Uno y 3,3 V en el ESP32 y la Pico; VBE es de unos 0,7 V en un transistor normal y de unos 1,4 V en un Darlington como el TIP120. Un atajo muy usado es suponer una hFE de 10 para la saturación (beta forzada); las hojas de datos indican la tensión de saturación justo en esa condición.
- Calcula la corriente de la carga: un relé de 5 V con una bobina de 70 Ω consume, según la ley de Ohm, 5 / 70 ≈ 71 mA. Para el cálculo puedes usar la herramienta Ley de Ohm.
- Elige el transistor: 71 mA están muy cerca del límite de 100 mA del BC547; el 2N2222A, que soporta 600 mA, es más seguro.
- Calcula la corriente de base: con una beta forzada de 10, IB = 71 / 10 ≈ 7 mA.
- Calcula la resistencia: en el Uno, RB = (5 − 0,7) / 0,007 ≈ 614 Ω; se elige el siguiente valor normalizado, 680 Ω, y la corriente de base queda en unos 6,3 mA.
- Repite para placas de 3,3 V: en un ESP32 o una Pico, RB = (3,3 − 0,7) / 0,007 ≈ 371 Ω. Sirve el siguiente valor normalizado, 390 Ω, o el más común 470 Ω (unos 5,5 mA); sigue siendo una beta forzada de alrededor de 13.
- Comprueba: la corriente del pin debe quedar por debajo de 20 mA, la corriente máxima del transistor debe ser al menos 1,5 veces la de la carga y la potencia disipada (VCE(sat) × IC ≈ 0,2 V × 71 mA ≈ 14 mW) muy por debajo del límite del encapsulado.
| Carga (corriente) | Transistor recomendado | Arduino Uno (5 V) | ESP32 / Pico (3,3 V) |
|---|---|---|---|
| Grupo de LED, zumbador (20–50 mA) | BC547, S8050 | 2,2 kΩ (≈2 mA) | 1,2 kΩ (≈2,2 mA) |
| Bobina de relé de 5 V (70–90 mA) | 2N2222A, BC337, S8050 | 680 Ω (≈6,3 mA) | 470 Ω (≈5,5 mA) |
| Motor DC pequeño, tira LED corta (0,3–1 A) | TIP120 | 1 kΩ (≈3,6 mA) | 470 Ω (≈4 mA) |
| Más de 1,5 A (motor grande, tira LED larga) | MOSFET de nivel lógico | IRLZ44N; 220 Ω a la puerta, 10 kΩ puerta–GND | IRLB8721; 220 Ω a la puerta, 10 kΩ puerta–GND |
BC547, 2N2222A y TIP120: comparativa de transistores populares
| Modelo | Tipo / encapsulado | VCEO | IC continua | hFE | Patillaje | Uso típico |
|---|---|---|---|---|---|---|
| BC547 | NPN / TO-92 | 45 V | 100 mA | 110–800 (grupos A, B, C) | C-B-E | LED, zumbadores, conmutación de señales |
| BC557 | PNP / TO-92 | 45 V | 100 mA | 125–800 | C-B-E | Pareja PNP del BC547, conmutación en el lado alto |
| S8050 | NPN / TO-92 | 25 V | 500 mA | 85–300 (según grupo) | E-B-C | Kits de iniciación, módulos de relé |
| 2N2222A | NPN / TO-92 | 40 V | 600 mA | 100–300 (a 150 mA) | E-B-C | Relés, motores pequeños, ventiladores |
| BC337 | NPN / TO-92 | 45 V | 800 mA | 100–630 | C-B-E | Relés, grupos de LED, motores de vibración |
| TIP120 | NPN Darlington / TO-220 | 60 V | 5 A | Al menos 1000 | B-C-E | Motores DC, tiras LED, solenoides |
El patillaje se lee de izquierda a derecha con la cara plana impresa hacia ti y las patillas hacia abajo. Cuidado: el BC547 y el 2N2222A tienen el orden invertido (C-B-E y E-B-C), así que si cambias uno por otro tienes que intercambiar colector y emisor. Los 2N2222 con cápsula metálica (TO-18) y las copias de distintos fabricantes pueden tener otro orden; si dudas, compruébalo con el multímetro. El TIP120 es un transistor Darlington: lleva dentro dos transistores en cascada, por eso su ganancia es de al menos 1000 y se puede controlar directamente desde un pin de Arduino con una resistencia de 1 kΩ. El precio es una caída de 1–2 V y el calor correspondiente: a 1 A disipa alrededor de 1 W, y un encapsulado TO-220 sin disipador sube unos 60 °C por encima de la temperatura ambiente. Las placas controladoras ya hechas también están formadas por transistores: la placa ULN2003 del motor paso a paso 28BYJ-48 contiene siete Darlington, y el módulo L298N dos puentes H construidos con transistores.
Controlar un motor DC con Arduino: TIP120 y diodo flyback
Ahora vamos a regular con un potenciómetro la velocidad de un pequeño motor DC de 6–12 V. El pin PWM 9 del Arduino va a la base del TIP120 a través de una resistencia de 1 kΩ, y el motor se coloca entre el positivo de la fuente externa y el colector del TIP120; el emisor va a GND. Los extremos del potenciómetro van a 5V y GND y el cursor a A0. En paralelo con el motor, en sentido inverso, se coloca un diodo flyback o de rueda libre (1N4007 o el más rápido 1N5819): el cátodo, marcado con una franja, hacia el positivo y el otro extremo hacia el colector. La señal PWM enciende y apaga el transistor cientos de veces por segundo, y el motor gira más lento o más rápido según la tensión media.
1// TIP120 ile DC motor hız kontrolü / DC motor speed control with a TIP120
2const int MOTOR_PIN = 9; // PWM pini, 1 kΩ ile TIP120 beyzine / PWM pin, to the TIP120 base via 1 kΩ
3const int POT_PIN = A0; // potansiyometre orta ucu / potentiometer wiper
4
5void setup() {
6 pinMode(MOTOR_PIN, OUTPUT);
7 Serial.begin(9600);
8}
9
10void loop() {
11 int pot = analogRead(POT_PIN); // 0–1023
12 int speed = map(pot, 0, 1023, 0, 255); // PWM değerine çevir / convert to a PWM value
13 if (speed < 40) speed = 0; // çok düşükte motor yalnızca vızıldar / too low, the motor only hums
14 analogWrite(MOTOR_PIN, speed);
15 Serial.println(speed);
16 delay(50);
17}
Controlar un relé: relé de 5 V con un 2N2222A
Los módulos de relé ya incluyen este circuito: un pequeño transistor, una resistencia de base y un diodo flyback. Si usas un relé de 5 V suelto, montas tú el mismo circuito: la bobina del relé entre 5V y el colector del 2N2222A, un diodo 1N4007 en inverso en paralelo con la bobina y el pin D7 a la base a través de 680 Ω. El código siguiente activa el relé cuando escribes 1 en el Monitor Serie y lo suelta cuando escribes 0. Antes de conmutar 230 V con los contactos del relé, lee sin falta las normas de seguridad de ¿Qué es un módulo relé?.
1// 2N2222A ile 5 V röle sürme / Driving a 5 V relay with a 2N2222A
2const int RELAY_PIN = 7; // 680 Ω ile transistör beyzine / to the transistor base via 680 Ω
3
4void setup() {
5 pinMode(RELAY_PIN, OUTPUT);
6 digitalWrite(RELAY_PIN, LOW); // açılışta kapalı / off at startup
7 Serial.begin(9600);
8 Serial.println("1: röle açık / relay on, 0: röle kapalı / relay off");
9}
10
11void loop() {
12 if (Serial.available() > 0) {
13 char c = Serial.read();
14 if (c == '1') {
15 digitalWrite(RELAY_PIN, HIGH); // transistör doyumda, röle çeker / transistor saturated, relay pulls in
16 Serial.println("Röle açık / relay on");
17 } else if (c == '0') {
18 digitalWrite(RELAY_PIN, LOW); // transistör kesimde, röle bırakır / transistor cut off, relay releases
19 Serial.println("Röle kapalı / relay off");
20 }
21 }
22}Transistores con ESP32 y Raspberry Pi Pico
Los pines del ESP32 y de la Pico dan 3,3 V, así que debes calcular la resistencia de base para 3,3 V; una de 1 kΩ elegida para 5 V solo entrega 1,9 mA a un TIP120 con 3,3 V. El ejemplo de ESP32 siguiente sube y baja suavemente el brillo de una tira LED de 12 V con PWM en el GPIO 18. Una tira 5050 de 60 LED por metro consume unos 1,2 A por metro; para un tramo de 1 m basta un TIP120 con una resistencia de base de 470 Ω, pero no olvides un pequeño disipador. La tira LED no tiene bobina, así que no hace falta diodo flyback. El código usa las funciones ledcAttach y ledcWrite de la versión 3.x del núcleo Arduino para ESP32; la antigua versión 2.x usaba en su lugar ledcSetup y ledcAttachPin.
1// ESP32 ile 12 V LED şerit parlaklığı (TIP120) / 12 V LED strip brightness with ESP32 (TIP120)
2const int STRIP_PIN = 18; // 470 Ω ile TIP120 beyzine / to the TIP120 base via 470 Ω
3
4void setup() {
5 ledcAttach(STRIP_PIN, 1000, 8); // 1 kHz, 8 bit (0–255); çekirdek 3.x / core 3.x
6}
7
8void loop() {
9 for (int d = 0; d <= 255; d++) { // yavaşça aydınlan / fade in
10 ledcWrite(STRIP_PIN, d);
11 delay(10);
12 }
13 delay(1000);
14 for (int d = 255; d >= 0; d--) { // yavaşça karar / fade out
15 ledcWrite(STRIP_PIN, d);
16 delay(10);
17 }
18 delay(1000);
19}Controlar un transistor desde una Raspberry Pi Pico en MicroPython funciona igual. El código siguiente lee el sensor de temperatura interno del chip de la Pico; cuando la temperatura llega a 32 °C, pone en marcha un pequeño ventilador de 5 V mediante un transistor en GP15, y lo para cuando baja a 29 °C. Usar dos umbrales distintos (histéresis) evita que el ventilador se encienda y apague sin parar cerca del límite. El ventilador se alimenta desde el pin VBUS (los 5 V del USB); para un ventilador de unos 100 mA basta un BC337 o un 2N2222A con 1 kΩ, y también aquí se pone un diodo en paralelo con el ventilador. La temperatura del chip marca unos grados más que el ambiente; en un proyecto real es más preciso usar un sensor como el DS18B20.
1# Pico yonga sıcaklığına göre fan / Fan controlled by the Pico's chip temperature
2from machine import Pin, ADC
3import time
4
5fan = Pin(15, Pin.OUT, value=0) # 1 kΩ ile transistör beyzine / to the transistor base via 1 kΩ
6sensor = ADC(4) # yonga içi sıcaklık sensörü / on-chip temperature sensor
7ON_C, OFF_C = 32, 29 # açma ve kapama eşikleri / switch-on and switch-off thresholds
8
9while True:
10 v = sensor.read_u16() * 3.3 / 65535
11 temp = 27 - (v - 0.706) / 0.001721 # RP2040 veri sayfası formülü / RP2040 datasheet formula
12 if temp >= ON_C:
13 fan.value(1) # transistör iletimde, fan döner / transistor on, fan spins
14 elif temp <= OFF_C:
15 fan.value(0) # transistör kesimde, fan durur / transistor off, fan stops
16 print("{:.1f} C, fan: {}".format(temp, fan.value()))
17 time.sleep(1)Cómo identificar las patillas de un transistor con el multímetro
- Saca el transistor del circuito y pon el multímetro en el modo de prueba de diodos (símbolo del diodo).
- Deja la punta roja fija en una patilla y toca las otras dos, una tras otra, con la negra. Si las dos lecturas están entre 0,5 y 0,8 V, la patilla de la punta roja es la base y el transistor es NPN.
- Si no encuentras esa patilla, intercambia las puntas: si con la negra fija en una patilla las otras dos marcan 0,5–0,8 V, esa patilla es la base y el transistor es PNP.
- Compara las lecturas entre la base y las otras dos patillas: la ligeramente más alta (por ejemplo 0,65 V frente a 0,62 V) es el emisor y la más baja el colector. Si la diferencia es mínima, fíate de la hoja de datos.
- Entre colector y emisor debes ver OL (circuito abierto) en los dos sentidos; el sentido inverso de las medidas de base también debe marcar OL.
- Si tu multímetro tiene zócalo hFE, coloca el transistor en la ranura NPN o PNP con el patillaje que has encontrado; la pantalla mostrará la ganancia de corriente.
En los transistores Darlington como el TIP120 hay dos uniones y resistencias internas (unos 8 kΩ y 120 Ω) entre base y emisor, así que las lecturas no siguen esta regla; confirma el patillaje en la hoja de datos. Si entre colector y emisor ves una lectura casi nula en los dos sentidos, el transistor está en cortocircuito; si la base no marca nada hacia las otras patillas en ningún sentido, una unión interna se ha abierto. Para conocer a fondo las escalas del multímetro, echa un vistazo a Cómo usar un multímetro.
Ideas de proyectos con transistores
- Luz nocturna automática: cuando una LDR detecta oscuridad, enciende una tira LED de 12 V con un TIP120.
- Ventilador inteligente: a medida que sube la temperatura medida con un DHT11, aumenta la velocidad del ventilador con PWM y un transistor.
- Riego automático: cuando un sensor de humedad del suelo detecta tierra seca, pon en marcha una pequeña bomba de agua con un transistor.
- Cerradura con clave: al introducir el código correcto en un teclado matricial, abre una cerradura de solenoide de 12 V con un TIP120 y un diodo.
- Aviso silencioso: controla un motor de vibración con un BC337 para crear un dispositivo de aviso que se pueda llevar puesto.
- Alarma potente: cuando un sensor PIR detecta movimiento, haz sonar con un transistor una sirena de 12 V que un pin de Arduino no podría mover por sí solo.
Errores frecuentes y cómo solucionarlos
| Síntoma | Causa probable | Solución |
|---|---|---|
| La carga no funciona en absoluto | No hay tierra común o las patillas están al revés | Une los negativos de las fuentes y comprueba el patillaje |
| El transistor se calienta mucho | No llega a saturación (poca corriente de base) o se supera su corriente máxima | Reduce la resistencia de base o elige un transistor más potente o un MOSFET |
| El Arduino se reinicia o el transistor se rompe al parar el motor | Falta el diodo flyback | Coloca un 1N4007 o 1N5819 en inverso en paralelo con la carga, franja hacia el positivo |
| La carga funciona aunque el pin esté en LOW | Transistor quemado (cortocircuito C-E) o base al aire | Mide el transistor con el multímetro y pon 10 kΩ entre base y GND |
| El transistor PNP nunca se apaga | El emisor está a 12 V y el pin solo llega a 5 V | Controla la base del PNP con un NPN o conmuta la carga en el lado bajo con un NPN |
| El pin del Arduino se ha estropeado | Se conectó el pin directamente a la base sin resistencia | Usa siempre resistencia de base y mantén la corriente del pin por debajo de 20 mA |
| Con ESP32 o Pico la carga funciona débilmente | La resistencia se calculó para 5 V o el MOSFET no se abre del todo con 3,3 V | Calcula la resistencia de base para 3,3 V y elige un MOSFET compatible con 3,3 V |
El transistor es la clave para controlar cargas grandes con una señal pequeña, es decir, para conectar tu Arduino con el mundo real. En cuanto domines el cálculo de la resistencia de base, la tierra común y el diodo flyback, los motores, las bombas y las tiras LED dejarán de imponerte. En la app BlueGrays puedes ver paso a paso, con esquemas y código, proyectos como una luz nocturna con LDR, un zumbador, el atenuado de LED con PWM, un motor paso a paso y el control de una lámpara de 230 V.
Preguntas frecuentes
¿Para qué sirve un transistor?
Un transistor hace dos cosas básicas: funciona como interruptor electrónico que enciende y apaga una corriente grande con una pequeña, y como amplificador que hace más fuerte una señal débil. En los proyectos con Arduino se usa sobre todo para controlar cargas que un pin no puede mover por sí solo, como motores, relés, ventiladores y tiras LED.
¿Cuál es la diferencia entre un transistor NPN y uno PNP?
En un NPN el emisor va a GND y conduce cuando la base está unos 0,7 V por encima del emisor; la corriente circula del colector al emisor. En un PNP el emisor va al positivo y se activa cuando la base se lleva 0,7 V por debajo del emisor. Para conmutar una carga en el lado de GND con Arduino, el NPN es más sencillo.
¿Cómo se identifican las patillas de un transistor?
Lo más fiable es la hoja de datos: con la cara impresa hacia ti, de izquierda a derecha el orden es C-B-E en el BC547, E-B-C en el 2N2222A y B-C-E en el TIP120. Sin hoja de datos puedes encontrar la base y el tipo con la prueba de diodos del multímetro, y distinguir el emisor porque la lectura base-emisor es algo más alta que la base-colector.
¿Qué transistor uso con Arduino?
Para cargas de hasta 50 mA, como LED y zumbadores, basta un BC547. Para bobinas de relé de 5 V (70–90 mA) y motores pequeños de hasta 500 mA, usa un 2N2222A o un BC337, y para motores y tiras LED de alrededor de 1 A, un TIP120. Con corrientes mayores, un MOSFET de nivel lógico se calienta menos.
¿De cuántos ohmios debe ser la resistencia de base?
La resistencia de base se calcula con RB = (Vpin − VBE) / IB; en transistores normales, una décima parte de la corriente de la carga es un buen punto de partida para IB. Con un Arduino Uno, valores típicos son 680 Ω para un relé de 5 V, 2,2 kΩ para cargas de 20–50 mA como LED y zumbadores, y 1 kΩ para un TIP120.
¿Por qué se calienta el transistor?
El calor que genera un transistor es P = VCE × IC. Si la corriente de base es insuficiente, el transistor no se satura, se quedan varios voltios entre sus terminales y se calienta; lo mismo ocurre si la corriente de la carga supera su máximo. Reduce la resistencia de base, elige un transistor más potente o un MOSFET y usa disipador por encima de 1 A.
Proyectos para hacer después de leer esto
Ver todos los proyectos
Luz nocturna con LDR
Proyecto de luz nocturna basada en LDR que enciende automáticamente el LED cuando el ambiente se oscurece. Enseña lógica de control automático con comparación de valores umbral analógicos.

Uso del zumbador
Proyecto básico que utiliza el zumbador para emitir un sonido con una frecuencia e intervalos determinados. Enseña el uso de las funciones tone() y noTone().

ESP32 LED Fade con PWM
Cambiar el brillo del LED suavemente de 0 a max, de max a 0. Controlamos PWM con analogWrite() como en Arduino - la misma sintaxis con ESP32 Arduino Core 3.0+ funciona sin problemas. Pin definición + pinMode + analogWrite es suficiente.

Raspberry Pi Pico PWM LED Fade (Efecto Respiración, GP14)
¡El LED ya no solo parpadea — respira! 🌬️ Con el **PWM** (modulación por ancho de pulso) del Raspberry Pi Pico, el brillo sube y baja lentamente. Aprende la clase machine.PWM, duty_u16() (brillo de 16 bits 0–65535), la frecuencia PWM, bucles range() y salida tipo analógica. Base para mezcla de color RGB, control de motores, servos y buzzer.

Uso del motor paso a paso
Proyecto básico que hace girar un motor paso a paso 28BYJ-48 en el sentido de las agujas del reloj y en sentido contrario a las agujas del reloj una vuelta completa con una placa controladora ULN2003A

Bombilla 220V con Pulsador (Push)
Proyecto que controla una bombilla de 220V con un pulsador utilizando un módulo de relé. Enseña los fundamentos de la conmutación de alta tensión con relé.

Estación de riego inteligente
Sistema autónomo de riego de plantas que funciona 24/7 sin cansar Arduino con dos baterías 18650 y regulador LM2596. Gestiona automáticamente el motor de agua midiendo continuamente la humedad del sue

Iluminación Inteligente ESP32 (PIR + LDR + Relé + OLED)
¡Convierte tu pasillo, baño o despensa en iluminación inteligente con ESP32! Utilizando un sensor de movimiento PIR, un sensor de luz LDR y un módulo de relé, construimos el escenario clásico "la luz se enciende cuando se detecta movimiento en la oscuridad" — si el ambiente ya está iluminado, el movimiento NO activa la luz, ahorrando energía durante el día. La luz permanece encendida durante 30 segundos; si el movimiento continúa, el temporizador se reinicia y la luz permanece encendida más tiem

