Простой самодельный датчик, ценой в ~500 рублей на дальномере. Возвращает данные по расстоянию в 16 зонах, квадрат 4*4
18:39:32.991 -> range: 2470 status: signal fail peak signal: 0.16 ambient: 0.00 ROIcenter: 14
18:39:33.256 -> range: 2432 status: signal fail peak signal: 0.20 ambient: 0.01 ROIcenter: 46
18:39:33.521 -> range: 2510 status: signal fail peak signal: 0.16 ambient: 0.00 ROIcenter: 78
18:39:33.786 -> range: 2545 status: signal fail peak signal: 0.08 ambient: 0.00 ROIcenter: 110
18:39:34.051 -> range: 2353 status: signal fail peak signal: 0.19 ambient: 0.00 ROIcenter: 245
18:39:34.350 -> range: 2359 status: signal fail peak signal: 0.22 ambient: 0.00 ROIcenter: 213
18:39:34.615 -> range: 2426 status: signal fail peak signal: 0.13 ambient: 0.01 ROIcenter: 181
18:39:34.880 -> range: 2492 status: signal fail peak signal: 0.09 ambient: 0.01 ROIcenter: 149
18:39:35.145 -> range: 2370 status: signal fail peak signal: 0.09 ambient: 0.00 ROIcenter: 241
18:39:35.410 -> range: 2298 status: signal fail peak signal: 0.19 ambient: 0.01 ROIcenter: 209
18:39:35.708 -> range: 2395 status: signal fail peak signal: 0.14 ambient: 0.00 ROIcenter: 177
18:39:35.973 -> range: 2412 status: signal fail peak signal: 0.04 ambient: 0.01 ROIcenter: 145
18:39:36.238 -> range: 2679 status: signal fail peak signal: 0.08 ambient: 0.01 ROIcenter: 10
18:39:36.503 -> range: 2631 status: signal fail peak signal: 0.15 ambient: 0.00 ROIcenter: 42
18:39:36.801 -> range: 2593 status: signal fail peak signal: 0.16 ambient: 0.00 ROIcenter: 74
18:39:37.066 -> range: 2593 status: signal fail peak signal: 0.04 ambient: 0.01 ROIcenter: 106
это значение “range” в миллиметрах.
Потом уже по этим данным легко определить. Да, суммарный “угол” всего квадрата - 30 градусов, но датчик стоит 200-400 рублей, размер его - несколько миллиметров. Их хоть десяток можно поставить.
Вот доделаю до Modbus slave устройства…
Алгоритм работы прост: неизменные долго, в течении часов расстояния считаются “базовыми” если они уменьшаются и меняются - кто-то присутствует. И да, даже дыхание можно определять, кстати, надо будет график сделать.