라즈베리파이 피코보드에서 최신 인체 감지센서 LD2410C 사용하기

라즈베리파이 피코보드에서 최신 인체 감지센서 LD2410C 사용하기

LD2410C 인체감지센서

아두이노나 라즈베리파이에 센서를 응용하는 과정에서 흔하게 접하게 되는 동작 감지 센서로 PIR((Passive infrared sensor) 가 많이 사용되곤 한다.

​

그런데, 이러한 PIR 동작센서는 저렴하고, 사용하기 쉬운 장점에도 불구하고, 치명적인 한 가지 단점이 있다.

동작을 감지하기 때문에, 만일 사람이 움직이지 않은 채 정적인 상태를 유지하거나, 아주 조금씩 움직이는 경우에는 대상을 감지할 수 없다. 또한 인체를 감지하는 것이 아니라, 동작을 감지하는 것이기에, 야외에서 그림자가 센서에 지나가는 경우 등에도 오동작할 수 있는 문제가 있다.

​

그런데, 최근 이런 문제를 극복할 수 있는 새로운 센서를 발견했다.

바로 다음과 같은 모양을 갖는 LD2410C 인체 센서이다.

​

LD2410 인체 센서는 24-24.25GHz의 고주파를 이용하여 인체 유무를 감지하는 센서로, 중국 선전(Shenzen)에 위치한 Hi-Link Electronics라는 곳에서 2022년경 개발되었다고 하는데, 관련 User manual이 Github에 공개되어 있다.

https://github.com/soubhik-khan/HLK-LD2410C/blob/main/LD2410C%20Serial%20communication%20protocol%20V1.00.pdf

​

​

이 센서는 크기가 16x22mm의 소형이면서, 다음과 같이 5개의 핀을 가지고 있어 디지탈 출력이 가능한 것 외에도, 블루투스 기능과 PC 등에 연결하는 경우를 위한 전용 앱도 개발되어 있다고 한다.

무엇보다 이 센서는 PIR 센서가 동작이 있어야만 감지가 가능한 것과 달리, 동작이 없는 인체도 감지할 수 있다는 장점이 있다. 또한 얇은 벽은 투과도 가능하다는 특징이 있다. 사용 감지 범위는 대략 0.7~6m 정도라고 한다. 시험 결과 동작 속도는 매우 빨라서 0.1-0.2초 정도만에 반응하는 것 같다.

​

제조사에서 제시하는 스펙은 다음과 같다.

감지 거리 : 0.75~6m

감지 각도 : ± 60°

작동 전압 : 5V

전류 : ~79mA.

IO 전압 : 3.3V

Baud Rate(직렬 통신 시) : 256,000

​

​

각 핀의 기능은 다음과 같다.

​​

​

LD2410C 동작 예제

LD2410C 센서는 5개의 핀들 중 하나로 디지탈 출력 신호를 제공한다.

인체가 감지되면, 마치 버튼스위치가 눌린 것처럼 동작하는 것이다.

​

이를 이용하여 다음과 같이 인체를 감지하는 센서 회로를 만들어 보았다.

​

그리고 다음과 같이 아주 간단한 코드를 만들어, 인체가 감지되지 않는 상태에서는 청색 LED가 켜지고, 인체가 감지되면 적색 LED가 켜지도록 설정했다.

import machine
import time

sensor=machine.Pin(16, machine.Pin.IN, machine.Pin.PULL_DOWN)
blueled=machine.Pin(17, machine.Pin.OUT)
redled=machine.Pin(14, machine.Pin.OUT)
while True:
if sensor.value()== 1:
        redled.value(1)
        time.sleep(0.1)
        redled.value(0)
        
    elif sensor.value()== 0:
        blueled.value(1)
        time.sleep(0.1)
        blueled.value(0)

동작하는 모습은 다음과 같다.

센서 전면방행으로 다가가면 적색 등이 들어오고,

두꺼운 기둥 뒤에 숨어서 살짝 카메라만 내밀어 보는 경우나

센서의 뒷면에서는 푸른색을 나타내는 LED가 정상적으로 잘 켜진다.

​

개인적으로 PIR 센서와 인체감지센서를 병용하여 사용하면 좋을듯하다.