Detectores de movimiento
Los detectores de movimiento, como su nombre indica, son sensores que se utilizan para sentir movimiento. Se ven comúnmente en alarmas de seguridad y sistemas de iluminación activados por movimiento, pero se pueden usar junto con actuadores lineales para una amplia gama de aplicaciones frías. Una aplicación común de actuadores lineales Y los detectores de movimiento que se usan juntos se encuentran dentro de las casas embrujadas para los sustos de salto. Pero juntos, los actuadores lineales y los detectores de movimiento también se pueden utilizar para una amplia gama de proyectos de automatización del hogar.
Cuando piensas en los detectores de movimiento, generalmente piensas en 2 tipos:
- Infrarrojo pasivo - que mide los cambios en el calor del cuerpo (energía infrarroja) para detectar el movimiento
- Microonda - que mide las reflexiones de los objetos utilizando microondas para detectar el movimiento
Estos dos tipos de detectores de movimiento son los más comunes, ya que a menudo se usan en aplicaciones como los sistemas de seguridad. Aunque, hay muchos otros tipos de detectores de movimiento disponibles, incluidos los sensores reflectantes del área, que utiliza luz inferida, sensores de vibración y sensores ultrasónicos [1] Para su uso con aficionados y proyectos de bricolaje, el tipo de detector de movimiento más comúnmente disponible y utilizado es el sensor de movimiento infrarrojo pasivo (PIR). Debido a esto, el resto de este blog se centrará en cómo usar un detector de movimiento PIR con su actuador lineal. Si bien cada tipo de sensor tendrá implementaciones diferentes, gran parte de lo que se describe a continuación sobre cómo controlar un actuador lineal con un detector de movimiento será similar para todos los tipos de detectores de movimiento.
¿Qué pasa con los sensores de proximidad?
Los sensores de proximidad no son detectores de movimiento, ya que detectan la proximidad de un objeto en lugar de movimiento. Funcionalmente, un sensor de proximidad Puede decirle qué tan cerca está un objeto al sensor si el objeto se está moviendo o no. Mientras que los detectores de movimiento solo se activarán cuando haya movimiento independientemente de cuán cerca esté un objeto. Puede utilizar sensores de proximidad como detectores de movimiento, ya que la salida de los sensores de proximidad cambiará cuando un objeto o persona se mueva frente al sensor. Aunque, los sensores de proximidad solo detectan qué tan cerca está el objeto más cercano al sensor, por lo que si algo se moviera detrás del objeto más cercano, el sensor de proximidad no detectaría este movimiento. Si bien es posible usar un sensor de proximidad como detector de movimiento, puede no ser la mejor solución para su diseño.
Configuración de su detector PIR Motion
Si está buscando diseñar su propio robot de miedo de salto para Halloween o tener en mente otro proyecto sensible al movimiento, querrá utilizar su detector de movimiento PIR como un interruptor de entrada para determinar cuándo debe moverse su actuador lineal. Para hacer esto, querrá utilizar un microcontrolador, como un Arduino, para leer la salida de su detector de movimiento PIR y para impulsar su actuador lineal. La salida del detector de movimiento PIR es similar a un botón simple, cuando hay movimiento, el sensor enviará una señal o un voltaje alta al microcontrolador y cuando no hay movimiento enviará una señal o voltaje bajo. También es posible que desee probar su sensor PIR antes de instalarlo en su diseño, ya que algunos sensores PIR le permiten ajustar la sensibilidad del sensor para un mejor rendimiento.
Como no sabrá cuándo alguien caminará sobre su detector de movimiento, deberá leer constantemente la salida del sensor PIR en el bucle principal de su código o puede utilizar interrupciones externas. Las interrupciones externas son pines del Arduino que detectan un cambio en el voltaje y, en nuestro caso, se pueden usar para alertar al Arduino de que nuestro sensor PIR ha detectado el movimiento. Dependiendo de su aplicación, cualquiera de los métodos para leer la salida del sensor PIR es factible, aunque esta última se considera la mejor práctica, ya que garantiza que su código no se pierda ningún movimiento detectado por el sensor PIR. Si planea utilizar una interrupción externa para detectar un cambio de su detector de movimiento, deberá consultar la hoja de datos de su Arduino para garantizar qué pines de su microcontrolador se pueden usar como pines de interrupción. Si no, simplemente puede conectar la salida del sensor PIR a cualquiera de los pines de entrada digital del Arduino. El sensor PIR también deberá conectarse a una fuente de alimentación apropiada y a un terreno común.
Actuador lineal controlado por movimiento
En ambos ejemplos a continuación, el Arduino controla el actuador lineal usando un conductor de motor. Aprender a conducir un actuador lineal con un controlador de motor u otros componentes intermedios, como relevos, puedes consultar nuestra publicación en Cómo controlar un actuador lineal con un arduino. Además, ninguno de los ejemplos a continuación utiliza un Actuador lineal de retroalimentación o interruptores de límite externos en su diseño, lo que le daría más control sobre su actuador que sin. Si está interesado en cómo y qué opciones de comentarios están disponibles, puede consultar nuestra publicación sobre el tema aquí.
El ejemplo de código anterior muestra cómo configurar una interrupción en el IDE Arduino donde la interrupción se activará en el borde ascendente del pulso de voltaje. Puede configurar su interrupción para activarse en diferentes puntos en un cambio de voltaje y debe consultar la hoja de datos de su microcontrolador para determinar las opciones disponibles. Una vez que haya identificado y seleccionado un pin de interrupción apropiado, el último aspecto que debe hacer para configurar su interrupción es escribir su rutina de servicio de interrupción. La rutina de servicio de interrupción es una función simple que el código ejecutará cada vez que se active la interrupción. En nuestro caso, nuestro Detector de rutina de rutina de servicio de interrupción simplemente establece el movimiento de la bandera detectado en alto cuando se activa la interrupción.
Una vez que su Arduino ha leído la salida de su sensor PIR, ya sea utilizando una interrupción externa o simplemente leyendo la salida, cómo utiliza estos comentarios para controlar su actuador lineal dependerá de su diseño y su aplicación. Como el sensor PIR solo proporciona una retroalimentación binaria, como un botón Push, el nivel de control sobre el actuador lineal será limitado. Una forma de controlar el actuador lineal con esta retroalimentación es decirle al actuador que se mueva cada vez que se detecte el movimiento, lo que podría ser útil en aplicaciones como los sustos robóticos en una casa embrujada. El código anterior muestra cómo podría implementar este diseño. Una vez que el indicador de Detected Motion se establece en alto, extendemos el actuador lineal hacia adelante y después de 10 segundos, la bandera se restablece a baja y el actuador se retrae para el siguiente susto de salto. Como solo usamos el detector de movimiento para decirle al Arduino que alguien está allí, hacemos uso de un temporizador para restablecer la bandera y esperar a que la próxima persona pase.
Otro método es alternar entre las posiciones extendidas y retraídas del actuador lineal cada vez que se detecta el movimiento de tiempo, lo que puede ser útil en las aplicaciones de automatización del hogar. La implementación de este enfoque se muestra arriba. En la rutina de servicio de interrupción, el movimiento de la bandera detectado se alterna cada vez que el sensor PIR detecta el movimiento. Cuando la bandera se establece en alta, el actuador lineal se extiende y cuando la bandera se establece en baja, el actuador se retrae. También hemos agregado otro TimerFlag de bandera que se usa Agregar retraso de tiempo después de que se activa el detector de movimiento PIR. Este indicador se establece alto cuando la interrupción se activa primero y solo se envía bajo después del retraso de tiempo diseñado, que es un minuto en este ejemplo. También se usa para garantizar que el valor del movimiento de la bandera detectado no se alterne hasta después de este tiempo de retraso.
Referencia:
- Tross, K. (2019, octubre). La guía para principiantes para los sensores de movimiento. Recuperado de: https://www.safewise.com/resources/motion-sensor-guide/