はじめに
HLK-LD2410Cは、ミリ波を利用して人物や距離を検知するセンサーです。
つかってみたところかなり優秀なセンサーでした。おすすめです。
ミリ波の概要
ミリ波とは、30GHzから300GHzの範囲の電磁波のことを指します。
光と比較して波長が長く、空気中の伝播特性に優れ、障害物越しや離れた動きの検知に適しています。影や明るさに影響されず、夜間や障害物越しの検知にも有効です。
レーダーの仕組み
レーダーは、電波を発射し、その電波が対象物に当たって反射して戻ってくるまでの時間や、反射波の特性を解析することで対象物を検出します。HLK-LD2410Cにおいては、次のようなプロセスで検知が行われます。
- ミリ波を発射
- 周囲の物体に電波が反射
- 反射波を受信
- 反射波の強度や時間、周波数の変化を解析
この解析により、物体までの距離、物体の存在、微小な動き(呼吸や心拍による体表の振動)を高精度に検出することが可能となっています。特に、周波数の変化(ドップラー効果)を利用することで、動きの大きさや速度までも判別できます。
赤外線人感センサーとの違い
体温を検知する赤外線PIRセンサーと比較して、ミリ波レーダーは体温を利用しない点が異なります。
- 赤外線PIRセンサー: 人の移動する体温を検知
- ミリ波レーダー: 物体の動きや距離を電波の反射を利用し検知
距離センサーとしての用途
HLK-LD2410Cは、人物の有無だけでなく、直線距離を測定することもできます。
使用例
HLK-LD2410Cは多様な場面で活用可能です。
- スマートホーム:人がいるかを検知して照明やエアコンを自動制御
- ベッドモニタリング:呼吸や心拍の微小な動きを検知して見守りシステムを構築
- オフィス管理:デスクに人がいるかを検知し省エネ制御
- トイレや更衣室:人がいるかを判別し自動で換気扇を制御
- セキュリティ用途:侵入者の検知に利用
- エレベーター制御:人の乗降に応じた最適運転
これらの応用により、従来の赤外線センサーでは難しかったシチュエーションでも高精度な検知が可能となります。
配線
| Raspberry Pi Pico | HLK-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は常時の人物検知のみならず、距離検知や精度の高いモーションデータ取得を実現できる有力なセンサーです。呼吸や心拍に伴う微粒な動きも検知できるため、定位した人物の存在を長期間検知するシステムにも有用です。 是非活用してみてください。
コメント