I can't get this code to work. The button code and the step motor code works separately. However, when I code using an if statement saying when the button is pressed the motor will move or else it won't. PLEASE HELP.
const int buttonPin = 7;
int buttonState = 0;
int serialData = 0;
#define IN_1 8
#define IN_2 9
#define IN_3 10
#define IN_4 11
#define DELAY_TIME 30
int i = 0;
void setup() {
Serial.begin(9600);
pinMode(IN_1, OUTPUT);
pinMode(IN_2, OUTPUT);
pinMode(IN_3, OUTPUT);
pinMode(IN_4, OUTPUT);
pinMode(buttonPin, INPUT);
Serial.print ("start");
}
void loop() {
buttonState = digitalRead (buttonPin);
if (buttonState == HIGH) {
//delay(1000);
for (i=0; i<4; i++)
Serial.println ("pressed");
switch (i) {
case 3: // ASCII value for '1'
digitalWrite(IN_1, HIGH);
delay(DELAY_TIME);
digitalWrite(IN_1, LOW);
break;
case 1: // ASCII value for '2'
digitalWrite(IN_2, HIGH);
delay(DELAY_TIME);
digitalWrite(IN_2, LOW);
break;
case 0: // ASCII value for '3'
digitalWrite(IN_3, HIGH);
delay(DELAY_TIME);
digitalWrite(IN_3, LOW);
break;
case 2: // ASCII value for '4'
digitalWrite(IN_4, HIGH);
delay(DELAY_TIME);
digitalWrite(IN_4, LOW);
break;
default:
Serial.println("Not a valid case");
break;
}
if (i == 4) {
i = 0;
} else {
i = 5;
}
}
}
if
supposed to achieve in yourfor
loop that changes thei
value to 5 all the time supposed to achieve?