Если расположить два ультразвуковых дальномера HC-sr04 на расстоянии 5 см и включить их одновременно, не буду ли они мешать друг другу?
Они импульсно работают. Если отправлять импульсы одновременно, то будут. Если чередовать с интервалом в пару секунд - пойдет.
вообще-то ультразвуковой дальномер состоит из 1 передатчика и 1 приемника. Конечно я не Капитан Очевидность, но народ в упор этого не видит. Но это прилюдия. Если дальномеры смотрят в почти одну сторону , то включать надо 1 "один", передатчик и 2 "два" приемника. Но стандартное ПО для датчика работает для измерении времени импульса только 1 вывода. Так что у вас ничего не получится при стандартом ПО. А вот при альтернативном все может быт. Но ведь вы же не напишите это "альтернативное ПО"
Какое ПО? Вот все ПО для Уз датчика: Код (C++): unsigned int getDistance(byte trig, byte ping) { // указать тригерную и приемную ноги unsigned int duration = 0; digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(ping,HIGH); Distance = duration/29/2; return Distance; } А зачем два датчика на расстоянии 5 см да еще и одновременно?
Код (C++): pulseIn(ping,HIGH) Что делает эта команда? и сколько времени она длиться. Только не спешите с ответом.
Ну для чего надо 2 уха животным. Особенно для эхолокации. Ведь они не орут вправо и ловят правым ухом, а потом влево и ловят левым. Так и здесь использование команды pulseIn не дает это. Вот об этом ПО я и говорю, надо писать альтернативу.
Что мешает отключить один излучать аппаратно и слушать обоими ушами одновременно? pulseIn для этого может не подойти, потому что пока не получит одного сигнала и второй не услышит, но будет программка чуть длиннее проблем не вижу.