HLK-LD2410Cミリ波レーダーをラズパイで使う|人感検知を高精度に

目次

はじめに

HLK-LD2410Cは、ミリ波を利用して人物や距離を検知するセンサーです。
つかってみたところかなり優秀なセンサーでした。おすすめです。

ミリ波の概要

ミリ波とは、30GHzから300GHzの範囲の電磁波のことを指します。
光と比較して波長が長く、空気中の伝播特性に優れ、障害物越しや離れた動きの検知に適しています。影や明るさに影響されず、夜間や障害物越しの検知にも有効です。

レーダーの仕組み

レーダーは、電波を発射し、その電波が対象物に当たって反射して戻ってくるまでの時間や、反射波の特性を解析することで対象物を検出します。HLK-LD2410Cにおいては、次のようなプロセスで検知が行われます。

  1. ミリ波を発射
  2. 周囲の物体に電波が反射
  3. 反射波を受信
  4. 反射波の強度や時間、周波数の変化を解析

この解析により、物体までの距離、物体の存在、微小な動き(呼吸や心拍による体表の振動)を高精度に検出することが可能となっています。特に、周波数の変化(ドップラー効果)を利用することで、動きの大きさや速度までも判別できます。

赤外線人感センサーとの違い

体温を検知する赤外線PIRセンサーと比較して、ミリ波レーダーは体温を利用しない点が異なります。

  • 赤外線PIRセンサー: 人の移動する体温を検知
  • ミリ波レーダー: 物体の動きや距離を電波の反射を利用し検知

距離センサーとしての用途

HLK-LD2410Cは、人物の有無だけでなく、直線距離を測定することもできます。

使用例

HLK-LD2410Cは多様な場面で活用可能です。

  • スマートホーム:人がいるかを検知して照明やエアコンを自動制御
  • ベッドモニタリング:呼吸や心拍の微小な動きを検知して見守りシステムを構築
  • オフィス管理:デスクに人がいるかを検知し省エネ制御
  • トイレや更衣室:人がいるかを判別し自動で換気扇を制御
  • セキュリティ用途:侵入者の検知に利用
  • エレベーター制御:人の乗降に応じた最適運転

これらの応用により、従来の赤外線センサーでは難しかったシチュエーションでも高精度な検知が可能となります。

配線

Raspberry Pi PicoHLK-LD2410C
VSYS(39番)Vcc
GND(38番)GND
GPIO17(22)TX
GPIO16(21)RX
()内はピン番号

存在を検知して距離を出す

HLK-LD240Cの動作モード(データ出力形式)は以下です。知りたいデータを取り出してください。

・先頭2バイトはヘッダー:(0xFD 0xFC)

・6バイト目(data[6]):モーション検知の状態(presenceフラグ)

・8バイト目+9バイト目(data[8] + data[9] << 8):動いているターゲット(moving target)の距離

・10バイト目+11バイト目(data[10] + data[11] << 8):静止しているターゲット(stationary target)の距離

from machine import UART, Pin
import time

radar_uart = UART(0, baudrate=256000, tx=Pin(16), rx=Pin(17))

last_reading = time.ticks_ms()

while True:
    radar_uart.write(b'\x62')  # 必要に応じてレーダからデータ要求を送信(オプション)

    if radar_uart.any():
        data = radar_uart.read()
        if data and len(data) > 9:
            presence = data[6]  # 検知フラグ
            moving_distance = data[8] + (data[9] << 8)  # 距離

            if time.ticks_diff(time.ticks_ms(), last_reading) > 1000:
                last_reading = time.ticks_ms()
                if presence:
                    print("Moving target detected at {} mm".format(moving_distance))
                else:
                    print("No target detected.")
    time.sleep(0.05)

まとめ

HLK-LD2410Cは常時の人物検知のみならず、距離検知や精度の高いモーションデータ取得を実現できる有力なセンサーです。呼吸や心拍に伴う微粒な動きも検知できるため、定位した人物の存在を長期間検知するシステムにも有用です。 是非活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次