En este nuevo post vamos a hablar de como hacer funcionar un relé con Arduino, en primer lugar necesitamos saber que un relé es un dispositivo que funciona como un interruptor, permitiendo la activación o des-activación de un circuito eléctrico independiente, es decir, podemos activar aparatos electrónicos de mayor voltaje y gran consumo a través de nuestros microcontroladores (como por ejemplo encender una bombilla que funciona a 220V a través de nuestro microcontrolador).
Yo para este tutorial he empleado unos relés de la casa HUI KE que funcionan a 5V y comprados por ebay a un precio muy reducido, en concreto HUI KE HK4100F-DC5V-SHG, os pongo unas imagenes y las conexiones interiores:
(http://tallerarduino.files.wordpress.com/2012/07/conexion-rele.png)
Como podéis ver estos relés son de muy reducido tamaño y perfectos para trabajar con nuestro microcontroladores, ya que funcionan a 5V, sin necesidad de disponer de fuentes externas para activar su bobina. Os dejo el esquema de conexión realizado en Fritzing y un esquemático realizado en Eagle:
(http://tallerarduino.files.wordpress.com/2012/07/conexion-fritzing.png)
(http://tallerarduino.files.wordpress.com/2012/07/conexion-eagle.png)
Como podéis ver los componentes que necesitamos para realizar el circuito de control son muy pocos:
* Relé de 5V (En este caso de la casa HUI KE, vale cualquier otro).
* Transistor BC547.
* Resistencia de 10k.
* Diodo 1N4001.
Como siempre os dejo una foto del montaje del mismo y un vídeo del funcionamiento del circuito, en esta caso la bombilla se enciendo durante un segundo y permanece apagada durante diez segundos:
(http://tallerarduino.files.wordpress.com/2012/07/2012-07-10-16-44-59.jpg)
/*Programa realizado por Javier Couto Rego "Regata" para
www.tallerarduino.wordpress.com
Encendiendo una bombilla a 220V con un Arduino y un relé
a 5V*/
int rele=8;
void setup()
{
pinMode(rele,OUTPUT);
}
void loop()
{
//Nota tenemos el relé conectado como Normalmente Abierto
//así solo se activará la carga cuando activemos la bobina
//del relé, para que funcione al revés cambiaremos el cable
//a la posición Normalmente Cerrado
digitalWrite(rele,HIGH); //Activamos la bobina del relé y encendemos la bombilla
delay(1000); //durante 1 segundo
digitalWrite(rele,LOW); //Desactivamos la bobina del relé y apagamos la bombilla
delay(10000); //durante 10 segundos
}
Fuente: Taller arduino
Me gusta, me gusta :)
Pero... Un consejo.
En el código, usa, en lugar de una variable, una constante.
const int rele=8;
sino
#define rele 8
En este código, perfectamente se podría usar #define, pero en códigos más complejos, no es recomendable. Es mejor usar const.
Lo que tengo entendido, es que #define, define una constante antes de que se compile el programa.
Es decir, si yo tengo
#define led1 8
#define led12 9
void setup()
{
pinMode(led1,OUTPUT); //El compilador, antes de compilar, reemplaza led1, por 8, y led 12, por 9. Entonces, esto resultaría en: pinMode(8,OUTPUT);
pinMode(led12,OUTPUT); //Acá se produce el error. El compilador encuentra la cadena led1 (dentro de led12) y la transforma en 8, quedando así, pinMode(82,OUTPUT);
}
Por esto, en este código no se generarían errores, pero de todas formas, es recomendable usar const.
http://arduino.cc/es/Reference/Define (http://arduino.cc/es/Reference/Define)
http://arduino.cc/es/Reference/Const (http://arduino.cc/es/Reference/Const)
HOLA!!!
Recomendacion...
Los 5 volts del arduino pueden abrir un rele, pero no muchos, por que no tiene suficiente amperaje para que funcionen varios.
Solucion, hacer un sistema con una fuente de alimentacion externa, p ej un cargador de celular.
En mi caso uso una fuente de 5 V 3 ampers y puedo abrir varios sin inconvenientes.
GRACIAS POR LEER!!!