有DREAM的ZX 发表于 2015-11-5 23:35:40

通过Arduino用PWM控制L298N转速

int IN1=4;
int IN2=5;
int IN3=6;
int IN4=7;
int ENA=10;//使能端口1
int ENB=11;//使能端口2
int i;
//数字端口4与5为一组,6与7为另一组

//数字端口10 11 作为直流电机的使能端
void setup() {   
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void Motor1(boolean reverse)//电机1
{
if (reverse)
{
   for(i=0;i<=255;i++)

{analogWrite(ENA,i);
analogWrite(ENB,i);
   delay(500);}
}   
else
{
   for(i=255;i>=0;i--)      
{analogWrite(ENA,i);
analogWrite(ENB,i);
         delay(500);}   
   }
}
void Motor2(boolean reverse)//电机2
{
if (reverse)
{
   for(i=0;i<=255;i++)
   {analogWrite(ENB,i);
   delay(500);}
}   
else
{
   for(i=255;i>=0;i--)      
    {analogWrite(ENB,i);
         delay(500);}
   }
}
void loop()
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Motor1(1);
Motor1(0);
Motor2(1);
Motor2(0);
}

情仇 发表于 2015-12-27 16:48:03

电机1的可以写成这样吗?就是把i给个固定值
void Motor1(boolean reverse)//电机1
{
    if (reverse)
{
   inti=10;
   analogWrite(ENA,i);
   delay(500);
}   
}

逆天子 发表于 2016-9-24 11:10:53

原来如此,我一直直接写pwm的都不知道有使能端
页: [1]
查看完整版本: 通过Arduino用PWM控制L298N转速