Cómo usar el sensor de movimiento PIR MH-SR602 con Arduino

How to Use the MH-SR602 PIR Motion Sensor with Arduino

El MH-SR602 es un sensor de movimiento PIR compacto (infrarrojo pasivo) utilizado para detectar el movimiento dentro de su rango. Su pequeño tamaño, bajo consumo de energía y retraso ajustable lo hacen ideal para la iluminación activada por el movimiento, las alarmas y los proyectos de IoT. En este tutorial, lo guiaremos a través de la interfaz del MH-SR602 con Arduino.


Lo que necesitarás

  1. Sensor de movimiento PIR MH-SR602
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Cables de placa y jersey
  4. Una computadora con el Arduino IDE instalado

Paso 1: Comprender el sensor MH-SR602

El MH-SR602 detecta el movimiento al detectar cambios de radiación infrarroja en sus alrededores. Cuando se detecta el movimiento, genera una señal alta; De lo contrario, sigue siendo bajo.

MH-SR602 PINOUT

Alfiler Función
VCC Fuente de alimentación (3.3V-5V)
AFUERA Señal de salida digital
Gnd Suelo

Características ajustables

  • Tiempo de retraso: El potenciómetro a bordo ajusta el tiempo que la salida permanece alta después de detectar el movimiento (aproximadamente 2-100 segundos).

Paso 2: Cableado el MH-SR602 a Arduino

Aquí le mostramos cómo conectar el sensor al Arduino:

Pin de MH-SR602 Alfiler de arduino
VCC 5V
AFUERA Pin 2
Gnd Gnd

Paso 3: cargar el código

Aquí hay un boceto de ejemplo para monitorear la detección de movimiento y mostrar el estado en el monitor en serie:

const int pirPin = 2; // Connect MH-SR602 OUT to pin 2

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("MH-SR602 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Paso 4: prueba la configuración

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Sube el código al Arduino haciendo clic en Subir.
  4. Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en 9600.
  5. Muévase dentro del rango del sensor y observe el estado de movimiento impreso en el monitor en serie.

Opcional: controlar un LED con movimiento

Puede modificar el código para encender un LED cuando se detecte el movimiento:

Cableado el LED

Alfiler Alfiler de arduino
Anodo (+) Pin 13
Cátodo (-) Gnd

Código modificado

const int pirPin = 2; // Connect MH-SR602 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("MH-SR602 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Aplicaciones del MH-SR602

  1. Iluminación activada por movimiento
  2. Alarmas de intruso
  3. Automatización inteligente del hogar
  4. Dispositivos IoT activados por la proximidad

Solución de problemas

  • No hay movimiento detectado: Asegúrese de que el sensor esté alimentado correctamente y que el potenciómetro de retraso no esté demasiado alto.
  • Falsos desencadenantes: Reduzca el ruido ambiental (por ejemplo, fuentes de calor en movimiento) y proteja el sensor de la luz solar directa.
  • Lecturas inestables: Asegure una potencia estable y evite vibraciones excesivas.

Conclusión

Has interactuado con éxito el sensor de movimiento PIR MH-SR602 con Arduino. Este sensor versátil es perfecto para la detección de movimiento en varios proyectos. ¡Experimente con características adicionales como ajustar el tiempo de retraso o integrarlo con otros componentes para aplicaciones más avanzadas!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.