Здравствуйте! Приобрел себе матрешку У, поизучал ардуино, поделал всякие схемки, диодики там, фоторезисторы с делителями напряжения, дисплей... и замахнулся на платформу Pirate http://amperka.ru/collection/mechanics/product/pirate-chassis решив подключить ее посредством http://amperka.ru/collection/boards/product/arduino-motor-shield Так вот, кхм, столкнулся я с тем, что про подключение Motor Shield информации в инете КРАЙНЕ МАЛО. Нарыл на сайте производителя http://www.dfrobot.com/wiki/index.php?title=Arduino_Motor_Shield_(L298N)_(SKU:DRI0009) немного инфы, но там по минимуму. Например, минимальный код для примера: Код (Text): //Arduino PWM Speed Control: int E1 = 5; int M1 = 4; int E2 = 6; int M2 = 7; void setup() { pinMode(M1, OUTPUT); pinMode(M2, OUTPUT); } void loop() { int value; for(value = 0 ; value <= 255; value+=5) { digitalWrite(M1,HIGH); digitalWrite(M2, HIGH); analogWrite(E1, value); //PWM Speed Control analogWrite(E2, value); //PWM Speed Control delay(30); } } Я не понимаю таких вещей: - Е1 и Е2 - это что-то вроде виртуальных пинов, управляющих скоростью через ШИМ (ну или PLL, если соответствующие перемычки воткнуть), а М1 и М2 - как бы переключатели, меняющие полярность на высокоточных клеммах шилда (зеленые которые)? - Зачем в коде им назначаются диджитал пины 4-7? чтобы можно было задать их тип как INPUT и затем управлять мотором непосредственно от сигналов воткнутого туда датчика? А как тогда с ШИМ -сигналом - ему нужен аналоговый сигнал, а пины цифровые. -Что делает данный код? У меня он разгоняет колеса и тут же их тормозит. Вроде "+= " должно разогнать на максимум и оставить максимум? Питание подвел, естественно, внешнее, перемычки на плате поставил на внешнее питание. -есть пример какого-нибудь кода для данной платформы, с комментариями? Ну например, чтобы она ехала и останавливалась по команде с ИК-сенсора. Чтобы я покурил код и сам разобрался, а не спрашивал тут все.
ШИМ это сигнал "цифровее небывает" На его выходе, только нолики и единички, а вот насколько долго включена единичка зависит скорость или яркость. analogwrite вас явно сбил с толку, эта команда работает с цифровыми пинами, и не со всеми, а только совместимыми с PWM.