Skip to main content

Grove - Sensor de Movimiento PIR

pir

Este sensor te permite detectar movimiento, generalmente movimiento humano en su rango. Simplemente conéctalo al Grove - Base shield y prográmalo, cuando alguien se mueva en su rango de detección, el sensor emitirá HIGH en su pin SIG.

pir

Características

  • Interfaz compatible con Grove
  • Distancia de detección ajustable
  • Tiempo de retención ajustable
tip

Para más detalles sobre los módulos Grove, consulta Sistema Grove

Especificaciones

ParámetroValor/Rango
Voltaje de Operación3V–5V
Corriente de Operación(VCC = 3V)100uA
Corriente de Operación(VCC = 5V)150uA
Rango de Medición0.1 - 6m
Distancia de detección por defecto3m
Tiempo de Retención1 - 25s
Longitud de Onda de Trabajo7 - 14um
Ángulo de Detección120 grados

Plataformas Soportadas

ArduinoRaspberry Pi

pir

pir

caution

Las plataformas mencionadas anteriormente como compatibles son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.

Primeros Pasos

note

Si esta es la primera vez que trabajas con Arduino, te recomendamos firmemente que veas Primeros Pasos con Arduino antes de comenzar.

Jugar con Arduino

Hardware

  • Paso 1. Prepara los siguientes elementos:
Seeeduino V4.2Grove - Sensor de Movimiento PIRBase Shield

pir

pir

pir

Consigue Uno AhoraConsigue Uno AhoraConsigue Uno Ahora
  • Paso 2. Conecta Grove - PIR Motion Sensor al puerto D2 del Grove-Base Shield.

  • Paso 3. Conecta Grove - Base Shield al Seeeduino.

  • Paso 4. Conecta el Seeeduino a la PC mediante un cable USB.

pir

note

Si no tenemos Grove Base Shield, también podemos conectar directamente Grove-PIR Motion Sensor al Seeeduino como se muestra a continuación.

SeeeduinoGrove - PIR Motion Sensor
5VRojo
GNDNegro
No ConectadoBlanco
D2Amarillo

Software

  • Copia el código de abajo en Arduino IDE y súbelo. Si no sabes cómo subir el código, por favor revisa cómo subir código.
/*
macro definitions of PIR motion sensor pin
Use pin 2 to receive the signal from the module
*/
#define PIR_MOTION_SENSOR 2


void setup()
{
pinMode(PIR_MOTION_SENSOR, INPUT);
Serial.begin(9600);

}

void loop()
{
// If it detects moving people
// To know more about why digital numbers are used as boolean, check https://www.techtarget.com/whatis/definition/Boolean#:~:text=The%20Boolean%20data,1%20or%200
if(digitalRead(PIR_MOTION_SENSOR))
Serial.println("Hi,people is coming");
else
Serial.println("Watching");

delay(200);
}

note

La distancia de detección y el tiempo de retención se pueden ajustar añadiendo dos potenciómetros adicionales en la placa. Para más detalles, consulte el V1.2 Eagle a continuación. El módulo también se puede configurar como re-activable o no re-activable cambiando el puente.

El resultado debería ser así:

pir

tip

Use una tapa de puente para cortocircuitar dos pines para activar un disparador repetible o no repetible. Si usa GND y el pin 1, la combinación resulta en un disparador no repetible (predeterminado). Si usa el pin 1 y VCC, el disparador es repetible. Un disparador no repetible significa que el evento ocurre una vez dentro de un ciclo (generalmente unos pocos segundos). En el caso del ejemplo de la wiki, es un disparador no repetible.

Jugar con Codecraft

Hardware

Paso 1. Conecte un Grove - PIR Motion Sensor al puerto D2 de un Base Shield.

Paso 2. Conecte el Base Shield a su Seeeduino/Arduino.

Paso 3. Conecte Seeeduino/Arduino a su PC mediante un cable USB.

Software

Paso 1. Abra Codecraft, añada soporte para Arduino, y arrastre un procedimiento principal al área de trabajo.

note

Si esta es su primera vez usando Codecraft, vea también Guía para Codecraft usando Arduino.

Paso 2. Arrastre bloques como en la imagen de abajo o abra el archivo cdc que se puede descargar al final de esta página.

pir

Suba el programa a su Arduino/Seeeduino.

success

Cuando el código termine de subirse, el LED se encenderá cuando la gente se acerque.

Jugar con Raspberry Pi (Con Grove Base Hat para Raspberry Pi)

Hardware

  • Paso 1. Elementos utilizados en este proyecto:
Raspberry piGrove Base Hat para RasPiGrove - PIR Motion Sensor

pir

pir

pir

Obtener UNO AhoraObtener UNO AhoraObtener UNO Ahora
  • Paso 2. Conecta el Grove Base Hat al Raspberry.
  • Paso 3. Conecta el sensor de movimiento PIR al puerto 12 del Base Hat.
  • Paso 4. Conecta el Raspberry Pi a la PC a través del cable USB.

pir

note

Para el paso 3 puedes conectar el sensor de movimiento PIR a cualquier GPIO Puerto pero asegúrate de cambiar el comando con el número de puerto correspondiente.

