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
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
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.