Hi so I am trying to code a steppermotor with 4 seperate positions. Now if I don't use "{ }" to close the if loop the motor will run position 2,3,4 when button for 2 is pressed. However when I close all if statements with "{ }" the arduino gets confused and runs a position continuously.
Now having this problem I think it has something to do with too many IF statements. When I implement else or else if statements with my current code
void loop()
{
digitalWrite(22, LOW); //Homing
if (digitalRead(52) == HIGH)
{
while (digitalRead(53) == LOW)
{
stepper.setSpeed(-100);
stepper.runSpeed();
}
}
stepper.setCurrentPosition(0); //Limit switch
if (digitalRead(53) == HIGH)
{
while (stepper.currentPosition() != 10)
{
stepper.setSpeed(200);
stepper.runSpeed();
}
}
stepper.setCurrentPosition(0); //Position 1
if (digitalRead(50) == HIGH)
{
while (stepper.currentPosition() != 50)
{
stepper.setSpeed(100);
stepper.runSpeed();
}
stepper.setCurrentPosition(0);
delay(1000);
}
stepper.setCurrentPosition(0); //Position 2
else if (digitalRead(48) == HIGH)
{
while (stepper.currentPosition() != 25)
{
stepper.setSpeed(100);
stepper.runSpeed();
}
stepper.setCurrentPosition(0);
delay(1000);
stepper.setCurrentPosition(0); //Position 3
else (digitalRead(46) == HIGH)
while (stepper.currentPosition() != -35)
{
stepper.setSpeed(-100);
stepper.runSpeed();
}
stepper.setCurrentPosition(0);
delay(1000);
stepper.setCurrentPosition(0); //Position 4
if (digitalRead(44) == HIGH)
while (stepper.currentPosition() != 75)
{
stepper.setSpeed(100);
stepper.runSpeed();
}
delay(1000);
stepper.setCurrentPosition(0);
while (stepper.currentPosition() != -115)
{
stepper.setSpeed(-100);
stepper.runSpeed();
}
}
}
I get the following error
"
exit status 1
'else' without a previous 'if'
"
Anyone know what I am doing wrong?
Thank you in advance