int a=100;//speed for motor int x=1;//current value int x1=0; int x2=0; int x3=0; int x4=0; int x5=0; int y=0; int z=0; const int pwmA=3; const int pwmB=11; const int brakeA=9; const int brakeB=8; const int dirA=12; const int dirB=13; void setup() { pinMode (dirA,OUTPUT); pinMode (brakeA,OUTPUT); pinMode (dirB,OUTPUT); pinMode (brakeB,OUTPUT); digitalWrite (brakeA,LOW); digitalWrite(dirA,HIGH); analogWrite(pwmA,a); delay(2000);//get motor started x1=analogRead(A0); delay(10); x2=analogRead(A0); delay(10); x3=analogRead(A0); delay(10); x4=analogRead(A0); delay(10); x5=analogRead(A0); delay(10); x=((x1+x2+x3+x4+x5)/5); } void loop() { z=analogRead(A0);//read current //if(z>(x+150)) {//test again //delay(20); //z=analogRead(A0); if(z>(x+320)) { digitalWrite(dirA,LOW); analogWrite(pwmA,a); delay(18000); digitalWrite(dirA,HIGH); analogWrite(pwmA,a); delay(2000); } }