Ардуино+l398n+джойстик+потенциометр

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Alimedia, 21 сен 2021.

Метки:
?

Помогите по скетчу

  1. 2

    0 голосов
    0,0%
  2. 3

    0 голосов
    0,0%
Можно выбрать сразу несколько вариантов.
  1. Alimedia

    Alimedia Нуб

    Код (C++):
    int enA = 9, in1 = 4, in2 = 5;
    int enB = 10, in3 = 6, in4 = 7;
    int xValue, yValue, pValue, p2Value;
    void setup() {
    pinMode(enA, OUTPUT);
    pinMode(enB, OUTPUT);
    pinMode(in1, OUTPUT);
    pinMode(in2, OUTPUT);
    pinMode(in3, OUTPUT);
    pinMode(in4, OUTPUT);
    Serial.begin(9600);
    }
    void loop() {

    pValue = map(analogRead(A2), 0, 1023, 0, 100);
    p2Value = map(analogRead(A3), 0, 1023, 0, 100);
    xValue = map(analogRead(A0), 0, 1023, -255, 255);
    yValue = map(analogRead(A1), 0, 1023, -255, 255);

    xValue = xValue * pValue / 100;
    yValue = yValue * p2Value / 100;

    Serial.print(xValue);
    Serial.print("\t");
    Serial.print(yValue);
    Serial.print("\t");
    if (xValue >= -10 && xValue <= 10) {
    digitalWrite(in1, LOW);
    digitalWrite(in2, LOW);
    Serial.print("X stop\t");
    }
    if (xValue > 11) {
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
    analogWrite(enA, xValue);
    Serial.print("X up\t");
    }
    if (xValue < -11) {
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    analogWrite(enA, -xValue);
    Serial.print("X down\t");
    }
    if (yValue >= -10 && yValue <= 10) {
    digitalWrite(in3, LOW);
    digitalWrite(in4, LOW);
    Serial.print("Y stop\t");
    }
    if (yValue > 11) {
    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);
    analogWrite(enB, yValue);
    Serial.print("Y up\t");
    }
      if (yValue < -11) {
    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);
    analogWrite(enB, -yValue);
    Serial.print("Y down\t");
    }
    Serial.println("");
    }
     
     
  2. SergeiL

    SergeiL Оракул Модератор

    От потенциометра отходят три провода
    Если GND - A2 - 5В вправо уменьшается, влево увеличивается.
    Если поменять на 5В - A2 - GND то будет наоборот. влево уменьшается, вправо увеличивается.
     
  3. Alimedia

    Alimedia Нуб

    Дар поменяла работал правильно
     
  4. Alimedia

    Alimedia Нуб

    Я вам блоголарен за помощи. Спосибо огромной