「PIR(人感センサー)の使い方」という記事を2018/5にアップしました。

この記事では検知有無をLEDの点滅で表示、常時監視してないといけないということから少々不便でした、そこで今回は電子ブザーを追加して音で検知が分かるようにしました。

検知すると「ピー」と音が発生します。

電子ブザーとは

仕様など

冷蔵庫・洗濯機などの家電製品に使われているもので、DC電源(3v~7V)を加えるだけで「ピー」と鳴ります。

今回使用したのは秋月電子で以前購入したUDB-05LFPNというもので、80円です。

主な仕様

  • 動作範囲:3~7V
  • 標準電圧:5V
  • 周波数:2300±400Hz
  • 消費電流:30mA
  • サイズ:12mmΦx7.5mm

発音部品の種類としては圧電型、電磁型、電動型と種類が分かれているようで、今回したのは電磁型タイプで圧電型に比べて消費電流が多いいが、その分音圧レベルも大きいです。

村田製作所のHPに詳しく書いてありますので興味のある方は覗いてみてください。

特に、電磁型が欲しくてゲットしたわけでは無く、たまたま秋月で目に付いただけです。

確かに、使ってみると音がかなり大きくて耳障りでした。

使い方

本電子ブザーは端子が2本ですが極性があるので接続には要注意(間違えると壊れるかもと書いてある)

LEDの様に端子リード線の一方が長いのでこちらを+側に接続します、実際にはArduinoのデジタルピンに接続。

また下の画像に示す様にプラス端子表示が素子表面にマークされてます。


 

 

 

 

DC電圧を加えるだけなのでArduinoのデジタルピンに接続してHIGHレベルにするだけでOK。

ですが、前の文章に書いたようにとても大きな音です。

ということで、この様な時に使うと便利なanalogWrite()機能を使いました。

例)analogWrite(10,70);

デジタルピンD10にPWM値を70で出力。最高値255なので70/255≒30%にドロップ。

Arduino接続図

  • ブザー+端子 → D10ピン
  • ブザー-端子 → GNDピン

VR設定

  • 感度調整VR=近(左回転)方向に目いっぱい回転。
  • 延長時間調整VR=短(左回転)方向に目いっぱい回転。

感度調整VRを遠方向に設定すると人体等の発熱体が無いのに検知オンとなるような誤動作が多く実際的に使用不可。最近(左端)に設定して使うようにすると人体・動物などの発熱体を割とうまく検出してくれる。

スケッチファイル:”PIR_LED_blinkSpeed_buzzer”

 

#define LED_OUT 11
#define PIR_IN 2
#define BUZ_OUT 10

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

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

 

動作を動画撮影