코드 검색

모션 센서 모듈 BYC-WB-D1, Arduino용 BISS0001 기반

모션 센서 모듈 BYC-WB-D1, Arduino용 BISS0001 기반

이 튜토리얼에서는 BISS0001 IC 기반의 BYC-WB-D1 모션 센서 모듈을 Arduino와 함께 사용하는 방법을 살펴보겠습니다. 이 모듈은 저전력 모션 감지를 위해 설계되어 보안 시스템 및 자동화 프로젝트를 포함한 다양한 응용 분야에 이상적입니다. 이 가이드가 끝나면 모션을 감지하고 부저와 같은 출력을 트리거할 수 있는 작동 설정을 갖추게 될 것입니다. 일부 개념과 코드를 명확히 하기 위해 비디오(00:00 지점)를 참조할 수 있습니다.

하드웨어 설명

BYC-WB-D1 모듈은 초저전력 모션 감지 IC인 BISS0001을 기반으로 구축되었습니다. 이 센서는 일반적으로 사람이나 동물이 방출하는 적외선 변화를 감지하여 작동합니다. 모션이 감지되면 모듈의 출력 핀 상태가 변경되며, 이를 Arduino에서 읽을 수 있습니다. 이 모듈에는 일반적으로 세 개의 핀이 있습니다: - **VCC**: 이 핀은 모듈에 전원을 공급하며, 일반적으로 Arduino의 5V 출력에 연결됩니다. - **GND**: 접지 핀으로, Arduino의 GND에 연결됩니다. - **OUT**: 이 출력 핀은 모션이 감지되었을 때 상태를 나타냅니다. 센서 상태를 읽기 위해 Arduino의 디지털 입력 핀에 연결할 수 있습니다.

데이터시트 세부 정보

제조업체BISS0001
부품 번호BYC-WB-D1
로직/IO 전압2.7V – 12V
공급 전압5V
출력 전류(채널당)≤ 20mA
피크 전류(채널당)≤ 60mA
PWM 주파수 가이드해당 없음
입력 로직 임계값High: > 2.5V, Low: < 0.8V
전압 강하 / RDS(on) / 포화≤ 0.5V
열 제한−40°C ~ 85°C
패키지TO-220
참고 사항 / 변형저전력 소비

  • 5V ~ 12V 사이의 적절한 공급 전압을 확인하세요.
  • 손상을 방지하기 위해 출력 핀의 전류 제한을 준수하세요.
  • 오작동 트리거를 방지하기 위해 적절한 접지를 유지하세요.
  • 필요한 경우 출력 핀을 안정화하기 위해 풀다운 저항을 사용하세요.
  • 회로에 전원을 공급하기 전에 핀 연결을 다시 확인하세요.

배선 지침

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("-감지됨");    
  }
  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