问题基本解决了,我把后3根线pinI3、pinI4和speedpin0接到另一块驱动板上,一切正常了,程序扩展为
int button_1 =5;//按钮1连在数字端口1
int button_2 =4;//按钮2连在数字端口2
char flag ;
int pinI1=8;//定义I1接口
int pinI2=9;//定义I2接口
int speedpin=10;//定义EA(PWM调速)接口
int pinI3=11;//定义I1接口
int pinI4=12;//定义I2接口
int speedpin0=13;//定义EA(PWM调速)接口
void setup()
{ pinMode(button_1, INPUT); //设置按钮1为输入
pinMode(button_2, INPUT); //设置按钮2为输入
Serial.begin(9600);//设置串行通信的波特率
pinMode(pinI1,OUTPUT);//定义该接口为输出接口
pinMode(pinI2,OUTPUT);
pinMode(speedpin,OUTPUT);
pinMode(pinI3,OUTPUT);//定义该接口为输出接口
pinMode(pinI4,OUTPUT);
pinMode(speedpin0,OUTPUT);
}
void loop()
{
if( digitalRead(button_1)==LOW&&digitalRead(button_2)==HIGH)
{
flag='a';
Serial.println(flag);//向从机发送灯亮标志
analogWrite(speedpin,600);//输入模拟值进行设定速度
delay(20);
digitalWrite(pinI1,LOW);//使直流电机顺时针转
digitalWrite(pinI2,HIGH);
}
if( digitalRead(button_2)==LOW&&digitalRead(button_1)==HIGH)
{
flag='b';
Serial.println(flag);//向从机发送灯亮标志
analogWrite(speedpin,600);//输入模拟值进行设定速度
delay(20);
digitalWrite(pinI2,LOW);//使直流电机顺时针转
digitalWrite(pinI1,HIGH);
}
analogWrite(speedpin0,600);//输入模拟值进行设定速度
delay(20);
digitalWrite(pinI3,LOW);//使直流电机顺时针转
digitalWrite(pinI4,HIGH);
}
运行一切正常,不知道是不是因为电压或者线路的问题,如果6根控制线放一快驱动板上就会有问题,哪位大侠能告诉我这是怎么回事。我用的是这款产品http://item.taobao.com/item.htm?spm=a230r.1.14.17.ykPsMj&id=10904745518&_u=qml7km73c8 |