#define motorPin1 7 #define motorPin2 8 #define motorEnaPin 9 #define pbPin1 3 #define pbPin2 4 int pbVal1 = 0, pbVal2 = 0; int Speed = 0; void setup() { pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorEnaPin, OUTPUT); pinMode(pbPin1, INPUT); pinMode(pbPin2, INPUT); digitalWrite(motorEnaPin, LOW); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); } void loop() { pbVal1 = digitalRead(pbPin1); pbVal2 = digitalRead(pbPin2); if (pbVal1 == HIGH && pbVal2 == LOW) { Speed += 10; } if (pbVal2 == HIGH && pbVal1 == LOW) { Speed -= 10; if (Speed < 0) Speed = 0; } if (pbVal2 == HIGH && pbVal1 == HIGH) { Speed = 0; } analogWrite(motorEnaPin, Speed); if (Speed > 0) { digitalWrite(motorPin1, HIGH); } else { digitalWrite(motorPin1, LOW); } digitalWrite(motorPin2, LOW); }