这是我自己写的蓝牙控制步进电机程序,上电后一切正常,就是连接蓝牙后,发送一次指令,电机就转一下,不发送就停止。
想求教大神指点,责骂改一下就可以在发送一次指令后让电机一直转?
int pin1=8;
int pin2=9;
int pin3=10;
int pin4=11;
//int stepperSpeed = 30;
int val;
void setup()
{
Serial.begin(9600);
pinMode (pin1,OUTPUT);
pinMode (pin2,OUTPUT);
pinMode (pin3,OUTPUT);
pinMode (pin4,OUTPUT);
}
void loop ()
{
val=Serial.read();
if(val=='1')
{
Serial.println("go");
digitalWrite (pin1,LOW);
digitalWrite (pin2,HIGH);
digitalWrite (pin3,HIGH);
digitalWrite (pin4,HIGH);
delay(5);
digitalWrite (pin1,LOW);
digitalWrite (pin2,LOW);
digitalWrite (pin3,HIGH);
digitalWrite (pin4,HIGH);
delay(5);
digitalWrite (pin1,HIGH);
digitalWrite (pin2,LOW);
digitalWrite (pin3,HIGH);
digitalWrite (pin4,HIGH);
delay(5);
digitalWrite (pin1,HIGH);
digitalWrite (pin2,LOW);
digitalWrite (pin3,LOW);
digitalWrite (pin4,HIGH);
delay(5);
digitalWrite (pin1,HIGH);
digitalWrite (pin2,HIGH);
digitalWrite (pin3,LOW);
digitalWrite (pin4,HIGH);
delay(5);
digitalWrite (pin1,HIGH);
digitalWrite (pin2,HIGH);
digitalWrite (pin3,LOW);
digitalWrite (pin4,LOW);
delay(5);
digitalWrite (pin1,HIGH);
digitalWrite (pin2,HIGH);
digitalWrite (pin3,HIGH);
digitalWrite (pin4,LOW);
delay(5);
digitalWrite (pin1,LOW);
digitalWrite (pin2,HIGH);
digitalWrite (pin3,HIGH);
digitalWrite (pin4,LOW);
delay(5);
}
if(val=='2')
{
Serial.println("stop");
digitalWrite (pin1,HIGH);
digitalWrite (pin2,HIGH);
digitalWrite (pin3,HIGH);
digitalWrite (pin4,HIGH);
}
} |