#ifndef MOTOR_CONTROL_H #define MOTOR_CONTROL_H #include "config.h" #include // 如果使用ESP32的ledcWrite功能进行PWM调速 #if defined(ESP32) #include #define PWM_CHANNEL_LEFT 0 // ESP32 LEDC通道 0-15 #define PWM_CHANNEL_RIGHT 1 // ESP32 LEDC通道 #define PWM_FREQUENCY 5000 // PWM频率 (Hz) #define PWM_RESOLUTION 8 // PWM分辨率 (8位: 0-255) #else // 其他板子可能使用 analogWrite #include #endif void motor_setup(); // 基本电机控制 void motor_move_forward(int speed); // speed: 0-255 for PWM void motor_move_backward(int speed); void motor_stop(); // 转向控制 (TT电机差速 + 舵机辅助) // speed: 基础速度, turn_intensity: 转向强度/差速程度 (0-1.0), steer_angle: 舵机角度 void motor_turn_left(int speed, float turn_intensity, int steer_angle); void motor_turn_right(int speed, float turn_intensity, int steer_angle); void motor_set_raw_speeds(int left_speed, int right_speed); // 直接设置左右轮速度(可以是负数表示反转) // 舵机控制 void servo_attach(); void servo_set_angle(int angle); // angle: 通常0-180度 void servo_center(); void servo_detach(); #endif // MOTOR_CONTROL_H