实现功能是红外遥控电机,按一下电机启动,再按一下电机停止(在LED灯上实验可行),在电机上不可行,必须运行完motor1()后,方可关闭,如果采用中断的话,得怎么个方法,求助
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume(); //重新接收红外
}
if(results.value==0xFFA25D)
{
motorA();
}
void motorA()
{
if(flag==0)//标志,初始为0
{
flag=1;
motorA1();
}else
{
digitalWrite(jdq1,LOW);//继电器控制电机断电
flag=0;
}
}
void motorA1()
{
digitalWrite(jdq1,HIGH);//继电器控制电机通电
motor1();
digitalWrite(jdq1,LOW);//继电器控制电机断电
}
void motor1() //利用方波控制电机速度
{
for(double i=0;i<400;i+=0.1)
{
digitalWrite(motorPin1, HIGH);
delay(1);
digitalWrite(motorPin1, LOW);
delay(1);
}
} |