Платформа Pirate и Motor Shield

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Turder, 26 фев 2013.

  1. Turder

    Turder Нуб

    Здравствуйте!
    Приобрел себе матрешку У, поизучал ардуино, поделал всякие схемки, диодики там, фоторезисторы с делителями напряжения, дисплей... и замахнулся на платформу 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 и затем управлять мотором непосредственно от сигналов воткнутого туда датчика? А как тогда с ШИМ -сигналом - ему нужен аналоговый сигнал, а пины цифровые.

    -Что делает данный код? У меня он разгоняет колеса и тут же их тормозит. Вроде "+= " должно разогнать на максимум и оставить максимум? Питание подвел, естественно, внешнее, перемычки на плате поставил на внешнее питание.

    -есть пример какого-нибудь кода для данной платформы, с комментариями? Ну например, чтобы она ехала и останавливалась по команде с ИК-сенсора. Чтобы я покурил код и сам разобрался, а не спрашивал тут все.
     
  2. Dmitriy Kunin

    Dmitriy Kunin Гик

    ШИМ это сигнал "цифровее небывает" :)
    На его выходе, только нолики и единички, а вот насколько долго включена единичка зависит скорость или яркость.
    analogwrite вас явно сбил с толку, эта команда работает с цифровыми пинами, и не со всеми, а только совместимыми с PWM.
     
  3. Turder

    Turder Нуб

    Да, ступил) модуляция по длине импульса же.