diff --git a/TaiChi/moveTaiChi.cpp b/TaiChi/moveTaiChi.cpp index 4801ee0..ae65b91 100644 --- a/TaiChi/moveTaiChi.cpp +++ b/TaiChi/moveTaiChi.cpp @@ -83,9 +83,9 @@ void Move::Wheel(uint8_t wheel, uint8_t rotation, float speed_rate) return; //结束函数 } - analogWrite(pin_enx, speed_rate * global_speed_rate * 255.0); //设置 PWM 波,即转速 + analogWrite(pin_enx, abs(speed_rate) * global_speed_rate * 255.0); //设置 PWM 波,即转速 - if (rotation == FORWARD_ROTATION) //向前转动 + if ((rotation == FORWARD_ROTATION && speed_rate >= 0) || (rotation == BACKWARD_ROTATION && speed_rate < 0)) //向前转动 { digitalWrite(pin_in1, LOW); digitalWrite(pin_in2, HIGH); diff --git a/TaiChi/moveTaiChi.h b/TaiChi/moveTaiChi.h index 972eeb4..ae4cc65 100644 --- a/TaiChi/moveTaiChi.h +++ b/TaiChi/moveTaiChi.h @@ -30,7 +30,7 @@ #define DEFAULT_GLOBAL_SPEED_RATE 1.0 //默认转向时一侧减速的比率 -#define DEFAULT_TRUN_SPEED_RATE 0.5 +#define DEFAULT_TRUN_SPEED_RATE -1.0 //左侧 L298N 接口定义 #define LEFT_L298N_IN1 22