Relés temporizados

Discusión general sobre Raspberry Pi
Responder
Kirit0
Pi Omega
Pi Omega
Mensajes: 54
Registrado: 03 Dic 2016, 20:41
Agradecido: 0
Agradecimiento recibido: 1 vez

Hola!!! :|
Estoy haciendo unas practicas para hacer un banquito de pruebas para tarjetas electrónicas para hacer medidas de resistencias conectando la placa de salidas y entradas a un polímetro.
Y bueno manejar la Rasp para activar y desactivar manualmente los relés mas o menos lo tengo controlado pero para temporizar varios relés para encender y apagar varios relés en orden cada 5 seg/10 seg no lo se y no encuentro nada en Internet o estoy buscando mal a ver si me podéis ayudar o re dirigirme a algún sitio donde poder encontrar los comandos.

GRACIAS :x
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Necesitas hacer un programa.
¿Con qué lenguaje de programación lo vas a hacer?
Kirit0
Pi Omega
Pi Omega
Mensajes: 54
Registrado: 03 Dic 2016, 20:41
Agradecido: 0
Agradecimiento recibido: 1 vez

Con Pithon.
Aunque creo que ya he encontrado la solución.

3.1. Creamos un nuevo archivo Python.
sudo nano blink.py
3.2. Importamos la librería que acabamos de instalar y declaramos los pines.
Los pines serán de salida, pues tenemos que encender LEDs. Como ya hemos hecho en el montaje, utilizaremos los GPIO 17 y 27. La forma de tratar los pines, su declaración y el encendido y apagado os recordará a Arduino.

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
## GPIO 17 como salida
GPIO.setup(27, GPIO.OUT) ## GPIO 27 como salida
3.3. Creamos una función para ejecutar el bucle que enciende y apaga los LEDs. Por si no sabéis cómo definir funciones en Python. Aquí os dejo un tutorial: Funciones en Python. La función se llamará 'blink'. Es la típica con la que se empieza en Arduino.
def blink():
print "Ejecucion iniciada..."
iteracion = 0
while iteracion < 30: ## Segundos que durara la funcion
GPIO.output(17, True) ## Enciendo el 17
GPIO.output(27, False) ## Apago el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(17, False) ## Apago el 17
GPIO.output(27, True) ## Enciendo el 27
time.sleep(1) ## Esperamos 1 segundo
Kirit0
Pi Omega
Pi Omega
Mensajes: 54
Registrado: 03 Dic 2016, 20:41
Agradecido: 0
Agradecimiento recibido: 1 vez

¿Seria así como habría que poner las funciones?

O me recomendáis otro lenguaje diferente.

luego el calculo para los 15 salidas que necesito supongo que tendré que hacer los cálculos para ver si el 1º empieza en el seg 1 y dura 10 seg tengo que programar la 2º salida a los 11 seg ¿no?
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Lo que has encontrado es lo más habitual:
- se envía una señal a un relé
- se esperan x segundos
- se envía otra señal al relé
- y vuelta a empezar

Vas a encontrar mucha ayuda y mucho código ya hecho en python, así que es buena elección.

La otra consulta, cuando elabores un pseudo-código o te hagas un esquema, verás exactamente cómo lo vas a hacer.
Con los ejemplos anteriores le dices al programa que se pause en ese punto (time.sleep) durante X segundos, y luego sigue procesándose.
Es decir, no es que se apague a los 10 segundos, a menos que tú le des la orden de apagado después del time.sleep

Si quieres, dibuja una línea de tiempo, así verás de forma más visual en qué momento tienes que poner los sleep
Kirit0
Pi Omega
Pi Omega
Mensajes: 54
Registrado: 03 Dic 2016, 20:41
Agradecido: 0
Agradecimiento recibido: 1 vez

Me pongo a ello y luego lo cuento en el post a ver como se da.

Gracias por la ayuda.
Kirit0
Pi Omega
Pi Omega
Mensajes: 54
Registrado: 03 Dic 2016, 20:41
Agradecido: 0
Agradecimiento recibido: 1 vez

Estos son los materiales que en principio necesito creo.
La idea es que por cada pin poner 2 led, Rojo positivo y Azul negativo de polimetro para poder medir todos los pines con todos como muestro en el esquemilla.
El cableado lo tengo mas o menos claro solo tengo la duda de la colocación de los led para que se encienda simultáneamente por ejemplo.

1 Rojo y 2 Azul simultáneamente encendido y a la vez que el polimetro mida desde el pin 1 con el cable de medida y pin 2 con el cable CO.

¿Que opinais? ¿Alguna corrección que se os ocurra?


Imagen
Responder