Arduino是相对于stm32最简单的一个控制单片机,其多用于相对较简单的控制,用于学科竞赛以及毕业设计之中,为了让大家入门,接下来的几期我将会分享Arduino小车的控制部分,希望入门新手能够学习。以下为对应的核心代码:
以下代码仅利用PWM对轮子电机速度进行调节,进而实现前进与后退
const int N_R=4;
const int P_R=5;
const int N_L=6;
const int P_L=7;
const int pwm_R=9;
const int pwm_L=10;
void setup()
{
pinMode(P_R,OUTPUT);
pinMode(N_R,OUTPUT);
pinMode(P_L,OUTPUT);
pinMode(N_L,OUTPUT);
pinMode(pwm_R,OUTPUT);
pinMode(pwm_L,OUTPUT);
}
void loop()
{
forward(190,200);
delay(2000);
pause(0,0);
delay(2000);
back(190,200);
delay(2000);
pause(0,0);
delay(2000);
}
void forward(byte RmotorSpeed, byte LmotorSpeed)
{
analogWrite(pwm_R,RmotorSpeed);
analogWrite(pwm_L,LmotorSpeed);
digitalWrite(P_R,HIGH);
digitalWrite(N_R,LOW);
digitalWrite(P_L,LOW);
digitalWrite(N_L,HIGH);
}
void back(byte RmotorSpeed, byte LmotorSpeed)
{
analogWrite(pwm_R,RmotorSpeed);
analogWrite(pwm_L,LmotorSpeed);
digitalWrite(P_R,LOW);
digitalWrite(N_R,HIGH);
digitalWrite(P_L,HIGH);
digitalWrite(N_L,LOW);
}
void pause(byte RmotorSpeed, byte LmotorSpeed)
{
analogWrite(pwm_R,RmotorSpeed);
analogWrite(pwm_L,LmotorSpeed);
digitalWrite(P_R,LOW);
digitalWrite(N_R,LOW);
digitalWrite(P_L,LOW);
digitalWrite(N_L,LOW);
}