Página 1 de 1

Usar relé 5v desde raspberry pi

Publicado: 26 Ago 2018, 13:22
por mojisi
Hola a todos,

en principio decir que no tengo mucha experiencia con la raspberry pi y los gpio,

tengo una dudas y me gustaría si alguien sabe resolvermela, porque no la entiendo.

El caso es que tengo conectado la raspberry pi2 a una protoboard donde a través del gpio17 se enciende una led y se apaga. Hasta aqui bien.

Y lo que quiero es utilizar la salida del gpio17 para activar o desacivar el rele, pero no lo hace (Ver img_1.jpg)


Perooo, si la entrada IN1 del relé 5v, cable Naranja, lo pongo en el anodo del led si que funciona (ver Img2.jpg), y me activa y desactiva el relé 5v con el funcionamiento correcto, pero yo lo quiero utilizar sin poner el led y la resistencia.


Alguien me puede explicar del porque este funcionamiento, como debería ponerlo correctamente.

Gracias de antemano.
Saludos.

Re: Usar relé 5v desde raspberry pi

Publicado: 29 Ago 2018, 08:33
por mojisi
mojisi escribió: 26 Ago 2018, 13:22 Hola a todos,

en principio decir que no tengo mucha experiencia con la raspberry pi y los gpio,

tengo una dudas y me gustaría si alguien sabe resolvermela, porque no la entiendo.

El caso es que tengo conectado la raspberry pi2 a una protoboard donde a través del gpio17 se enciende una led y se apaga. Hasta aqui bien.

Y lo que quiero es utilizar la salida del gpio17 para activar o desacivar el rele, pero no lo hace (Ver img_1.jpg)


Perooo, si la entrada IN1 del relé 5v, cable Naranja, lo pongo en el anodo del led si que funciona (ver Img2.jpg), y me activa y desactiva el relé 5v con el funcionamiento correcto, pero yo lo quiero utilizar sin poner el led y la resistencia.


Alguien me puede explicar del porque este funcionamiento, como debería ponerlo correctamente.

Gracias de antemano.
Saludos.
Hola a todos,

en el esquema simple salida gpio17 5v gnd, imagen img1, el código que tenia apaga.py es el siguiente:

Código: Seleccionar todo

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico bajo para apagar el LED
GPIO.output(17, GPIO.LOW) 
#Finalmente liberamos todos los pines GPIO, es decir, los desconfiguramos)
GPIO.cleanup()
Esto no hacía nada. Ningún cambio en el relé.
Le he puesto la librería time, y una espera de un segundo y ya escucho el sonido del relé, cerrando el circuito entre NO2 y COM2. Aunque sólo dura 1 segundo (o lo que le ponga).

Código: Seleccionar todo

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
import time
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico bajo para apagar el LED
GPIO.output(17, GPIO.LOW) 
time.sleep(1)
#Finalmente liberamos todos los pines GPIO, es decir, los desconfiguramos)
GPIO.cleanup()
Como la linea de código

Código: Seleccionar todo

GPIO.cleanup()
inicializa los pines GPIO dejándolos en su estado inicial, he comentado esta linea y ahora el apaga.py funciona bien y se mantiene el cambio del relé todo el rato.

Código: Seleccionar todo

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
import time
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico bajo para apagar el LED
GPIO.output(17, GPIO.LOW) 
time.sleep(1)
#Finalmente liberamos todos los pines GPIO, es decir, los desconfiguramos)
#GPIO.cleanup()
Me gustaría saber si esto de comentar

Código: Seleccionar todo

GPIO.cleanup()
es buena práctica o hay otra forma de matener activo el cambio en el relé de forma permanente.

Re: Usar relé 5v desde raspberry pi

Publicado: 29 Ago 2018, 09:14
por mojisi
Me respondo a mi mismo.

Al final he quedado el código de enciende.py así:

Código: Seleccionar todo

#!usr/bin/env/ python
#enciende.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT)
try:
	#Y le damos un valor logico alto para encender el LED
	GPIO.output(17, GPIO.HIGH)

except KeyboardInterrupt:
    GPIO.cleanup()  #devuelve los pines a su estado inicial
Y el de apaga.py así:

Código: Seleccionar todo

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
GPIO.setwarnings(False)
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT)
try:
	#Y le damos un valor logico bajo para apagar el LED
	GPIO.output(17, GPIO.LOW)
except KeyboardInterrupt:
    GPIO.cleanup()  #devuelve los pines a su estado inicial

A mi me funciona, no se si a vosotros.
Si alguien ve algo raro en el código que lo diga por favor.