用esp8266控制uln2003驱动24byj48步进电机,代码如下,不能按钮控制停止for循环,请问怎么改代码
void zheng(){
digitalWrite(2, 1);
digitalWrite(16, 1);
delay(5);
digitalWrite(2, 0);
digitalWrite(16, 0);
delay(5);
digitalWrite(2, 1);
delay(5);
digitalWrite(2, 0);
delay(5);
digitalWrite(4, 1);
digitalWrite(2, 1);
delay(5);
digitalWrite(4, 0);
digitalWrite(2,0);
delay(5);
digitalWrite(4, 1);
delay(5);
digitalWrite(4, 0);
delay(5);
digitalWrite(5, 1);
digitalWrite(4, 1);
delay(5);
digitalWrite(5, 0);
digitalWrite(4, 0);
delay(5);
digitalWrite(5, 1);
delay(5);
digitalWrite(5, 0);
delay(5);
digitalWrite(16, 1);
digitalWrite(5, 1);
delay(5);
digitalWrite(16, 0);
digitalWrite(5, 0);
delay(5);
digitalWrite(16, 1);
delay(5);
digitalWrite(16, 0);
delay(5);
}
void stop(){
digitalWrite(16, 0);
digitalWrite(5, 0);
digitalWrite(4, 0);
digitalWrite(2, 0);
}
void button6_callback(const String &state)
{
for(int i=0;i<110;i++)
{BLINKER_LOG("get button state: ", state);
if (state == "press")zheng();
else if (state != "press")break;}
}
void setup() {
pinMode(16,OUTPUT);
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(2,OUTPUT);
//按钮绑定
Button5.attach(button5_callback);
Button6.attach(button6_callback);
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth,ssid,pswd);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
Slider1.attach(slider1_callback);
myservo.attach(D5);
myservo.write(10);
pinMode(D5, OUTPUT);
}
void loop()
{
Blinker.run();
}