Mikrovlnný radar Doppler

Mikrovlnný radar je vstupní modul nejen pro Arduino, který využívá Dopplerův jev k detekci pohybu. Princip funkce tedy spočívá ve vyslání detekční vlny v úhlu 180 stupňů od modulu a následném detekování ozvěny. Pokud se v měřící vzdálenosti nachází nějaký předmět či osoba, radar po detekci nastaví svůj výstup na logickou jedničku, kterou my můžeme měřit. Tento modul má však tu nevýhodu, že je nastaven tak, že po detekci drží logickou jedničku po dobu 30 vteřin a až poté znovu detekuje pohyb. S tímto problémem ale náš program počítá a je tak možné detekovat pohyb každou vteřinu. Rozsah napájecího napětí je celkem široký v rozmezí 3,3 až 20 V, klidový proud se pohybuje okolo 4 mA.

Pro úspěšné propojení mikrovlnného radaru s Arduino deskou je nutné zapojit 3 propojovací piny. Propojíme VCC s pinem D4, GND se zemí Arduina a OUT s pinem A0. Pro piny VCC a OUT lze také využít ostatní piny, ale je nutné tuto volbu provést také v ukázkovém kódu.

Ukázkový kód obsahuje na svém začátku nastavení čísel výstupního a napájecího pinu. V podprogramu setup nastavíme jako první komunikaci po sériové lince, provedeme inicializaci propojovacích pinů a jako poslední vypneme napájení radaru. Nekonečná smyčka loop pak obsahuje vytvoření pomocné proměnné pro detekování pohybu, po kterém následuje měřící část. Nejprve tedy zapneme napájení radaru po dobu 100 milisekund pro inicializaci a následně pomocí for smyčky kontrolujeme výstupní pin radaru každých 10 milisekund. Pokud je v této době detekován pohyb, nastavíme proměnnou detekce na logickou jedničku a po ukončení smyčky vytiskneme dostupné údaje. Mezi tyto údaje patří pro ukázku aktuální čas od zapnutí společně s případnou detekcí pohybu v okolí. Po vytištění těchto informací už jen vypneme napájení radaru po dobu 100 milisekund pro jeho resetování.

// Mikrovlnný radar

// nastavení čísla výstupního a napájecího pinu
#define outPin A0
#define vccPin 4

void setup() {
  // komunikace po sériové lince rychlostí 9600 baud
  Serial.begin(9600);  
  // inicializace digitálního vstupu a výstupu
  pinMode(outPin, INPUT);
  pinMode(vccPin, OUTPUT);
  // vypnutí napájení radaru
  digitalWrite(vccPin, LOW);
}

void loop() {
  // pomocná proměnná pro detekování pohybu
  bool detekce = 0;
  // zapnutí napájení radaru s pauzou 100 ms
  // pro inicializaci
  digitalWrite(vccPin, HIGH);
  delay(100);
  // for smyčka, která po dobu 800 ms kontroluje
  // výstupní pin radaru každých 10 ms, pokud je
  // detekován pohyb, nastaví proměnnou detekce na 1
  for (int i=0;i<80;i++) {
    if (digitalRead(outPin)) {
      detekce = 1;
    }
    delay(10);
  }
  // pro ukázku se každou vteřinu vytiskne
  // zpráva o počtu vteřin od zapnutí Arduina
  Serial.print("Cas od zapnuti: ");
  Serial.print(millis()/1000);
  Serial.println(" vterin.");
  // pokud byl v předchozím cyklu detekován pohyb,
  // vytiskneme informaci po sériové lince
  if (detekce == 1) {
    Serial.println("Detekce pohybu v okoli");
  }
  // vypnutí napájení radaru na 100 ms pro resetování
  digitalWrite(vccPin, LOW);
  delay(100);
}

Po nahrání ukázkového kódu do Arduino desky s připojeným mikrovlnným radarem dostaneme například tento výsledek:

Cas od zapnuti: 0 vterin.
Cas od zapnuti: 1 vterin.
Cas od zapnuti: 3 vterin.
Cas od zapnuti: 4 vterin.
Detekce pohybu v okoli!
Cas od zapnuti: 5 vterin.
Detekce pohybu v okoli!
Cas od zapnuti: 6 vterin.
Detekce pohybu v okoli!
Cas od zapnuti: 7 vterin.

Mikrovlnný radar fungující za pomoci Dopplerova jevu je zajímavým detekčním modulem, který umožňuje použít Arduino jako detektor pohybu. Můžeme tedy využít tento modul v různých zabezpečovacích systémech či detektorech přiblížení a podobně. Je však nutné zdůraznit, že při zabezpečování osob a majetku se nelze spolehnout jen na toto řešení a je vhodné ho doplnit ještě jinými specializovanými zařízeními. Důležitá vlastnost tohoto modulu je pak jeho detekční vzdálenost, která se pohybuje v rozmezí 4 až 8 metrů od modulu.

 

Seznam použitých komponent:

http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html

http://dratek.cz/arduino/1286-mikrovlnny-radar-doppler-4-8m-180-detekce-pohybu-1461007172.html

Další podobné články