Controlando relés con Raspberry Pi

Raspberrypi permite contorlar algunas partes del sistema que nos permitirán construir proyectos a medida y low cost. Esta vez toca como controlar un sencillo relé. Vamos al grano, istalamos wiringpi:

#wiringpi - The wiringPi libraries, headers and gpio command
sudo apt install -y wiringpi

El relé cuesta alrededor de 2€, para conectar el relé a la raspi debes asegurarte de que usas el gpio correcto, puedes usar este comando para ello:

root@raspberrypi:/home/pi# gpio readall
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+

Este sitio tiene un esquema de los pines que debes usar https://pinout.xyz/#. En mi caso en una rasperrypi3, use los pines (Physical, esto es fisicamente como en el esquema de arriba abajo y en pares, 1-2, 3-4…) entonces, pin 2 para los 5v, pin 6 para tierra (GND) y el pin 12 para para usar como gpio 1, el gpio sirve para enviar la señal, el número BCM es el numero designado en el chip (Broadcom 2835), que permite a la rasperry interactuar con el GPIO y por lo tanto con sus pines usando SPI y I2C. Por lo tango como se ve en la tabla de arriba el número que corresponde con el 18:

Physical | V | Mode | Name    | wPi | BCM |
.........................................
.........................................
      12 | 1 | IN   | GPIO. 1 | 1   | 18

El conexionado de un aparato eléctrico, sea una bomba de agua para tu pecera o una lámpara es el mismo, uno de los cables tiene que pasar por el relé, ojo solo un polo, no hagas cortocircuito, si tienes dudas mira el esquema o asegurate, antes, pues en elbinario.net no nos hacemos responsables si algo malo ocurriese. Tienes dos posibilidades de conexión, uno de los cables debe ir al COM (común), suele estar en el medio y otro al NC o al NO. Según cual elijas el aparato estará encendido o apagado cuando lo enchufes.

Ahora que hemos conectado todo podemos empezar a interactuar con el relé apagando y encendiendo al gusto.

# encender
root@raspberrypi:/home/pi# gpio -g mode 18 out
# apagar
root@raspberrypi:/home/pi# gpio -g mode 18 in
# si el estado del pin esta en on
root@raspberrypi:/home/pi# gpio -g mode 18 off

Ahora solo falta echarle imaginación y empezar a crear proyectos sencillos de automatización de tareas, domótica o lo que se os ocurra. Ánimo!

5 Comments

  1. Inspiración Raspberrypiniana :-)

    PD: ojo, Foo … parece haber un error tipográfico … o lo he soñado ?

    sudo apt install -y wirigpi

    o …

    sudo apt install -y wiringpi

  2. querido este escapa a todas mis capacidades. Que tal uno primero de ¿ todo lo que siempre quisiste saber de una Raspberri y no te atreviste a preguntar? O “Raspberri esa gran desconocida” Para principiantes jejejej

  3. Gracias por el tutorial me ha servido de mucha ayuda.

    tengo un pequeño problema.
    los otros tutoriales dicen que tengo que cambiar el valor a 1 o 0 dependiendo si quiero que llegue corriente a la entrada in del relé.

    a mi poner el valor no me sirve de nada, con el polimetro veo que entra o no tensión pero el rel´é sigue igual conectado, solo se me desconecta si hago lo que tu indicas cambiar la dirección a in o out.

    es culpa de relé?

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax