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をコピーしました!

コメント

コメント一覧 (4件)

  • はじめまして
    私もld2410cを使用してみました。
    機能や性能は趣味の範囲で申し分ないのですが、
    指で触るとセンサー基盤がかなり加熱していることがわかりました。
    この辺いかがでしょうか?
    参考までにお話をお聞かせ頂ければ幸いです。

    • はじめまして、コメントありがとうございます!
      同じくLD2410Cをお使いとのこと、嬉しいです。

      ご指摘の「基板の加熱」ですが、私の使用環境でも多少の発熱は感じられました。とくに通電してからしばらくすると、指で触って「あつっ」となるほどではないものの、ぬるめのカイロくらいの温度になる印象です。

      ただ、データシートや仕様書では特別な放熱対策が求められている様子はなく、また私の環境では不安定な動作や故障も起きていません。
      とはいえ、ケースに入れて使う場合や、通気の悪い場所だと熱がこもる可能性もありますね…。

      もし心配であれば、放熱シートや小型ヒートシンクを貼るなどの対策をした方が良いかもしれません。

      ご参考になれば幸いです!
      また何か気づいたことがあればぜひ教えてください

  • ご回答ありがとうございました♪
    私のものはかなり熱を帯びてしまいます。
    他の使用している方はどうかなと気になっておりました。
    外気温25度で使用した場合はかろうじて指でつまめる感じです。
    30度を超えた環境下ではとても熱くてさわれませんでした。

    しかしこれでも8時間の連続動作には影響がありませんでした。

    少々熱を帯びるのはこわいのですが、使い勝手も性能も良いので気に入っております。

  • 30度を超える環境でどうか?は試していませんでした。教えていただきありがとうございます。退場部だとおは思いますが、お気をつけてご使用ください。

ko-1 へ返信する コメントをキャンセル

目次