const int M1 = 5; //low side 1 pwm control const int M2 = 8; //hig side 2 control const int M3 = 6; // low side 2 pwm control const int M4 = 7; // hig side 1 pwm control int val1=0; void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps pinMode(M1, OUTPUT); pinMode(M2, OUTPUT); pinMode(M3, OUTPUT); pinMode(M4, OUTPUT); Serial.begin(9600); } void loop() { while (Serial.available() > 0) { //READ SERIAL DATA int val = Serial.parseInt(); //if (Serial.read() == '%d') { val = 0 + constrain(val, -255, 275); if (val > 0) { analogWrite(M1,val); digitalWrite(M2,HIGH); //FORWARD analogWrite(M3,0); digitalWrite(M4,LOW); } if (val < 0) { val1=0-val; analogWrite(M1,0); digitalWrite(M2,LOW); //BACKWARD analogWrite(M3,val1); digitalWrite(M4,HIGH); } if (val > 270) { val=0; analogWrite(M1,0); digitalWrite(M2,HIGH); //STOP analogWrite(M3,0); digitalWrite(M4,HIGH); } } delay(100); }