센서가 여럿이면 즉시 문제가 된다. TBD-013 이 "초음파 센서 개수·배치"를 확정 항목으로 두는데, 개수가 정해지는 순간 이 문제가 따라온다.
해법은 순차 발신
void us_cycle_tick(void) { /* 예: 60 ms 주기 */
us_stop_all();
us_trigger(g_active_sensor);
g_active_sensor = (g_active_sensor + 1u) % US_SENSOR_COUNT;
}
대가는 갱신 주기다
센서 4개면 한 센서당 갱신 주기가 4배로 늘어난다.
최대 측정 거리 5 m → 왕복 비행 시간 약 29 ms
안전 여유 포함 센서당 40~60 ms
4개면 한 바퀴 160~240 ms
후진 속도 5 km/h(≈1.4 m/s) → 그 사이 22~33 cm 이동
이 지연이 곧 TBD-013 의 "근접 위험 거리"를 결정한다. 경고 거리는 센서 갱신 지연 + 사용자 반응 시간 + 제동 거리를 모두 흡수할 만큼 커야 한다.
절충안
물리적으로 멀리 떨어진 센서끼리 그룹을 지어 동시 발신하거나, 센서별로 다른 주파수·코드를 쓴다. 후자는 트랜스듀서 비용이 오른다.
그리고 max age 를 센서별 독립으로 관리하면 순차 발신의 지연을 정확히 반영할 수 있다 — 각 센서는 자기 차례에 갱신되므로 개별 age 를 갖는다.