Совместное использование Motor Shield и Bluetooth Shield
- Войдите на сайт для отправки комментариев
Втр, 17/12/2013 - 12:53
Уважаемые коллеги!
Необходимо совместно с Arduino Uno использовать Motor Shield v3.0 (Seeed Studio) и Bluetooth Shield (Seeed Studio) в одном проекте. Желательно - с минимальными изменениями схем подключения и соответствующих библиотек.
Есть вроде бы простой вариант - вместо четырех независимых моторов использовать две пары моторов, каждая из которых управлялась бы одним ШИМ и подключенным к нему драйвером мотора. Освободившиеся цифровые выходы (например, 3, при неиспользовании Motor(2)) использовать для связи Bluetooth Shield Arduino Uno.
Какие недостатки у такого варианта и есть ли более красивые решения?
Вам надо подключить 4 мотора? Есть шилды, которые позволяют подключить сразу 4 мотора, например MSS Shield
а ещё:
Гугл и вики Seed Studio не знают про SeedStudio Motor Shield V3.0, только 1.0 и 2.0 :) http://www.seeedstudio.com/wiki/Motor_Shield
Про v1.0 написано что он использует пины D13, D12, D11, D10, D9, D8;
Про v2.0 ничего явно не написано, но наверное там используются те же пины.
Блютус-шилду (http://www.seeedstudio.com/wiki/Bluetooth_Shield) для работы с ардуинкой нужно два цифровых вывода - для TX и для RX (выбираются джамперами из D7-D0), и ещё необязательный А1 - статусный пин блютус-модуля.
Спасибо за ответ!
Motor Shield v3.0 Freeduino (не SeeedStudio, как я ошибочно написал):
http://freeduino.ru/arduino/mshield.html
использует все пины с D3 по D12, и позволяет управлять 4-мя независимыми моторами (через L293) и 2-мя сервомоторами (без усиления, напрямую с выходов ШИМ).
BT, как Вы справедливо написали, требует двух пинов для коммуникации с Arduino Uno по Tx и Rx.
Я понимаю, что есть другие моторные шилды, которые используют 2 мотора и позволят совместно использовать BT, но хотелось бы использовать существующий.
Может быть подскажете что-то конкретное?
Всех благ.
хм, а чем вам не нравится пины D0, D1, D2, D3? И потом, " и 2-мя сервомоторами (без усиления, напрямую с выходов ШИМ)." - посмотрите, к каким пинам ардуины они (сервы) подключаются (этот шилд очень похож на упомянутый мной MSS shield, там сервы подключаются к D10 и D9 напрямую)
D3 используется Motor Shield (с использованием библиотеки AFMotor управляет одним из моторов (Motor (2)). D2 свободен.
Сервомоторы тоже нужны, поэтому выводы, управляющие ими, не хочется трогать.
D0 и D1 также не хочется трогать.
Аналоговые выводы. Они могут использоваться как цифровые. Если SoftwareSerial не будет работать на них, то перевесить сервы на аналоговые выходы, а на пины для серв на плате прицепить блютус.
Спасибо за советы. Всегда хорошо иметь возможность выбора.
Аналооговые пины для серво? Возможно. Но придется переписать все, что связано с использованием сервомоторов, убрать (обломать?) соединение D9, D10 Arduino Uno с соответствующими контактами Motor Shield и как-то соединять аналоговые пины с разъемами сервомоторов. Не хотелось бы.
Разве это лучше, чем мой первоначальный вариант? Напомню, я предполагал вместо четырех независимых моторов использовать две пары моторов, каждая из которых подключалась бы к одному выходу моторной платы. Освободившиеся пины (в том числе D3) использовать для BT. например так: D2 - Tx BT, D3 - Rx BT.
Уже попробовал два мотора подключать к одному выходу моторной платы - крутятся. Хватит ли мощности L293D на максимальных оборотах пока не пробовал.
Если предпологаемые условия использования позволяют ваш первоначальный вариант, то здорово. Имейте только в виду, что L293D могут (и будут!) нехило нагреваться.
А так - D13 не используется моторшилдом, судя по схематике. Можно на него и на 3 пин повесить блютус шилд, но это потребует проводка от 13 пина на шилде до RX или TX.
Зашел на сайт, чтобы сообщить Вам о своем решении: Rx BT - D2 (не D3, D3 Motor Shield), Tx BT - D13 (!) с перемычкой! И прочитал Ваше последнее сообщение, практически совпадающее в главном - использовании D13.
Конгениально, как говаривал Остап Бендер.
Все равно - спасибо за участие. Даже, если бы я сам не додумался, Ваша помощь помогла бы.
Спасибо!
Просто был не уверен в том, будет ли работать SoftwareSerial на 13 и 3 пинах. :)