搜尋程式碼

基於BISS0001嘅動作感應模組BYC-WB-D1,適用於Arduino

基於BISS0001嘅動作感應模組BYC-WB-D1,適用於Arduino

喺呢個教學入面,我哋會探討點樣用Arduino嚟操作基於BISS0001 IC嘅BYC-WB-D1動作感應器模組。呢個模組係為咗低功耗動作偵測而設計,好適合用喺各種應用,包括保安系統同自動化項目。完成呢個指南之後,你就會有一個可以偵測動作並觸發輸出(例如蜂鳴器)嘅工作設定。 為咗釐清一啲概念同代碼,你可以參考條片(片入面00:00位置)。

硬件解說

BYC-WB-D1模組係圍繞住BISS0001嚟設計,呢個係一個微功耗動作偵測IC。呢個感應器係透過偵測紅外線輻射嘅變化嚟運作,通常係由人或動物發出嘅。當偵測到動作時,模組嘅輸出腳位會改變狀態,Arduino可以讀取呢個狀態。 呢個模組通常有三個腳位: - **VCC**:呢個腳位負責供電畀模組,通常連接去Arduino嘅5V輸出。 - **GND**:呢個係接地腳位,連接去Arduino嘅GND。 - **OUT**:呢個輸出腳位會喺偵測到動作時發出訊號;可以連接去Arduino嘅數位輸入腳位嚟讀取感應器嘅狀態。

數據手冊細節

製造商BISS0001
零件編號BYC-WB-D1
邏輯/IO電壓2.7 V – 12 V
供電電壓5 V
輸出電流(每通道)≤ 20 mA
峰值電流(每通道)≤ 60 mA
PWM頻率指引唔適用
輸入邏輯閾值高:> 2.5 V,低:< 0.8 V
電壓降 / RDS(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; // 只係用嚟數秒數
int buzzer = 11; // 連接蜂鳴器或繼電器嘅腳位

void setup() {
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT); // 將腳位11設定為輸出
}
呢段代碼初始化一個計數器變數count,用嚟記錄偵測到動作嘅秒數。變數buzzer設定為腳位11,我哋會喺嗰度連接輸出裝置。 接下來,我哋進入主循環,持續讀取動作感應器嘅輸出:
void loop() {
  int v = analogRead(A0); // 讀取模組嘅輸出腳位
  if (v == LOW) {
    digitalWrite(buzzer, LOW); // 將蜂鳴器腳位設為LOW
    count = 0; 
  } else {
    count++;
    digitalWrite(buzzer, HIGH); // 將蜂鳴器腳位設為HIGH
    Serial.print(count);
    Serial.println("-Detected");    
  }
  delay(1000); // 等1秒
}
喺呢個循環入面,程式會讀取動作感應器嘅輸出。如果冇偵測到動作(即v == LOW),蜂鳴器就會關閉。如果偵測到動作,蜂鳴器就會啟動,並且將偵測到嘅秒數印去串列監察器。 如果想更深入了解代碼同佢嘅運作方式,請參考文章下面載入嘅完整代碼。

示範 / 預期效果

當你完成接線並將代碼上傳去Arduino之後,你應該會預期每當偵測到動作時蜂鳴器就會響。串列監察器會顯示持續偵測到動作嘅秒數。如果感應器偵測唔到動作,佢就會停止蜂鳴器並重置計數。 常見問題包括接線錯誤,例如腳位連接唔正確或者供電問題。永遠檢查你嘅連接,並確保感應器有正確供電,以免出現錯誤讀數。

圖片

Motion sensor module BYC-WB-D1 based on BISS0001 for Arduino
Motion sensor module BYC-WB-D1 based on BISS0001 for Arduino
114-Motion sensor module BYC-WB-D1 based on BISS0001 for Arduino
語言: C++
/*
 * 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
}

資源與參考資料

文件📁

其他文件

  • XYC-WB-D1 BISS0001 Data Sheet
    Datasheet for the BISS0001 infrared sensor signal processing IC. It is commonly used in PIR motion detector modules to amplify and process signals from pyroelectric sensors, providing digital output with adjustable timing and sensitivity.
    robojax-XYC-WB-D1-BISS0001_data-sheet.pdf 0.27 MB