单片机互通调试初步完成
This commit is contained in:
37
esp32_robot_firmware/motor_control.h
Normal file
37
esp32_robot_firmware/motor_control.h
Normal file
@@ -0,0 +1,37 @@
|
||||
#ifndef MOTOR_CONTROL_H
|
||||
#define MOTOR_CONTROL_H
|
||||
|
||||
#include "config.h"
|
||||
#include <Arduino.h>
|
||||
|
||||
// 如果使用ESP32的ledcWrite功能进行PWM调速
|
||||
#if defined(ESP32)
|
||||
#include <ESP32Servo.h>
|
||||
#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 <Servo.h>
|
||||
#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
|
||||
Reference in New Issue
Block a user