void forward(void) //小车前进控制函数
{
IN1 = 1; //将电机驱动芯片L298N的控制管脚 IN1设置成高电平
IN2 = 0; //将电机驱动芯片L298N的控制管脚 IN2设置成低电平
IN3 = 1; //将电机驱动芯片L298N的控制管脚 IN3设置成高电平
IN4 = 0; //将电机驱动芯片L298N的控制管脚 IN4设置成低电平
}
void back(void) //小车后退控制函数
{
IN1 = 0; //将电机驱动芯片L298N的控制管脚 IN1设置成低电平
IN2 = 1; //将电机驱动芯片L298N的控制管脚 IN2设置成高电平
IN3 = 0; //将电机驱动芯片L298N的控制管脚 IN3设置成低电平
IN4 = 1; //将电机驱动芯片L298N的控制管脚 IN4设置成高电平
}
void stop(void) //小车停止控制函数
{
IN1 = 0; //将电机驱动芯片L298N的控制管脚 IN1设置成低电平
IN2 = 0; //将电机驱动芯片L298N的控制管脚 IN2设置成低电平
IN3 = 0; //将电机驱动芯片L298N的控制管脚 IN3设置成低电平
IN4 = 0; //将电机驱动芯片L298N的控制管脚 IN4设置成低电平
}
void left(void) //小车向左转控制函数
{
IN1 = 0; //将电机驱动芯片L298N的控制管脚 IN1设置成低电平
IN2 = 0; //将电机驱动芯片L298N的控制管脚 IN2设置成低电平
IN3 = 1; //将电机驱动芯片L298N的控制管脚 IN3设置成高电平
IN4 = 0; //将电机驱动芯片L298N的控制管脚 IN4设置成低电平
}
void right(void) //小车向右转控制函数
{
IN1 = 1; //将电机驱动芯片L298N的控制管脚 IN1设置成高电平
IN2 = 0; //将电机驱动芯片L298N的控制管脚 IN2设置成低电平
IN3 = 0; //将电机驱动芯片L298N的控制管脚 IN3设置成低电平
IN4 = 0; //将电机驱动芯片L298N的控制管脚 IN4设置成低电平
}
void circle_right(void) //小车向右打转控制函数
{
IN1 = 1; //将电机驱动芯片L298N的控制管脚 IN1设置成低电平
IN2 = 0; //将电机驱动芯片L298N的控制管脚 IN2设置成高电平
IN3 = 0; //将电机驱动芯片L298N的控制管脚 IN3设置成高电平
IN4 = 1; //将电机驱动芯片L298N的控制管脚 IN4设置成低电平
}
void speed_jia(void)
{
if(sudu<17)sudu++;
pwmval_left_init = sudu;
pwmval_right_init = sudu;
}
void speed_jian(void)
{
if(sudu>3)sudu--;
pwmval_left_init = sudu;
pwmval_right_init = sudu;
}
void left_moto(void) //小车左电机PWM调速控制函数
{
if(left_pwm) //如果变量left_pwm为1,执行左电机pwm调速功能(left_pwm相当于一个开关,只有为1时才有pwm调速功能)
{
if(pwmval_left <= pwmval_left_init) //当pwmval_left小于等于pwm_left_init时
{
EN1 = 1;
//将电机驱动芯片的EN1管脚设置成高电平
}
else //当pwmval_left小不于等于pwm_left_init时
{
EN1 = 0;
//将电机驱动芯片的EN1管脚设置成低电平
}
if(pwmval_left >= 20) //如果 pwmval_left大于等于20
{
pwmval_left = 0; //将 pwmval_left设为0
}
}
else // 如果变量left_pwm为0,将电机驱动芯片的EN1管脚设置成低电平 (left_pwm相当于一个开关,只有为1时才有pwm调速功能)
{
EN1 = 0;
}
}
void right_moto(void) //小车右电机PWM调速控制函数
{
if(right_pwm) //如果变量right_pwm为1,执行右电机pwm调速功能(right_pwm相当于一个开关,只有为1时才有pwm调速功能)
{
if(pwmval_right <= pwmval_right_init) //当pwmval_right小于等于pwm_right_init时
{
EN2 = 1; //将电机驱动芯片的EN2管脚设置成高电平
}
else if(pwmval_right > pwmval_right_init) //当pwmval_right小不于等于pwm_right_init时
{
EN2 = 0; //将电机驱动芯片的EN2管脚设置成低电平
}
if(pwmval_right >= 20) //如果 pwmval_right大于等于20
{
pwmval_right = 0; //将 pwmval_right设为0
}
}
else //如果变量right_pwm为0,将电机驱动芯片的EN2管脚设置成低电平 (right_pwm相当于一个开关,只有为1时才有pwm调速功能)
{
EN2 = 0;
}
}
- <input type="checkbox" disabled="" />