Что-то все как-то примитивно...
yak-40 писал(а):Я же говорю, в квартире никаких проблем, а на улице УЗ датчики реагируют на всё, даже на отдельно растущую травинку. Поверь, проверено.

Это понятно, но я и пишу, что необходимо делать интеллектуальную обработку сигналов от бОльшего количества УЗ датчиков. Грубо говоря обходить "дребезг контактов" проверкой дополнительных датчиков.
На данный момент идея следующая - использовать 8 шт. HC-SR04:
1. 1 шт. смотрит влево и дает понять что можно поехать туда.
2. 1 шт. смотрит вправо и дает понять что можно поехать туда.
3. 2 шт. закреплены на левой стороне переднего бампера (на расстоянии 10 см по осям) и смотрят вперед.
4. 2 шт. закреплены на правой стороне переднего бампера (на расстоянии 10 см по осям) и смотрят вперед.
5. 2 шт. закреплены в верхней части бампера (разнесены по бокам) и смотрят на подстилающую поверхность - так называемые distance sensor downgrade
Активация датчиков с помощью триггера с защелкой типа 74HC595, считывание длительности импульса по прерыванию и запись в соответствующую переменную. В коде основной программы проверять показание от разных датчиков. Если обозначить их как переменные DFL1 и DFL2 (п.3), DFR1 и DFR2 (п.4), DDGL и DDGR (п.5), то будем иметь следующие возможности:
1. Если на травинку сработал DFL1, то надо проверить состояние DFL2, если у него то же самое, то немного поворачиваем направо и т.п.
2. Замедление или stop будет только тогда, когда по всем датчикам DFL будет препятствие.
3. DDGL нужны для определения впереди ямы, глубиной больше клиренса тележки. Если срабатывают оба, то замедляемся и по дополнительным ИК датчикам, смотрящим вниз подъезжаем к краю ямы.
Ну и т.д.!
В качестве драйверов приводных моторов по соотношению цена/качества оптимально использовать драйвер (готовые модули) на L298, но для полноценного управления надо много ножек МК (+4 pin).
Без датчика положения вала мотора можно использовать гироскоп (электронный компас) для определения угла разворота. Единственный момент, который не получается продумать - как определить расстояние отъезда назад от обрыва для разворота тележки?