Motor Shield DK Electronics

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

Здравствуйте! Вот приобрел себе вот такую платку http://arduino.shopium.ua/products/arduino-motor-and-servo-shield-001/ работает хорошо, но как понять какие пины она именно использует, мне просто нужно ещё два сонара поместить, а плата когда ставится на UNO перекрывает все контакты. Решил сделать как на фото, но к каким контактам подключать motor shield? Помогите пожалуйста.

 

maksim
Offline
Зарегистрирован: 12.02.2012

Свободными остаются: A0, A1, A2, A3, A4, A5, D0, D1, D2, D13. 
Не забываем что D0 и D1 используются UART'ом - Serial.
Также если не подключать сервы, то свободны D9 и D10.
И помним, что все аналоговые входы (UNO) могут работать как цифровые.

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

а если я хочу подключить только 2 мотора из 4? сервы тоже не нужны

maksim
Offline
Зарегистрирован: 12.02.2012

В принципе тогда можно еще пару выводов высвободить, НО смотря для чего, ведь драйвер все равно будет подключен к этим выводам, если конечно вы не уберете провода от этих выводов.

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

мне б как-нибудь бы 2 сонара прилепить ну и экран тоже нужен,но не сильно.

maksim
Offline
Зарегистрирован: 12.02.2012

Ну так прилепите, в чем проблема?

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

контактов свободных мало =( как настроить аналоговые под цифровые? какие контакты освободятся, если мне надо ток 2 мотора?

step962
Offline
Зарегистрирован: 23.05.2011

Tarantul_acc пишет:

как настроить аналоговые под цифровые?

Вообще-то, у МК все пины изначально цифровые. И поступают ровно наоборот: "настраивают их под аналоговые", а точнее - активируют альтернативную функцию АЦП.

Что, собсно и является "аналоговым" пином в терминологии Arduino (но отнюдь не Atmel/AVR).

Так что - ничего делать  не надо. Буквально. Активирование альтернативной функции АЦП происходит в рамках вызова функции analogRead().

maksim
Offline
Зарегистрирован: 12.02.2012
digtalRead(A0); 
pinMode(A0, OUTPUT); 
digitalWrite(A0, HIGH);

 

Tarantul_acc пишет:

какие контакты освободятся, если мне надо ток 2 мотора?

Смотря какие выводы вы задействуете.

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

так в том то и дело, что я не знаю какие именно выводы берёт на себя шилд чтобы подключать другое

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

вот как мне задать сонару, что его выводы эт а0 а1 и т.д. Раньше я писал так:

const int Trig = 8; 
const int Echo = 9; 

void setup() 
{  
pinMode(Trig, OUTPUT); 
pinMode(Echo, INPUT); 

 а сечас как?

maksim
Offline
Зарегистрирован: 12.02.2012

Tarantul_acc пишет:

так в том то и дело, что я не знаю какие именно выводы берёт на себя шилд чтобы подключать другое

По другому задам вопрос - к каким выводам вы собираетесь подключить двигатели? к М1? к М2? к М3? или к М4?

step962
Offline
Зарегистрирован: 23.05.2011

Это вы не сонару задаете, а ардуине.

Посмотрите глазами, куда вы воткнули вывод второго сонара, идентичный выводу первого сонара, подключенному к пину D8 (или 8, или Trig). Предположим, это будет D5. Ну так и пишите:

pinMode(5,OUTPUT);

Такую же операцию выполните и с другим пином. Предположим, все свободные "цифровые" пины у вас кончились и вам пришлось второй проводок (тот, который у первого сонара висит на 9-м пине "Echo") от второго сонара воткнуть в A3. Пишите

pinMode(A3,INPUT);

Как это "красиво" сделать через именованные константы, думаю, сами разберетесь...

 

maksim
Offline
Зарегистрирован: 12.02.2012

Tarantul_acc пишет:

вот как мне задать сонару, что его выводы эт а0 а1 и т.д. Раньше я писал так:

#define Trig A0
#define Echo A1

void setup() 
{  
pinMode(Trig, OUTPUT); 
pinMode(Echo, INPUT); 
.....

 

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

один к m1, другой к m2

step962
Offline
Зарегистрирован: 23.05.2011

только имена констант другие возьмите, например, Trig2 и Echo2, а то с первым сонаром законфликтуете.

maksim
Offline
Зарегистрирован: 12.02.2012

Тогда еще освободятся 5 и 6 выводы дуины.

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

Свободными остаются: A0, A1, A2, A3, A4, A5, D0, D1, D2, D5, D6, D9, D10, D13 ?

maksim
Offline
Зарегистрирован: 12.02.2012

Ага, при условии выше описанного.

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

Спасибо! Буду разбираться!

Tarantul_acc
Tarantul_acc аватар
Offline
Зарегистрирован: 09.03.2013

Подскажите пожалуйста код, чтобы сделать что-то типо обьезжалки с сонарами