Lección 1.14: Relé
Un relé deja que una señal de 5 V gobierne otro circuito completamente separado: otra fuente, otra tensión, otra corriente. Es el puente entre el Arduino y las cargas que no puede manejar por sí mismo.
Material
Cómo funciona
Dentro hay una bobina y un contacto móvil. Al pasar corriente, la bobina se convierte en un electroimán y mueve el contacto de NC (normalmente cerrado) a NO (normalmente abierto). Se oye un clic en cada cambio.
La bobina de un relé de 5 V consume unos 70–90 mA, demasiado para un pin. Un transistor NPN hace de intermediario: el pin solo aporta la pequeña corriente de base, y el transistor deja pasar la de la bobina.
Al cortar la corriente, la bobina genera un pico de tensión inverso capaz de destruir el transistor. Un diodo en paralelo con la bobina, con el cátodo hacia el positivo, le da un camino seguro.
Los contactos del relé están aislados del circuito de control: por eso aquí no hace falta unir los GND. En este curso se usan solo con tensiones bajas; no conectes nunca la red eléctrica (110–230 V) en una protoboard.
Conexiones
| Componente | Se conecta a | Nota |
|---|---|---|
| Transistor, base | Pin 7 | A través de una resistencia de 1 kΩ |
| Transistor, emisor | GND | |
| Transistor, colector | Relé, bobina (terminal 1) | |
| Relé, bobina (terminal 2) | 5V | |
| Diodo | En paralelo con la bobina | Cátodo (la banda) hacia 5V |
| Relé, COM | Raíl de 5V del módulo de alimentación | |
| Relé, NO | Motor, terminal 1 | |
| Motor, terminal 2 | Raíl GND del módulo de alimentación |
Código
// Activa el relé dos segundos de cada cuatro.
const int RELAY_PIN = 7;
void setup() {
pinMode(RELAY_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(RELAY_PIN, HIGH); // el transistor conduce: bobina activa
Serial.println("Relé activado: motor en marcha");
delay(2000);
digitalWrite(RELAY_PIN, LOW);
Serial.println("Relé en reposo: motor parado");
delay(2000);
}Qué hace el código
- El programa no sabe que hay un relé: pone un pin a HIGH o a LOW, igual que con un LED. Todo el trabajo lo hace el circuito.
- Con HIGH en la base el transistor conduce, y la corriente de la bobina pasa de 5V a GND a través de él.
- Las pausas de dos segundos respetan al relé: sus contactos tardan unos milisegundos en moverse y no está hecho para conmutar cientos de veces por segundo.
- Si usas un módulo de relé en lugar del relé suelto, comprueba si se activa con HIGH o con LOW: muchos funcionan al revés.
Paso a paso
- Identifica las patas del transistor en su hoja de datos, y las del relé: dos de bobina, COM, NO y NC.
- Monta el circuito de control: pin 7, resistencia, transistor, bobina y diodo.
- Monta aparte el circuito de carga con el módulo de alimentación: COM, NO y el motor.
- Sube el código y abre el monitor serie a 9600 baudios.
Resultado
Cada dos segundos el relé hace clic y el motor arranca o se para, aunque se alimenta de una fuente distinta a la del Arduino.
Si no funciona
- Si oyes el clic pero el motor no arranca, la carga está en NC en lugar de en NO, o el módulo de alimentación está apagado.
- Si no hay clic, revisa el transistor: con las patas en otro orden no conduce.
- Si la placa se reinicia o el transistor se calienta al conmutar, falta el diodo o está al revés.