Software

  • Paso 1. Sigue Configuración de Software para configurar el entorno de desarrollo.
  • Paso 2. Descarga el archivo fuente clonando la biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py

  • Paso 3. Ejecuta los siguientes comandos para ejecutar el código.
cd grove.py/grove
python grove_mini_pir_motion_sensor.py 12

A continuación se muestra el código de grove_mini_pir_motion_sensor.py.


import time
from grove.gpio import GPIO


class GroveMiniPIRMotionSensor(GPIO):
def __init__(self, pin):
super(GroveMiniPIRMotionSensor, self).__init__(pin, GPIO.IN)
self._on_detect = None

@property
def on_detect(self):
return self._on_detect

@on_detect.setter
def on_detect(self, callback):
if not callable(callback):
return

if self.on_event is None:
self.on_event = self._handle_event

self._on_detect = callback

def _handle_event(self, pin, value):
if value:
if callable(self._on_detect):
self._on_detect()

Grove = GroveMiniPIRMotionSensor


def main():
import sys

if len(sys.argv) < 2:
print('Usage: {} pin'.format(sys.argv[0]))
sys.exit(1)

pir = GroveMiniPIRMotionSensor(int(sys.argv[1]))

def callback():
print('Motion detected.')

pir.on_detect = callback

while True:
time.sleep(1)


if __name__ == '__main__':
main()

success

If everything goes well, you will be able to see the following result


pi@raspberrypi:~/grove.py/grove $ python grove_mini_pir_motion_sensor.py 12
Motion detected.
Motion detected.
Motion detected.
^CTraceback (most recent call last):
File "grove_mini_pir_motion_sensor.py", line 84, in <module>
main()
File "grove_mini_pir_motion_sensor.py", line 80, in main
time.sleep(1)
KeyboardInterrupt

Puedes salir de este programa simplemente presionando ++ctrl+c++.

Jugar con Raspberry Pi (con GrovePi_Plus)

Hardware

  • Paso 1. Prepara los siguientes elementos:
Raspberry piGrovePi_PlusGrove - PIR Motion Sensor

pir

pir

pir

Obtener Uno AhoraObtener Uno AhoraObtener Uno Ahora
  • Paso 2. Conecta el GrovePi_Plus al Raspberry.

  • Paso 3. Conecta el sensor al puerto D8 del GrovePi_Plus.

  • Paso 4. Conecta el Raspberry a la PC a través del cable USB.

pir

Software

tip

En esta wiki usamos la ruta ~/GrovePi/ en lugar de /home/pi/Desktop/GrovePi, necesitas asegurarte de que el Paso 2 y el Paso 3 usen la misma ruta.

note

Te sugerimos firmemente que actualices el firmware, o para algunos sensores podrías obtener errores.

note

Si estás usando Raspberry Pi con Raspberrypi OS >= Bullseye, tienes que usar esta línea de comandos solo con Python3.

  • Paso 3. Clona el repositorio de Github con Git.
cd ~
git clone https://github.com/DexterInd/GrovePi.git

  • Paso 4. Ejecuta los siguientes comandos para usar el Sensor de Movimiento PIR para monitorear el movimiento de personas.
cd ~/GrovePi/Software/Python
sudo python3 grove_pir_motion_sensor.py

Aquí está el código grove_pir_motion_sensor.py.

import time
import grovepi

# Connect the Grove PIR Motion Sensor to digital port D8
# SIG,NC,VCC,GND
pir_sensor = 8

grovepi.pinMode(pir_sensor,"INPUT")

while True:
try:
# Sense motion, usually human, within the target range
if grovepi.digitalRead(pir_sensor):
print 'Motion Detected'
else:
print '-'

# if your hold time is less than this, you might not see as many detections
time.sleep(.2)

except IOError:
print "Error"

El resultado debería ser como:

pi@raspberrypi:~/GrovePi/Software/Python $ sudo python3 grove_pir_motion_sensor.py

-
-
-
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
Motion Detected
-
-

Preguntas Frecuentes

P1: ¿Cómo hacer que la distancia sea ajustable?

R1: R2: se usa para ajustar la distancia de detección (el coeficiente AMP, 2MΩ). R6: se usa para ajustar el tiempo de mantenimiento (el ciclo de trabajo del disparador, 100KΩ).

La distancia de detección se puede ajustar desde 6 metros hasta solo varios centímetros. Si el potenciómetro se ajusta a un extremo, el módulo será demasiado sensible para ser activado por la atmósfera incluso cuando no hay personas moviéndose frente a él. El tiempo de mantenimiento también se puede ajustar mediante el potenciómetro Delay_time, el valor es aproximadamente de 25s a 1s.

Si R2 y R6 están soldados, asegúrese de que R13 y R14 estén vacíos.

note

Existe el riesgo de que la placa pueda ser destruida. Por favor, piénselo bien antes de hacer esta modificación.

pir

Visor de Esquemas en Línea

Recursos

Proyectos

Alarma Antirrobo con Sensor de Movimiento PIR: Este artículo explica las Alarmas Antirrobo con un Sensor de Movimiento PIR.

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarle diferentes tipos de soporte para asegurar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...