Geegrow L298N + motor + joystik

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем HEtort, 30 июн 2019.

  1. HEtort

    HEtort Нуб

    Здравствуйте. Выложу материал по драйверу моторов L298N от компании Geegrow. Собрал схемку подключения одного мотора. Скетч дёрнул тут и немного подправил http://www.cyberforum.ru/arduino/thread1658955.html

    [​IMG]
    Код (C++):
    #include <AFMotor.h>

    int enA = 8, in1 = 3, in2 = 9;  //enA = М1

    int xValue, yValue;
    void setup() {
      pinMode(enA, OUTPUT);
      pinMode(in1, OUTPUT);
      pinMode(in2, OUTPUT);

      Serial.begin(9600);
    }
    void loop() {
      xValue = map(analogRead(A2), 0, 1024, -255, 255);
      yValue = map(analogRead(A1), 0, 1024, -255, 255);
      Serial.print(xValue);
      Serial.print("\t");    
      Serial.print(yValue);  
      Serial.print("\t");
      if (xValue >= -0 && xValue <= 0)  {
        digitalWrite(in1, LOW);
        digitalWrite(in2, LOW);
        Serial.print("X stop\t");
      }
      if (xValue > 0)  {
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
        analogWrite(enA, xValue);
        Serial.print("X up\t");
      }
      if (xValue < -0)  {
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
        analogWrite(enA, -xValue);
        Serial.print("X down\t");
      }
      Serial.println("");
    }
     
    По мере движения буду обновлять.
     
  2. Daniil

    Daniil Гуру

    Тут есть раздел "глядите что я сделал", может, туда?
     
  3. parovoZZ

    parovoZZ Гуру

    Нужен новый раздел - смотрите, что накопипастил.
     
    vvr нравится это.
  4. b707

    b707 Гуру

    парни, вы самое интересное не заметили, смотрите какая строчка классная:
    Код (C++):
    if (xValue >= -0 && xValue <= 0)  {
     
    Daniil и DetSimen нравится это.
  5. Asper Daffy

    Asper Daffy Гуру

    А чо? Смысл в этой строчке имеется, компилятор хавает, чего ещё надо? Там, кстати, пониже ещё одна такая есть.

    Гораздо хуже другая строчка:
    Код (C++):
    analogWrite(enA, -xValue);
    Это уже большим ляпом пахнет.
     
  6. b707

    b707 Гуру

    какой?
    (xValue == 0) ?
    или я каких-то красивых изысков не понял?
     
  7. b707

    b707 Гуру

    каким, кстати?
    я бы просто написал " -1 * х"и не задумывался бы, а что даст - x даже не знаю.
     
  8. Asper Daffy

    Asper Daffy Гуру

    Значение никогда (ни при каком analogRead) не будет 255. Проверь сам.