Doppler-radarmodule RCWL-0516 op de Arduino

FunduinoLaatst bijgewerkt op

Bewegungen mit dem Doppler-Radar erkennen und einen Alarm auslösen

Das RCWL-0516 erkennt Bewegungen per Radar – über den Doppler-Effekt. Es ist sehr empfindlich und deckt einen Bereich von rund 5 bis 7 Metern ab.

In dieser Anleitung schließt du das Modul an, liest seinen Bewegungsstatus am seriellen Monitor mit und lässt anschließend einen Piezo-Lautsprecher Alarm schlagen, sobald sich etwas bewegt.

Doppler-Radar-Modul RCWL-0516 am Rand eines Steckbretts
Die Antenne muss über den Rand des Steckbretts hinausragen

So funktioniert das RCWL-0516

Das RCWL-0516 ist ein hochempfindlicher Radarsensor mit einem Erkennungsbereich von ungefähr 5 bis 7 Metern. Laut Datenblatt des Herstellers umfasst der Wirkungsbereich etwa 120°. Im Selbsttest hat das Modul sogar Bewegungen in einem Umkreis von bis zu 200° erkannt und verwertet.

Seinen Namen hat das Modul vom Doppler-Effekt, auf dem seine Radartechnik beruht. Vereinfacht gesagt misst das Radar die Frequenzänderung zwischen gesendetem und reflektiertem Signal und erkennt so, ob und wie schnell sich ein Objekt nähert oder entfernt. Dieselbe Technik steckt zum Beispiel in Radarfallen. Mehr dazu findest du im Artikel zum Doppler-Effekt bei Wikipedia.

Das Modul ist einfach zu verwenden, weil seine interne Elektronik die gemessene Bewegung bereits auswertet. Erkennt es eine Bewegung, gibt es am Pin OUT für etwa 2 Sekunden ein HIGH-Signal aus. Danach fällt das Signal wieder auf LOW, und das Modul kann erneut auslösen. Dieses Signal wertest du mit dem Mikrocontroller aus.

Achtung: Liegt die Antenne auf oder an einer metallischen Oberfläche, sinkt die Reichweite auf etwa 10 Zentimeter. Stecke das Modul deshalb nicht mittig auf das Steckbrett – die Antenne muss, wie auf dem Foto, über den Rand hinausragen.

Doppler-Radar-Modul RCWL-0516 am Rand eines Steckbretts
Die Antenne muss über den Rand des Steckbretts hinausragen

Pinbelegung

Das Modul hat fünf Pins. Drei davon brauchst du:

  • VIN – an den 5V-Pin des Mikrocontrollers
  • GND – an den GND-Pin des Mikrocontrollers
  • OUT – an einen digitalen Pin des Mikrocontrollers, in den Sketches Pin 8
  • 3V3 – bleibt frei
  • CDS – bleibt frei

Übungsaufgabe 1: Bewegungsstatus am seriellen Monitor

Zuerst liest du den Bewegungsstatus einfach am seriellen Monitor mit.

Erscheint dort eine 0, wurde keine Bewegung erkannt. Bei einer 1 hat das Modul eine Bewegung erfasst. Mit diesem kurzen Sketch siehst du sofort, ob dein Aufbau stimmt und wie das Modul reagiert.

Übungsaufgabe 1: Bewegungsstatus auslesen
int Radarmodul = 8;
int WERT;

void setup()
{
  Serial.begin(9600);
  pinMode(Radarmodul, INPUT);
}

void loop()
{
  WERT = digitalRead(Radarmodul);
  Serial.println(WERT);
  delay(100);
}

Übungsaufgabe 2: Alarmton auslösen

Jetzt nutzt du die Daten des Radarsensors, um einen „Alarm“ in Form eines Tonsignals auszulösen. Dafür erweiterst du die Schaltung um einen Piezo-Lautsprecher an Pin 7.

Erkennt das Modul eine Bewegung, piepst der Lautsprecher eine Sekunde lang. Danach bleibt er fünf Sekunden still, bevor der Sketch wieder von vorn beginnt.

Schaltplan: RCWL-0516 und Piezo-Lautsprecher am Arduino UNO
Schaltplan für Übungsaufgabe 2: Radarmodul an Pin 8, Piezo-Lautsprecher an Pin 7
Übungsaufgabe 2: Alarmton bei Bewegung
int Radarmodul = 8;   // OUT des Radarmoduls an Pin 8 des Mikrocontrollers
int Piepser = 7;      // "+" des Piezo-Lautsprechers an Pin 7
int WERT;             // Variable für den Messwert

void setup()
{
  Serial.begin(9600);
  pinMode(Radarmodul, INPUT);
  pinMode(Piepser, OUTPUT);
}

void loop()
{
  WERT = digitalRead(Radarmodul);
  Serial.println(WERT);

  if (WERT > 0)
  {
    digitalWrite(Piepser, HIGH);  // Schalte den Piezo-Lautsprecher an.
    delay(1000);                  // Warte 1000 Millisekunden. (Es piepst)
    digitalWrite(Piepser, LOW);   // Schalte den Piezo-Lautsprecher aus.
    delay(5000);                  // Warte 5000 Millisekunden. Danach beginnt der Loop erneut.
  }
}
Handleiding beoordelen

Opmerkingen

Stel een vraag of deel je ervaring

Neem contact met ons op als iets niet werkt. Vermeld daarbij je board en de foutmelding.

We controleren elke reactie voordat deze wordt gepubliceerd. Je e-mailadres blijft bij ons.