Relé + Python + Raspberry

Hola gente!!! port Hoy si, ya ha llegado el momento de hacer algo visible con nuestra Raspberry PI, algo que no se quede solamente en líneas de código sino que pase a ser una realidad, una forma de cambiar el mundo que nos rodea, que en el fondo, es lo bonito de este asunto. Hoy os voy a explicar que es, para que sirve y como utilizar un relé con un programita en Python. Vamos a ello!! El efecto que conseguiremos en este post es apagar y encender la lámpara de mi mesa desde Raspberry, no tiene una gran utilidad, pero es el primer paso para comenzar el proyecto de domotizar mi casa. Lo primero es explicar que es un relé, un relé es un dispositivo que hace de interruptor, de cortador de circuitos. Es el encargado de abrir un circuito por el cual está circulando corriente, para que deje de circular.

relay

Hay muchos tipos de relés, pero voy a explicar aquí los más utilizados:
  • Relé electromecánico: Este relé está formado por una bobina que al paso de corriente crea un campo magnético que atrae una pieza metálica, provocando el corte de electricidad. Cuando la corriente cesa, cesa también el campo magnético, la pieza vuelve a su sitio y la corriente se reestablece. Dentro de este tipo de relés hay varios subtipos, de nucleo móvil, reed, armadura, polarizado… pero se basan todos en el mismo principio, con una disposición u otra.
  • Relé de estado sólido (SSR Solid State Relay): Un relé de estado sólido es un dispositivo de conmutación electrónico en el que una pequeña señal de control controla una carga de corriente o tensión más grande. Esto se hace por medio de transistores. La diferencia fundamental con el relé electromagnético es que este no tiene partes móviles por lo que su vida útil es mucho más larga.
Yo voy a utilizar el más rústico, el relé electromecánico :) , me compré hace tiempo una plaquita (Keyes_SR1y SRD-05VDC-SL-C) en la que no solamente viene el relé, sino una serie de componentes que lo protege, vamos a ver que partes tiene: esquema Como vemos hay dos partes diferenciadas, una con la parte que irá conectada a 220V AC y otra a la que va conectada la electrónica DC. En la parte de AC vemos que hay 3 contactos, uno normalmente abierto otro normalmente cerrado y otro común, esto sirve para que, cuando el relé esté inactivo, el circuito quede abierto o cerrado. Yo lo voy a conectar en normalmente cerrado para que a pesar de tener el relé intercalado pueda encender la lámpara manualmente cuando Raspi no actúe. La parte electrónica DC hace referencia al siguiente esquema:

esq

El circuito es un circuito de potencia con el que con una señal pequeña producida por Raspi, moveremos cantidad de corriente mayor para accionar el relé. Para esto sirve el transistor, para hacer de “relé” electrónico, en este caso nos servirá para conseguir mover una cantidad de corriente suficientemente elevada como para accionar el relé, con una pequeña corriente proporcionada por los GPIO (máx 16 mA). El diodo sirve para hacer de elemento antirretorno para proteger al transistor del breve alto voltaje producido cuando el relé es desconectado. El diagrama muestra cómo un diodo de protección se conecta alrevés en paralelo al relé. La corriente que fluye a través de la bobina del relé crea un campo magnético el cual cesa en cuanto la corriente deja de circular por ella, como hemos explicado antes. Esta caída repentina del campo magnético induce sobre la bobina un breve pero alto voltaje, el cual es muy probable que dañe el transistor y la Raspi. El diodo de protección permite al voltaje inducido conducir una breve corriente a través de la bobina (y el diodo) así el campo magnético se desvanece rápidamente. Siempre es mejor prevenir que curar 😛 . A mayores aparece una resistencia y un LED, el LED simplemente es para dotar de una luz que indique que el relé está funcionando y la resistencia es la que regula la cantidad de corriente que suministrará la raspi…si no la ponemos intentaría entregar una corriente infinita lo que dañaría el transistor o el propio GPIO. El esquema de conexiones es el siguiente:

 total

 Una vez conectado todo vamos a escribir el código en Python :) . Este código va a encender y apagar la lámpara de mesa 3 veces en intervalos de 5 segundos. Para escribirlo abrimos cualquier editor de texto, yo uso kate, y guardamos el archivo como extensión .py
# importamos la librería tiempo para usar parones, y la de wiringpi

import time 
import wiringpi2

# creamos una variable inicializada con la nomenclatura de Wiring pi

io=wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS)

# establecemos el modo de operacion del pin, en este caso es de salida
# hay que utilizar la nomenclatura de Wiring pi, es MUY IMPORTANTE

io.pinMode(7,io.OUTPUT)

# Creamos el bucle de actuación

for x in range (0,3):
	io.digitalWrite(7,io.HIGH)
	time.sleep(5)
	io.digitalWrite(7,io.LOW)
	time.sleep(5)
  Para ejecutar el programa que hemos creado hacemos:
sudo python relay.py
final Espero que os haya gustado!! y a partir de aquí….the limit is the sky!! (como veo que ha habido problemas con la instalación de wiringpi para python, os dejo este tutorial más sencillo http://raspi.tv/how-to-install-wiringpi2-for-python-on-the-raspberry-pi)

3 thoughts on “Relé + Python + Raspberry

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>