Продвинулся еще дальше в своих изысканиях
. Для начала расскажу о своем способе вывода информации во внешний мир. У меня есть шим, фильтр и повторитель на 1/4 lm324. Она не может работать до питания, хотя снизу работает от нуля. Исходя из этого сигнал 3В (шим 154 из 255) у меня означает отсутствие эха (или очень ближнюю зону, об этом далее), шим 128 (50% или 2,5В) - расстояние 128 см, зависимость линейная. Ноль будет для ближней неопознаваемой зоны (пока не сделано). Таков мой вывод информации, а теперь о том, как я считаю.
Перед началом работы я измерил температуру и узнал скорость звука (про это я уже писал). Во время работы посылания импульса и ожидания эха у меня работал таймер с тиком в 1 мкс (с регистром расширения). Нога, по которой я принимал эхо была настроена на прерывания по любому изменению на ноге (поэтому фильтр перед ногой - необходимость). Первый вход в прерывание запускал таймер, остальные - записывали время в озу. Как закончилось время ожидания эха (у меня 25 мс) - началась обработка инфы в озу. Если там только один импульс засветки - это либо дальняя, либо ближняя зона (пока не научился их разделять - но скоро этим займусь). Если там есть еще импульс - считаем расстояние. Сперва узнаю время пролета звука, для этого ищу время от начала до середины первого эха, и вычитаю из него время половины цуга (125 мкс). Умножаю время на скорость звука, делю на два (туда/обратно). Получил расстояние в микрометрах. Делю на 10 000 - получаю в см. Далее программный фильтр на 4 измерения: каждое последующее измерение должно отличаться от предыдущего не более чем на 2 см по модулю. Если четверка именно такая - усредняю и выдаю, иначе набираю новую четверку. Измерил расстояние до потолка и до настольной лампы - проверял рулеткой - совпадают. Пока все это делал без рупоров.
В дальнейших планах - научиться различать ближнюю и дальнюю зоны. Они отличаются по ширине импульса засветки. Но поскольку дома и на работе ширина у меня разная, а зависимость эту я пока не нашел.....пока не знаю как. Есть одна идея: если я получу что я в ближней или дальней зоне - то я уменьшу длину цуга. При этом ближняя зона должна уменьшиться, и если эхо объекта отделилось от импульса засветки, то это именно ближняя зона и можно измерение проводить как обычно. Но это полумера. Я бы хотел по ширине импульса засветки определять расстояние начиная от единиц см. Есть над чем работать.
ЗЫ. Есть у меня одна черта: если что-то получилось - нужно сделать перерыв, насладиться триумфом. Ведь если я пойду тут же дальше, я рискую что у меня что-то не получится и радость от работы сильно уменьшится. Поэтому на сегодня я закончил
.