CONTENIDO ►
Sensor de presencia Arduino. Veremos cómo conectar el sensor PIR (HC-SR501) al Arduino (sensor de movimiento infrarrojo piroeléctrico) y consideraremos un programa para encender automáticamente la luz LED que se iluminará cuando se detecte movimiento en la habitación. También veremos la función Arduino millis en C++, que suele ser necesaria en los programas para crear un microcontrolador Arduino Uno multitarea.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensor de movimiento (HC-SR501);
- placa de pruebas;
- LEDs y resistencias de 220 Ohm;
- cables de conexion.
Funcionamiento del sensor de movimiento Arduino

En este artículo, consideraremos el dispositivo de un sensor de movimiento (HC-SR501), su esquema de conexión a Arduino UNO y montaremos un interruptor de luz automático basado en él. El módulo sensor PIR consiste en un elemento piroeléctrico bajo una lente de Fresnel de plástico, una pieza cilíndrica con un cristal rectangular en el centro, que detecta el nivel de radiación infrarroja y lo transmite a través de sí mismo.
Los detectores de movimiento PIR tienen un diseño casi idéntico. El rango de sensibilidad de los sensores PIR para Arduino es de hasta 6 metros y el ángulo de visión es de 110° x 70°. La alimentación es de 5 voltios y la señal de salida digital tiene un valor de 0 cuando no hay movimiento y un valor de 1 cuando hay movimiento. Los elementos sensores están instalados en una carcasa impermeable que los protege de la humedad y la temperatura.
Conectar sensor de movimiento Arduino

La asignación de pines de los detectores de movimiento puede variar de un fabricante a otro, pero hay una etiqueta junto a los pines. Por lo tanto, estudie bien el módulo antes de conectarlo. Una salida va a GND, la segunda a la alimentación de 5 voltios (VCC) y la tercera salida (OUT) toma la señal digital del sensor de presencia para Arduino. Monta el circuito como se muestra en la imagen anterior, conecta el LED y carga el código.
Programa Arduino sensor de presencia
#define PIR 2 #define LED 13 void setup() { pinMode(PIR, INPUT); pinMode(LED, OUTPUT); } void loop() { int pirVal = digitalRead(PIR); if (pirVal == HIGH) { digitalWrite(LED, HIGH); delay(1000); } else { digitalWrite(LED,LOW); delay(1000); } }
Explicación del código del sensor de presencia Arduino:
- utilizando la directiva #define para los puertos 2 y 13 hemos asignado los nombres correspondientes a PIR y LED en el programa;
- la doble igualdad if (pirVal == HIGH), que es un operador de comparación, se utiliza en el operador if del lenguaje de programación Arduino.

Programa Arduino sensor de movimiento y LED
#define PIR 2 #define LED 12 unsigned long counttime; void setup() { pinMode(PIR, INPUT); pinMode(LED, OUTPUT); } void loop() { if (digitalRead(PIR) == HIGH) { digitalWrite(LED, HIGH); counttime = millis(); } if (digitalRead(PIR) == LOW && millis() - counttime > 60000) { digitalWrite(LED, LOW); } }
Explicación del código del sensor de movimiento Arduino:
- con la función counttime = millis(); empezamos a contar el tiempo, mientras el microcontrolador sigue realizando otros cálculos en el código;
- en el primer boceto, el LED se apagaba inmediatamente después de la señal LOW del sensor PIR, pero ahora contamos 1 minuto hasta que la luz se apague.
Conclusión. Hoy en día, a nadie le sorprende que la iluminación de las entradas de las viviendas se encienda automáticamente cuando aparece una persona. La mayoría de los dispositivos de iluminación están equipados con sensores de movimiento pasivos (PIR). En este artículo, hemos considerado el dispositivo sensor de movimiento, su esquema de conexión a Arduino Uno y hemos montado un interruptor de luz automático.
FAQ (Frequently Asked Question)
¿Cómo ajustar el sensor de movimiento HC-SR501?
Hay dos resistencias de ajuste en el sensor de presencia hc-sr501. Una ajusta el tiempo de funcionamiento tras el disparo (MIN tiempo MAX), la segunda resistencia ajusta la sensibilidad del sensor (MIN MAX). Girando las resistencias en el sentido de las agujas del reloj o en sentido contrario a las agujas del reloj puede disminuir o aumentar los ajustes deseados.
¿Cómo funciona el sensor de movimiento para encender la luz?
El sensor de presencia reacciona ante la aparición de un objeto en el campo de visión del sensor y transmite una señal a un dispositivo como, por ejemplo, un microcontrolador, un dispositivo de iluminación o un sistema de alarma. HC-SR501 pertenece a los sensores de movimiento por infrarrojos (piroeléctricos). Cualquier objeto, incluido el cuerpo humano, es una fuente de radiación infrarroja. El principio de funcionamiento del sensor de movimiento hc-sr501 es que no reacciona a la radiación IR de una persona, sino a los cambios en la radiación IR de fondo.

Deja una respuesta