Detector de movimiento con Arduino y radar de microondas RCWL-0516


¿Qué es un RCWL-0516?

El RCWL-0516 es un sensor radar de microondas por efecto dopler. Podemos usarlo en solitario, o combinado con un procesador como Arduino, para hacer un detector de movimiento.

El RCWL-0516 es una alternativa a los tradicionales detectores de movimiento infrarrojos PIR. Frente a estos, tiene ciertas diferencias, que serán una ventaja o desventaja en función de las necesidades de nuestro proyecto.

En primer lugar, los sensores PIR necesitan que el objeto que se mueva tenga una diferencia de temperatura respecto al ambiente. Por este motivo, son capaces de detectar personas, pero no objetos moviéndose. Por el contrario, el RCWL-0516 detecta cualquier objeto que se esté moviendo, independientemente de su temperatura.

Por otro lado, los sensores PIR tienen problemas de sensibilidad cuando la temperatura ambiente es alta. El RCWL-0516, por el contrario, no presenta este problema y funcionan correctamente entre -20ºC a 80ºC.

Anuncio:

En cuanto alcance de detección, el RCWL-0516 tiene un alcance mayor que los sensores PIR, pudiendo alcanzar fácilmente 5-7 metros de rango.

Finalmente, el RCWL-0516 es omnidireccional, es decir, que detecta el movimiento en 360º. Esto es una diferencia frente a los sensores PIR, que tienen un cierto “ángulo de visión”. Incluso hay versiones de PIR con un haz estrecho, por ejemplo para controlar ventanas o puertas.

Esta falta de direccionalidad del RCWL-0516 puede ser una ventaja frente a los sensores PIR si queremos detectar el movimiento en una sala. O una desventaja, por ejemplo, si queremos detectar únicamente en un pasillo, una puerta, o una ventana.

Estas diferencias hacen que el RCWL-0516 sea un buen complemento o incluso un sustituto a los sensores PIR en sistemas como alarmas, control de iluminación, o detección de presencia.

Por si a alguien le da reparo lo de “microondas”, la potencia de emisión es muy baja y, por supuesto, el RCWL-0516 es completamente seguro de operar para personas y animales.

Precio

Los RCWL-0516 son dispositivos muy baratos. Podemos encontrarlos por 0,40€ en vendedores internacionales de Ebay y Aliexpress.

¿Cómo funciona un RCWL-0516?

EL RCWL-0516 basa su sistema de detección de movimiento en el efecto doppler. Básicamente, un emisor de alta frecuencia emite una onda de 3,2GHz.

Se considera microonda toda onda electromagnética con una frecuencia de entre 0,3GHz y 30 GHz.

Al incidir sobre un objeto en movimiento la onda reflejada cambia su frecuencia. Un receptor recibe la onda reflejada en el objeto, y la combina con la onda emitida.

La diferencia entre ambas ondas es filtrada por un filtro de paso bajo, y amplificada por una etapa de transistor.

El RCWL-0516 opera a 3.3V, pero el módulo dispone de un regulador interno a 3.3V de 100mA. La tensión de alimentación es de 4 a 28V. El consumo energético normal es de 3mA.

La salida del módulo es una señal TTL de 0 a 3.3V. En caso de detección, la salida se pone a HIGH durante un tiempo de 2-3 segundos.

Esquema de montaje

El esquema eléctrico que necesitamos es el siguiente.

Que, visto desde Arduino quedaría de la siguiente forma.

Adicionalmente, el módulo incorpora de un pin CDS, que sirve para inhabilitar la salida cuando el pin CDS se pone a LOW.

También existe espacio en la placa para conectar añadir una LDR al módulo, de forma que la detección no funcione cuando hay luz (útil al emplearlo para control de iluminación).

Ejemplos de código

El código necesario para realizar la lectura es simple, y similar a la necesaria para un sensor PIR. Simplemente leemos la salida del RCWL-0516, y hacemos parpadear el LED mientras la señal esté activa.

const int LEDPin = 13;
const int RadarPin = 2;
 
void setup()
{
  pinMode(LEDPin, OUTPUT);
  pinMode(RadarPin, INPUT);
}
 
void loop()
{
  int value= digitalRead(RadarPin);
 
  if (value == HIGH)
  {
    digitalWrite(LEDPin, HIGH);
    delay(50);
    digitalWrite(LEDPin, LOW);
    delay(50);
  }
  else
  {
    digitalWrite(LEDPin, LOW);
  }
}
Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección
tutoriales de Arduino

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github.



4.6 8 votes
Article Rating

Anuncio:

Previous Interactua con el API de eWelink desde .NET con eWelinkNET
Next Cómo controlar un ESP8266 o ESP32 con API Rest, Ajax y Json
4 Comments
oldest
newest
Inline Feedbacks
View all comments
Jopapa
3 years ago

El problema que tiene es que me parece muy inestable y desde luego, usarlo en un pack junto a un esp8266 imposible porque se dispara a cada momento.

Mariano
2 years ago

Leo ocasionalmente sus entradas. Soy un aficionado de Arduino, y hace poco comencé a programar. Cada ocasión que busco algún ejemplo, me sale esta excelente pagina. Gracias por enseñar de forma desinteresada, ya que somos muchos los que queremos aprender y no tenemos los medios; o simplemente los tiempos no se acomoden para tomar clases formales. Me auto defino, como programador autodidacta de medianoche, ja ja. Saludos! Éxito y mucha salud!

Héctor Eduardo
2 years ago

¡¡EXCELENTE PÁGINA!! Que me ayuda a despejar dudas y me brinda información y conodimiento, para poder utilizar ARDUINO en mis proyectos.