モーションセンサーモジュール BYC-WB-D1(BISS0001ベース、Arduino用)
このチュートリアルでは、BISS0001 ICを搭載したBYC-WB-D1モーションセンサーモジュールをArduinoで使用する方法を紹介します。このモジュールは低消費電力の動作を目的に設計されており、セキュリティシステムや自動化プロジェクトなど、さまざまな用途に適しています。本ガイドの終わりまでには、動作を検知してブザーなどの出力をトリガーする実用的なセットアップができるようになります。いくつかの概念やコードを明確にするために、ビデオ(:00)を参照してください。
ハードウェアの解説
BYC-WB-D1モジュールは、低消費電力の動体検知ICであるBISS0001を中心に構成されています。このセンサーは、通常人や動物が放射する赤外線の変化を検出することで動作します。動きが検出されるとモジュールの出力ピンの状態が変化し、Arduinoで読み取ることができます。 通常、モジュールには3つのピンがあります: - VCC:このピンはモジュールに電源を供給し、通常はArduinoの5V出力に接続します。 - GND:グランド(接地)ピンで、ArduinoのGNDに接続します。 - OUT:動作検出時に信号を出す出力ピンで、Arduinoのデジタル入力ピンに接続してセンサーの状態を読み取ることができます。
データシートの詳細
| 製造業者 | BISS0001 |
|---|---|
| 部品番号 | BYC-WB-D1 |
| ロジック/IO電圧 | 2.7V〜12V |
| 電源電圧 | 5 V |
| 出力電流(チャネルごと) | 20 mA以下 |
| ピーク電流(チャンネルあたり) | 60 mA以下 |
| PWM周波数に関するガイダンス | 該当なし |
| 入力論理閾値 | 高レベル: > 2.5 V、低レベル: < 0.8 V |
| 電圧降下 / Rドレイン・ソースのオン抵抗(DS(on))/ 飽和 | 0.5 V 以下 |
| 熱限界 | -40°C~85°C |
| パッケージ | TO-220 |
| 備考/バリエーション | 低消費電力 |
- 電源電圧が5 Vから12 Vの範囲内にあることを確認してください。
- 出力ピンの電流制限を守って、損傷を防いでください。
- 誤動作を防ぐため、適切な接地を維持してください。
- 必要に応じて出力ピンを安定させるためにプルダウン抵抗を使用してください。
- 回路に電源を供給する前にピンの接続を再確認してください。
配線手順
BYC-WB-D1 モーションセンサーモジュールを Arduino に配線するには、次の手順に従ってください。 1. センサーの VCC ピンを Arduino の 5V ピンに接続します。これがセンサーに電源を供給します。 2. センサーの GND ピンを Arduino の GND ピンに接続して回路を完了させます。 3. センサーの OUT ピンを Arduino の デジタルピン 11 に接続します。このピンで動作検知信号を読み取ります。 接続が緩いと読み取りが不安定になったり誤動作の原因になるので、配線が確実に固定されていることを確認してください。
コード例と解説
下のコードスニペットでは、必要な変数を初期化し、モーションセンサーの出力を監視するためにシリアル通信を設定します。
int count = 0; // just counting seconds
int buzzer = 11; // pin to connect to buzzer or relay
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT); // set pin 11 as output
}
このコードはカウンター変数を初期化します。countモーションが検出されている秒数を記録します。変数buzzerピン11に設定されており、ここに出力デバイスを接続します。
次に、モーションセンサーの出力を継続的に読み取るループに入ります:
void loop() {
int v = analogRead(A0); // read the output pin of the module
if (v == LOW) {
digitalWrite(buzzer, LOW); // set buzzer pin LOW
count = 0;
} else {
count++;
digitalWrite(buzzer, HIGH); // Set buzzer pin HIGH
Serial.print(count);
Serial.println("-Detected");
}
delay(1000); // wait for 1 second
}
このループでは、プログラムがモーションセンサーの出力を読み取ります。動きが検出されない場合(すなわち、v == LOW), ブザーはオフになります。動きが検出されるとブザーが作動し、検出された秒数のカウントがシリアルモニタに表示されます。
コードとその動作をより詳しく理解するために、記事下に掲載されている完全なコードをご参照ください。
デモンストレーション/当日のご案内
配線を完了してArduinoにコードをアップロードすると、動作を検知したときにブザーが鳴るはずです。シリアルモニタには、動作が連続して検出された秒数のカウントが表示されます。センサーが動作を検知しない場合は、ブザーが止まりカウントがリセットされます。 よくある落とし穴は配線エラーで、ピンの接続間違いや電源の問題などが含まれます。常に接続を確認し、誤検出を避けるためにセンサーが適切に給電されていることを確認してください。
/*
* This is code for the module BYC-WB-D1 based on BISS0001 Micro Power motion detection IC
* Written by Ahmad Shamshiri for RoboJax.com
Date modified: Jun 30, 2018 at 17:45 in Ajax, Ontario, Canada
Watch the video instruction for this code: https://youtu.be/h9JDlQXpi2w
You can get this code from RoboJax.com
Pin connection
VCC to 5V
GND to GND
OUT to pin 11 of Arduino
*/
int count =0;// just counting seconds
int buzzer = 11;// pin to connect to buzzer or relay
void setup() {
Serial.begin(9600);
pinMode(buzzer,OUTPUT);// set pin 11 as output
}
void loop() {
int v = analogRead(A0);// read the output pin of the module
// HIGH is when motion is detected.
if (v == LOW){
digitalWrite(buzzer,LOW);// set buzzer pin LOW
count =0;
}else{
count++;
digitalWrite(buzzer,HIGH);// Set buzzer pin HIGH
Serial.print(count);
Serial.println("-Detected");
}
delay(1000);// wait for 1 second
}
必要かもしれないもの
-
アマゾンPIRモーションセンサーを購入するamzn.to
リソースと参考文献
まだリソースはありません。
ファイル📁
ファイルは利用できません。