Sensores PIR baratos y el Raspberry Pi – Parte 2

Rate this post

Siguiendo>

De esta manera podía adjuntar un módulo, ejecutar el script y medir el tiempo que tardó el pin de salida en volver al estado Low. Entonces pude ajustar la resistencia de corte y ajustar el tiempo de restablecimiento a mi valor preferido de una manera más controlada y precisa.

Ejemplo de Script Python

El siguiente script asume que tiene su módulo PIR conectado a la cabecera GPIO como se muestra en la Parte 1. El ejemplo utiliza GPIO7 (Pin 26).

Cortar y pegar el script de abajo en un archivo de texto y transferirlo a la Pi o descargar el script directamente usando este enlace (recomendado).

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364#!/usr/bin/python#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+py# Medir el tiempo de retención de un módulo PIR## Autor : Matt Hawkins# Fecha : 20/02/2013# Importar bibliotecas Python requeridasimportar tiempoimportar RPi.GPIO como GPIO# Usar referencias BCM GPIO# en lugar de números de pin físicosGPIO.setmode(GPIO.BCM)# Define GPIO para usar en PiGPIO_PIR = 7print “PIR Module Holding Time Test (CTRL-C to exit) “# Set pin as inputGPIO.setup(GPIO_PIR,GPIO.IN) # EchoCurrent_State = 0Previous_State = 0try:print “Waiting for PIR to settle… “# Loop until PIR output is 0while GPIO.input(GPIO_PIR)==1:Current_State = 0print ” Ready “# Loop hasta que los usuarios dejen de usar CTRL-Cwhile True :# Read PIR stateCurrent_State = GPIO.input(GPIO_PIR)if Current_State===1 and Previous_State==0:# PIR is triggeredart_time=time.time()print ” Motion detected “# Grabar estado anteriorEstado_anterior=1elif Estado_actual==0 y Estado_anterior===1:# El PIR ha regresado al estado listo parada_tiempo=tiempo.time()print ” Ready “,elapsed_time=int(stop_time-start_time)print ” (Elapsed time : ” + str(elapsed_time) + ” secs) “Previous_State=0excepto KeyboardInterrupt:print ” Quit “# Reset GPIO settingsGPIO.cleanup()

Alternativamente, el script también puede descargarse fácilmente en su Pi directamente usando esta línea de comandos :

1wget https://www.raspberrypi-spy.co.uk/archive/python/pir_2.py

El script puede ser ejecutado usando :

1sudo python pir_2.py > Módulo PIR con dos controles de corte

/div>>> de

Cuando se ejecuta el script espera a que el pin de salida vaya a Low. Al igual que en pir_1.py, imprime un mensaje en la pantalla cuando se detecta movimiento. La principal diferencia es que ahora mide el tiempo que transcurre entre que el pin de salida se pone alto y vuelve a estar bajo.

Puede utilizar un destornillador pequeño para ajustar el control de “tiempo” y aumentar o disminuir el tiempo. Una vez que haya activado el módulo, es importante que permanezca quieto para que no aumente el tiempo que la salida permanece Alta, lo que estropeará sus resultados.

Una media vuelta hará que el tiempo de restablecimiento se incremente en unos minutos, por lo que es mejor hacer ajustes en incrementos pequeños.

document.write(‘);sensores de movimiento PIR>

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *