Добрый день, такой вопрос. На пример, робот ехал и врезался (дальномер не предлагать))), колеса не крутятся и пищат, так как ток то на них продолжает идти. Можно программно определить эту коллизию?
Можно. Вам нужен драйвер моторов в возможностью определения тока на двигателях. Такой как L298D. Он установлен на Motor Shield от DFRobot, но эти контакты не выведены — можно подцепиться самостоятельно. Можно найти итальянский Motor Shield на этом же чипе — там эти пины выведены. Ну и наконец вариант DIY: ставите между двигателем и землёй мощный (несколько Ватт) резистор малого сопротивления (единицы Ом). Малого сопротивления — чтобы не мешал двигателю, мощный ибо по нему побежит большой ток. Далее мерите Arduino'й падение напряжение на нём. Напряжение известно, сопротивление известно — получаете ток. Stall-current всегда сильно выше run-current поэтому без труда сможете определить момент застревания. Конкретные цифры нужно считать, а для этого нужно знать характеристики вашего мотора.
Использую двухколёсную платформу Turtle и моторчики, которые входят в комплект. Motor Shield от DFRobot есть. Как можно тогда с его помощью это определить?
Вот распиновка Ноги 2 и 19 — то, что нужно. Их нужно отправить на аналоговые входы Arduino. Видимо, маленькими проводками.
Вы, наверное, не так вопрос интерпретировали. Проблем никаких нет, а как раз наоборот, как определить, если они будут =)