Control de Reles mediante el GPIO

La salida – cuyo nivel lógico opera a 3.3 V – se toma del pin GPIO23, atacando directamente a la entrada de la parte LED del optoacoplador. La señal de salida GPIO23, al pasar a nivel lógico alto, activa la salida

Podemos utilizar una alimentación de +5 voltios externa para energizar la parte del relé. El esquema:

En este caso proponemos un pequeño programa en lenguaje Python

# ==========================================

# - Programa para manejo RELE de control

# ==========================================

#!/usr/bin/python

import sys

import curses

import time

import RPi.GPIO as GPIO

# ---------------------------------------------------------------

# - Rutina de configuracion de puertos en GPIO

# ---------------------------------------------------------------

def confiGPIO(param1):

GPIO.setmode(GPIO.BCM)

GPIO.setwarnings(False)

GPIO.setup(23, GPIO.OUT)

return 0

# ---------------------------------------------------------------

# #################################################

# - PROGRAMA PRINCIPAL ------------------------------------------

#

# Utiliza curses para visualizar salida a pantalla

#

# ###################################################

# ---------------------------------------------------------------

stdscr = curses.initscr()

curses.cbreak()

curses.start_color()

curses.init_pair(1, curses.COLOR_BLACK, curses.COLOR_GREEN)

hsize = curses.COLS

vsize = curses.LINES

curses.curs_set(0)

curses.noecho

stdscr.border(0)

stdscr.keypad(1)

stdscr.nodelay(1)

confiGPIO(0)

try:

stdscr.bkgd(curses.color_pair(1))

while True: # Rutina principal del programa

if (char == 81 or char == 113): # Tecla Q/q

break

if (char == 49): # Tecla 1

GPIO.output(23, True)

if (char == 50): # Tecla 2

GPIO.output(23, False)

else:

stdscr.addstr(vsize/6, (hsize/2)-18,"Control de RELE via GPIO")

stdscr.addstr((vsize/5)+2, (hsize/2)- 22,"[1] - Activa el RELE")

stdscr.addstr((vsize/5)+4, (hsize/2)- 22,"[2] - Desactiva el RELE")

stdscr.addstr(vsize-8, (hsize/2)- 18," Pulsa [Q] para salir")

stdscr.refresh()

finally:

curses.nocbreak()

stdscr.keypad(0)

curses.echo()

curses.endwin()


Este programa puede copiarse tal como está y guardarse en un fichero llamado

rele.py en nuestra Raspberry Pi.

(3) Vamos al directorio del programa y damos al fichero rele.py permisos de ejecución con

sudo chmod 777 rele.py

(4) En un terminal, desde el directorio del programa, ejecutamos (IMPORTANTE : como root)

sudo python rele.py