Помогите понять , что отвечает за движение колеса вперёд и назад , когда мы двигаем стик #include <PS2X_lib.h> //for v1.6 #include <Servo.h> PS2X ps2x; int PS2 = 0; Servo LXservo; const int in1 = 3; // direction pin 1 const int in2 = 2; // direction pin 2 const int ena = 6; // PWM pin to change speed int fspeed; // forward speed void setup(){ LXservo.attach(6); PS2 = ps2x.config_gamepad(52,48,50,46, true, true); //Настройка выводов: (clock, command, attention, data, true, true) pinMode(in1, OUTPUT); // connection to L298n pinMode(in2, OUTPUT); // connection to L298n pinMode(ena, OUTPUT); // connection to L298n pinMode(14, OUTPUT); // Фары pinMode(15, OUTPUT); // Стопаки pinMode(16, OUTPUT); // Стопаки от кнопки pinMode(1, OUTPUT); // Поворот на лево pinMode(7, OUTPUT); // Поворот на право } void loop(){ ps2x.read_gamepad(); if(ps2x.ButtonPressed(PSB_CIRCLE)) digitalWrite(8, HIGH); if(ps2x.ButtonPressed(PSB_TRIANGLE)) digitalWrite(8, LOW); if(ps2x.ButtonPressed(PSB_SQUARE)) digitalWrite(5, HIGH); if(ps2x.ButtonPressed(PSB_CROSS)) digitalWrite(5, LOW); // if(ps2x.ButtonPressed(PSB_R1)) digitalWrite(7, HIGH); // if(ps2x.ButtonPressed(PSB_R2)) digitalWrite(7, LOW); if (ps2x.Analog(PSS_LY) == 123) {analogWrite(ena, 0);digitalWrite(in1, LOW);digitalWrite(in2, LOW);} if (ps2x.Analog(PSS_LY) > 123){ fspeed = map(ps2x.Analog(PSS_LY), 124, 255, 0, 255); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, fspeed); digitalWrite(15, HIGH); } if (ps2x.Analog(PSS_LY) < 123){ fspeed = map(ps2x.Analog(PSS_LY), 0, 122, 255, 0); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, fspeed); digitalWrite(15, LOW); } LXservo.write(map(ps2x.Analog(PSS_RX), 0, 255, 65, 105)); if (ps2x.Analog(PSS_RX) < 120){ digitalWrite(1, HIGH); digitalWrite(7, LOW); } if (ps2x.Analog(PSS_RX) > 150){ digitalWrite(7, HIGH); digitalWrite(1, LOW); } if (ps2x.Analog(PSS_RX) > 120 && ps2x.Analog(PSS_RX) < 150){ digitalWrite(1, LOW); digitalWrite(7, LOW); } delay(5); }
if (ps2x.Analog(PSS_LY) > 123){ fspeed = map(ps2x.Analog(PSS_LY), 124, 255, 0, 255); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(ena, fspeed); digitalWrite(15, HIGH); } if (ps2x.Analog(PSS_LY) < 123){ fspeed = map(ps2x.Analog(PSS_LY), 0, 122, 255, 0); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(ena, fspeed); digitalWrite(15, LOW); }