Hľadať kód

Pohybový senzorový modul BYC-WB-D1 založený na BISS0001 pre Arduino

Pohybový senzorový modul BYC-WB-D1 založený na BISS0001 pre Arduino

V tomto návode si ukážeme, ako používať modul pohybového senzora BYC-WB-D1 založený na integrovanom obvode BISS0001 s Arduinom. Tento modul je navrhnutý na detekciu pohybu s nízkou spotrebou energie, vďaka čomu je ideálny pre rôzne aplikácie, vrátane bezpečnostných systémov a automatizačných projektov. Na konci tejto príručky budete mať funkčné zapojenie, ktoré dokáže detekovať pohyb a spustiť výstup, napríklad bzučiak. Na objasnenie niektorých konceptov a kódu sa môžete pozrieť na video (vo videu o 00:00).

Vysvetlenie hardvéru

Modul BYC-WB-D1 je postavený na obvode BISS0001, čo je mikro-výkonový integrovaný obvod na detekciu pohybu. Tento senzor funguje na princípe detekcie zmien infračerveného žiarenia, ktoré typicky vyžarujú ľudia alebo zvieratá. Keď sa zistí pohyb, výstupný pin modulu zmení stav, ktorý môže Arduino prečítať. Modul má typicky tri piny: - **VCC**: Tento pin napája modul, zvyčajne sa pripája na 5V výstup Arduina. - **GND**: Toto je uzemňovací pin, pripojený na GND Arduina. - **OUT**: Tento výstupný pin signalizuje, keď sa zistí pohyb; môže byť pripojený na digitálny vstupný pin Arduina na čítanie stavu senzora.

Podrobnosti z datasheetu

VýrobcaBISS0001
Číslo dieluBYC-WB-D1
Logické/IO napätie2,7 V – 12 V
Napájacie napätie5 V
Výstupný prúd (na kanál)≤ 20 mA
Špičkový prúd (na kanál)≤ 60 mA
Odporúčanie pre PWM frekvenciuN/A
Vstupné logické prahyVysoká: > 2,5 V, Nízka: < 0,8 V
Pokles napätia / RDS(on) / saturácia≤ 0,5 V
Tepelné limity−40 °C až 85 °C
PuzdroTO-220
Poznámky / variantyNízka spotreba energie

  • Zabezpečte správne napájacie napätie medzi 5 V a 12 V.
  • Dodržiavajte prúdové limity na výstupnom pine, aby ste predišli poškodeniu.
  • Udržiavajte správne uzemnenie, aby ste predišli falošným spusteniam.
  • V prípade potreby použite pull-down rezistor na stabilizáciu výstupného pinu.
  • Pred napájaním obvodu skontrolujte zapojenie pinov.

Pokyny na zapojenie

Na zapojenie modulu pohybového senzora BYC-WB-D1 k Arduinu postupujte podľa týchto krokov: 1. Pripojte pin **VCC** senzora na pin **5V** na Arduine. Toto napája senzor. 2. Pripojte pin **GND** senzora na pin **GND** na Arduine, aby ste dokončili obvod. 3. Pripojte pin **OUT** zo senzora na digitálny pin **11** na Arduine. Tento pin bude čítať signál detekcie pohybu. Uistite sa, že sú vaše spojenia pevné, pretože voľné zapojenie môže viesť k nespoľahlivým údajom alebo falošným spusteniam.

Príklady kódu a vysvetlenie

V nižšie uvedenom úryvku kódu inicializujeme potrebné premenné a nastavíme sériovú komunikáciu na monitorovanie výstupu pohybového senzora.
int count = 0; // len počítanie sekúnd
int buzzer = 11; // pin na pripojenie bzučiaka alebo relé

void setup() {
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT); // nastaviť pin 11 ako výstup
}
Tento kód inicializuje počítadlovú premennú, count, ktorá bude sledovať, koľko sekúnd je pohyb detekovaný. Premenná buzzer je nastavená na pin 11, kde pripojíme naše výstupné zariadenie. Ďalej vstúpime do slučky, kde nepretržite čítame výstup z pohybového senzora:
void loop() {
  int v = analogRead(A0); // čítať výstupný pin modulu
  if (v == LOW) {
    digitalWrite(buzzer, LOW); // nastaviť pin bzučiaka na LOW
    count = 0; 
  } else {
    count++;
    digitalWrite(buzzer, HIGH); // Nastaviť pin bzučiaka na HIGH
    Serial.print(count);
    Serial.println("-Detekované");    
  }
  delay(1000); // počakať 1 sekundu
}
V tejto slučke program číta výstup z pohybového senzora. Ak sa nezistí žiadny pohyb (t. j. v == LOW), bzučiak sa vypne. Ak sa pohyb zistí, bzučiak sa aktivuje a počet detekovaných sekúnd sa vytlačí na sériový monitor. Pre podrobnejšie pochopenie kódu a jeho fungovania si pozrite celý kód načítaný nižšie pod článkom.

Demonštrácia / Čo očakávať

Po dokončení zapojenia a nahraní kódu do Arduina by ste mali očakávať, že bzučiak zaznie vždy, keď sa zistí pohyb. Sériový monitor zobrazí počet sekúnd, počas ktorých bol pohyb nepretržite detekovaný. Ak senzor nezistí pohyb, zastaví bzučiak a vynuluje počítadlo. Medzi časté chyby patria chyby v zapojení, ako napríklad nesprávne pripojenie pinov alebo problémy s napájaním. Vždy skontrolujte svoje spojenia a uistite sa, že je senzor správne napájaný, aby ste predišli falošným údajom.

Obrázky

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
Jazyk: 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
}

Zdroje a referencie

Súbory📁

Iné súbory

  • 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