Cześć, chciałbym sterować czterema silnikami za pomocą joysticka tylko nie potrafię napisać poprawnie w funkcji loop żeby np: Jeśli joystick zostanie przesunięty w górę to odwoła się do funkcji void forward(), a jeśli w dół to do funkcji void backward(). Jak to ustawić? Może są jakieś spece od joysticków :D
#define joystick_x A0 const int motor11 = 2; //silnik lewy przód const int motor12 = 4; const int motor21 = 7; //silnik lewy tył const int motor22 = 8; const int motor31 = 12; //silnik prawy przód const int motor32 = 13; const int motor41 = 3; //sinik prawy tył const int motor42 = 6; const int enablePin = 5; //pin do zmiany prędkości int sspeed; int odczyt_x; void setup() { Serial.begin(9600); //ustawiam silniki jako wyjścia pinMode(motor11, OUTPUT); pinMode(motor12, OUTPUT); pinMode(motor21, OUTPUT); pinMode(motor22, OUTPUT); pinMode(motor31, OUTPUT); pinMode(motor32, OUTPUT); pinMode(motor41, OUTPUT); pinMode(motor42, OUTPUT); } void loop() { odczyt_x = analogRead(joystick_x); if(odczyt_x < 507) { stopp(); } if(odczyt_x > 511) { forward(sspeed); } } //pętla dla pojazdu w bezruchu void stopp() { digitalWrite(motor11, LOW); digitalWrite(motor12, LOW); digitalWrite(motor21, LOW); digitalWrite(motor22, LOW); digitalWrite(motor31, LOW); digitalWrite(motor32, LOW); digitalWrite(motor41, LOW); digitalWrite(motor42, LOW); } //pętla dla pojazdu jadącego do przodu void forward(int sspeed) { digitalWrite(motor11, HIGH); digitalWrite(motor12, HIGH); digitalWrite(motor21, LOW); digitalWrite(motor22, LOW); digitalWrite(motor31, HIGH); digitalWrite(motor32, HIGH); digitalWrite(motor41, LOW); digitalWrite(motor42, LOW); analogWrite(enablePin, sspeed); //pin do zmiany prędkości } //pętla dla pojazdu jadącego do tyłu void backward(int speed) { digitalWrite(motor11, LOW); digitalWrite(motor12, LOW); digitalWrite(motor21, HIGH); digitalWrite(motor22, HIGH); digitalWrite(motor31, LOW); digitalWrite(motor32, LOW); digitalWrite(motor41, HIGH); digitalWrite(motor42, HIGH); analogWrite(enablePin, sspeed); //pin do zmiany prędkości }