前回記事「PIR(人感センサー)検知でブザーを鳴らす」ではPIRを使い人体(動物)から放射される赤外線を検知しブザーを鳴らすという回路&プログラムを提供しました。

今回は前回回路のセンサー部分のみPIRからレーダーセンサーに変えたものを作ります、 このレーダーセンサーはマイクロ波を使いドップラー効果により動体検知ができることから、動体検知をするとブザーを鳴らすと同時にLED点滅速度を速くするようにしてみました。

レーダーセンサー

今回使うセンサーはRCWL-0516という型番のレーダーセンサーモジュールです。このセンサーモジュールは製造メーカー不詳で公開されている情報は全然出てきません、そんな中、個人でとても詳しく解析(いわゆるリバースエンジニアリング)している方がいらして、動作解析、回路図作成からスペアナ解析までやっていて感服ものです。

注)本記事内の技術情報はこの方(JoeDesbonnetさん)の情報を引用しております。(GitHubのサイトURLはこちらです。)

①概略仕様

  1. マイクロ波の周波数は約3.2GHz、
  2. 検出距離≒7m
  3. 検出角度≒120° (基板部品面が検出面)

②ピン配置

下の画像の左端にあるヘッダー(5極)が外部接続用になってます。

 

名称 機能
3V3 3.3VDC出力、内部搭載チップ(RCWL-9196)にてVinから生成されている。容量は100mAmax(?) 今回は使用しない。
GND 文字通りGND(グランド)
OUT 検出出力(デジタル)、検出時=HIGH、未検出時=LOW
VIN 入力電源、4~28V、今回は5VDCを入力する。
CDS CDSという名称であるが内部搭載チップ(RCWL-9196)の9ピンに接続されている、検出のEnable(H)/Disable(L)を制御する。今回は使用しない。

 

Arduinoとの接続

LED,電子ブザーの接続は前回記事「PIR(人感センサー)検知でブザーを鳴らす」と全く同じです。

 

 

 

 

Arduinoプログラム

コード自身も前回記事と全く同じです。一応、変数名、ファイル名にPIRという文字列を使用しているのでこれをLaderというような文字列には変えました。

 

#define LED_OUT 11
#define LADER_IN 2
#define BUZ_OUT 10

void setup() {
  pinMode(LED_OUT, OUTPUT);
  pinMode(LADER_IN, INPUT);
}

void loop() {
  digitalWrite(LED_OUT, HIGH);
  if (digitalRead(LADER_IN) == HIGH) {
    delay(100);
  } else {
    delay(1000);
  }
  digitalWrite(LED_OUT, LOW);
  if (digitalRead(LADER_IN) == HIGH) {
    delay(100);
  } else {
    delay(1000);
  }
  if (digitalRead(LADER_IN) == HIGH) {
    analogWrite(BUZ_OUT,100);
  } else {
    analogWrite(BUZ_OUT, 0);
  }
}