Como programar un sensor de movimiento en arduino

Como programar un sensor de movimiento en arduino

Como programar un sensor de movimiento en arduino

sensor de movimiento pir con arduino pdf

En este proyecto, vamos a aprender sobre el sensor PIR y cómo se puede utilizar como un sensor de movimiento a través de la Arduino PIR Sensor Tutorial. Al pasar por este proyecto, usted puede entender cómo funciona el sensor PIR y cómo conectar un sensor PIR a Arduino.

Hemos hecho un proyecto usando Arduino, el sensor PIR y el módulo GSM llamado Sistema de Seguridad del Hogar basado en GSM usando Arduino. Si usted entiende cómo funciona un sensor PIR, entonces usted puede muchos proyectos tan interesantes e incluso más complejos.

Un sensor PIR o un sensor infrarrojo pasivo es un dispositivo electrónico que mide la luz infrarroja (IR) emitida por los objetos en su área observable. El término «pasivo» en el sensor PIR indica que el sensor en realidad no emite ninguna luz infrarroja, sino que la detecta de forma pasiva que es emitida por sus objetos circundantes.

Todo objeto con una temperatura superficial superior al cero absoluto, es decir, -2730 C, emite calor en forma de radiación infrarroja. Los seres humanos no pueden ver esta radiación, ya que las radiaciones están en la longitud de onda infrarroja.

ajuste del sensor arduino pir

Cuando te acercas a algunos lugares que las puertas se abren/cierran automáticamente, las bombillas se encienden/apagan automáticamente o las escaleras mecánicas se activan automáticamente, ¿te has hecho alguna vez una pregunta: «¿Cómo puede hacer eso?» ? Si es así, este tutorial no sólo responde sino que también te dice cómo hacerlo. ¡Empecemos!

El sensor PIR HC-SR501 es un sensor que puede detectar el movimiento de personas (o animales). Es ampliamente utilizado para detectar la presencia de humanos en muchas aplicaciones (encender/apagar automáticamente la bombilla, abrir/cerrar la puerta, activar/desactivar la escalera mecánica, detectar un intruso…)

El vídeo anterior ilustra cómo funciona en principio el sensor de movimiento. En la práctica, el sensor de movimiento funciona un poco diferente, dependiendo de la configuración del sensor (descrita en la sección Usos avanzados)

El sensor en sí NO detecta la presencia de personas, el sensor sólo detecta el movimiento. Utilizamos Arduino (o MCU) para deducir la presencia de humanos basándonos en la detección de movimiento del sensor, de acuerdo con la siguiente regla:

descarga de la librería del sensor pir de arduino

Tengo un Arduino configurado con múltiples sensores imprimiendo al puerto serie. Inicialmente, tenía el sensor PIR implementado con varios retardos incorporados para que no enviara el mensaje de movimiento detectado. Sin embargo, la función delay(), por supuesto, pausa todo el código e interfiere con los otros sensores.

La idea general es utilizar el software para minimizar los falsos positivos también. He intentado utilizar la función millis() para controlarlo, pero no he tenido mucho éxito. Probablemente es una solución muy simple y no la veo.

Sé que esto es absolutamente incorrecto, ya que creo que la forma en que su conjunto ahora el bucle nunca se introducirá. He probado otras estructuras, pero no veo lo que tengo que hacer. ¿Es esta una situación en la que tendría que construir una máquina de estado esencialmente? ¡Cualquier ayuda para pensar en esto sería apreciada!

Estás cerca. Sólo tienes que establecer previousMillis en alguna parte. ¿Cuál es el punto de inicio de tu temporización? Es cuando el sensor PIR detecta el movimiento por primera vez. ¿No es así? O dicho de otro modo, quieres cronometrar desde la última vez que no detectó movimiento. Así que agrega una línea para que si el PIR no ve ningún movimiento entonces establece previousMillis a millis(). De esta manera, cada vez que detecte movimiento, previousMillis tendrá el último tiempo en el que no lo hizo.

proyecto de sensor de movimiento arduino

Antes del setup(), creamos una variable para almacenar el estado actual del sensor. Se llama int porque es un número entero, o cualquier número entero (aunque sólo usaremos los valores 0 y 1, LOW y HIGH).void setup()

Dentro del setup, los pines se configuran usando la función pinMode(). El pin 2 se configura como entrada, para que podamos «escuchar» el estado eléctrico del sensor. El pin 13 se configura como salida para controlar el LED. Para poder enviar mensajes, el Arduino abre un nuevo canal de comunicación serie con Serial.begin(), que toma un argumento de tasa de baudios (a qué velocidad comunicar), en este caso 9600 bits por segundo.void loop()

Todo lo que va después de una serie de barras // es un comentario, sólo para que lo leamos los humanos, y no se incluye en el programa cuando el Arduino lo ejecuta. En el bucle principal, una función llamada digitalRead(); comprueba el estado del pin 2 (que será 5V aka HIGH o tierra aka LOW), y almacena ese estado en la variable sensorState que creamos al principio. // comprueba si el pin del sensor está ALTO. si lo está, establece el

Acerca del autor

admin

Ver todos los artículos