Я к стати так же думал. Но все же согласитесь было бы приятнее если бы при замене датчика не сбивалась программа для всех остальных.
У меня все через меню: при инициализации всех датчиков я каждому присваиваю назначение. В результате, в массиве с адресами (индивидуальными для каждого датчика) имеется указатель назначения. Если какой-то датчик заменяешь или отключаешь, то при следующей инициализации он исключается из массива вместе с назначением, а остальные работают как и раньше.