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
- Sensor de movimiento PIR MH-SR602
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Cables de placa y jersey
- 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
- Conecte el Arduino a su computadora a través de USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
- Sube el código al Arduino haciendo clic en Subir.
- Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en
9600
. - 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
- Iluminación activada por movimiento
- Alarmas de intruso
- Automatización inteligente del hogar
- 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!