L298n如何使用驱动两个直流电机
本帖最后由 zz19111584 于 2015-8-17 17:39 编辑如图,ena enb 是什么意思?
in1 in2 in3 in4 应该是4个信号输入
看资料上写的还有板子供电 应该怎么接
还有如果外界电源的时候怎么接线,请大神指点 ena,enb,in1,in2,in3,in4,out1,out2,out3,out4这几个看l298n的手册就知道了。ena和enb分别是两个直流电机信号的使能开关。
+12V是驱动电机的电源,+5v是把12v降压成5v做为输出供单片机及外围电路用。 /*
EXcode 8-1
*/
// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;
// motor B
int dir1PinB = 9;
int dir2PinB = 8;
int speedPinB = 6;
int speed;
int dir;
void setup()
{
pinMode(dir1PinA,OUTPUT);
pinMode(dir2PinA,OUTPUT);
pinMode(speedPinA,OUTPUT);
pinMode(dir1PinB,OUTPUT);
pinMode(dir2PinB,OUTPUT);
pinMode(speedPinB,OUTPUT);
speed = 0;
dir = 1;
}
void MOTORDRIVE(int speed,int dir)
{
analogWrite(speedPinA,speed);
if (dir == 1)
analogWrite(speedPinB,speed);
if (dir == 1)
{
digitalWrite(dir1PinA,LOW);
digitalWrite(dir2PinA,HIGH);
digitalWrite(dir1PinB,LOW);
digitalWrite(dir2PinB,HIGH);
}
else
{
digitalWrite(dir2PinA,HIGH);
digitalWrite(dir2PinA,LOW);
digitalWrite(dir2PinB,HIGH);
digitalWrite(dir2PinB,LOW);
}
}
void loop()
{
MOTORDRIVE(speed,dir);
speed += 20;
if (speed>225)
speed=0;
if (1 == dir)
dir = 0;
else
dir = 1;
delay(1000);
}
上面的代码和接线图应该能帮你 本帖最后由 zz19111584 于 2015-8-17 17:41 编辑
asdfcgdc 发表于 2015-8-17 14:14 static/image/common/back.gif
上面的代码和接线图应该能帮你
现在点击能转了,正反都可以,但是怎么调速呢,看了你的代码 610 是调速,我这个板子不ena 是两根 短接上去了 A路就能用了,用10接ena A路点击就不转了 ,我右穿了个图,就是绿圈那个 %5Battachimg%5D26763 zz19111584 发表于 2015-8-17 17:38 static/image/common/back.gif
现在点击能转了,正反都可以,但是怎么调速呢,看了你的代码 610 是调速,我这个板子不ena 是两根 短 ...
图片看不到,调节延时有用么
页:
[1]