我的主程序想让小车右边的轮子转动,当中断发生的时候,右边轮子停止停止,然后左边的轮子转动几秒种,问题是现在我的程序下载进去运行后,一运行右边轮子转动,然后我触发中断信号,左边轮子和右边轮子就一起动了,而且中断函数一旦运行就不再停止,谁帮我看看什么原因 抓狂啊
int INA1=20; //定义两个电机引脚
int INA2=21;
int PWMA=22;
int INB1=4;
int INB2=8;
int PWMB=3;
int IR1=2; //定义一个传感器管脚
void setup()
{
pinMode(INA1,OUTPUT); //定义电机管脚为输出
pinMode(INA2,OUTPUT);
pinMode(PWMA,OUTPUT);
pinMode(INB1,OUTPUT);
pinMode(INB2,OUTPUT);
pinMode(PWMB,OUTPUT);
pinMode(IR1,INPUT); //定义传感器管脚为输入
attachInterrupt(INT0, zuo, CHANGE); //中断
}
void zuo() //中断函数,左边电机转动函数
{
digitalWrite(INA1,LOW);
digitalWrite(INA2,HIGH);
analogWrite(PWMA,500);
delay(3000);
}
void you() //右边电机转动函数
{
digitalWrite(INB1,HIGH);//使直流电机顺时针转
digitalWrite(INB2,LOW);
analogWrite(PWMB,46.5);
}
void loop()
{
you(); //右边电机转动
}
|