Das Doppler-Radar Modul RCWL-0516 an einem Arduino Mikrocontroller verwenden
Funktionsweise
Das Doppler-Radar Modul RCWL-0516 ist ein hochsensibler Radarsensor mit einem Erkennungsbereich von ungefähr 5-7 Metern. Dem Datenblatt des Herstellers konnten wir entnehmen, dass der Wirkungsbereich ungefähr 120° umfasst. Im Selbsttest konnte das Modul sogar Bewegungen in einem Umkreis von bis zu 200° erkennen und verwerten.
Den Namen erhielt das Modul, weil die verwendete Radar-Technologie auf dem sogenannten Dopplereffekt beruht. Grob bedeutet dies, dass das Radar die Frequenzänderung eines gesendeten und reflektiertem Signal messen kann, also erkennt, ob und wie schnell sich ein gegebenes Objekt annähert oder distanziert. Diese Technik findet man im Alltag zum Beispiel bei Radarfallen (ugs. Blitzer) wieder. Weitere Informationen zur Wirkungsweise des Doppler-Radars findest du hier.

Das Modul ist sehr einfach zu verwenden, da es über eine interne Elektronik die gemessene Bewegung auswertet und verarbeitet wird. Sobald eine Bewegung detektiert wurde, gibt das Modul für ca. 2 Sekunden eine Spannung am „OUT“ Pin aus. Dieses Signal wird dann vom Arduino Mikrocontroller verarbeitet.
Das RCWL-0516 Modul hat eine Standardauslösezeit von 2 Sekunden. Das bedeutet, dass das Modul ein HIGH-Signal ausgibt, sobald es eine Bewegung erfasst hat. Die Sensibilität für das Auslösen des Triggers kann durch die Verwendung eines Widerstandes am Output-Pin verringert werden.
Pinbelegung
Das Modul verfügt über fünf Pins und wird wie folgt am Mikrocontroller angeschlossen:
- 3V3 = kein Anschluss am Mikrocontroller notwendig
- GND = anzuschließen an den GND Pin des Mikrocontrollers
- OUT = anzuschließen an einen digitalen Pin des Mikrocontrollers (im Sketch Pin8)
- VIN = anzuschließen an den 5V Pin des Mikrocontrollers
- CDS = kein Anschluss am Mikrocontroller notwendig
Übungsaufgabe 1
Der Bewegungsstatus soll über die Ausgabe des seriellen Monitors ausgelesen werden.
Beispielsketch 1
int Radarmodul = 8;
int WERT;
void setup()
{
Serial.begin(9600);
pinMode (Radarmodul, INPUT);
}
void loop()
{
WERT = digitalRead(Radarmodul);
Serial.println(WERT);
delay(100);
}
Das Ergebnis ist am seriellen Monitor zu erkennen. Wenn hier eine „0“ erscheint, wurde keine Bewegung detektiert. Bei einer „1“ wurde eine Bewegung erkannt. Mit diesem Sketch wird die grundlegende Einsatzmöglichkeit und die Funktion des Moduls deutlich.
Übungsaufgabe 2
Jetzt soll der Arduino Mikrocontroller die Daten des Radarsensors nutzen, um einen „Alarm“ in Form eines Tonsignals auszulösen. Hierzu erweitern wir das Projekt um einen Piezo-Speaker.
Schaltplan

Beispielsketch 2
int Radarmodul = 8; // OUT des Radarmoduls an Pin 8 des Mikrocontrollers
int Piepser=7; // "+" des Piezo-Lautsprecher 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.
}
}
Funduino - Dein Onlineshop für Mikroelektronik
-
Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
-
Mehr als 2.000 Artikel sofort verfügbar!
-
Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.