Look4sat蓝牙追星云台

//这是一个追星云台的小程序
//配合Look4sat蓝牙传输数据(W*** A***),并让电机做出动作
//app设置内填好ESP32的蓝牙MAC,数据格式:W$AZ A$EL 
//希望大家可以共同改进
//移除使能Pin,有待研究
//尽量注释了,思考了一个大概框架,用Ai来Debug
//2025.2.22 1800 BJ HoyAngX

#include <BluetoothSerial.h>

// Bluetooth实例
BluetoothSerial SerialBT;

// DRV8825引脚定义(已移除使能引脚控制)
#define DIR_PIN_AZ     16  // 方位角电机DIR(步进方向)引脚
#define STEP_PIN_AZ    17  // 方位角电机STEP(脉冲 PUL)引脚

#define DIR_PIN_EL     22  // 仰角电机DIR(步进方向)引脚
#define STEP_PIN_EL    23  // 仰角电机STEP(脉冲 PUL)引脚

#define LED_PIN        2   // LED引脚(ESP32内置LED)

// 全局变量
float targetAzimuth = 0.0;    // 目标方位角
float targetElevation = 0.0;  // 目标仰角
const float STEP_ANGLE = 1.8 / 32; // 32细分,每步0.05625°
const long STEPS_PER_REV = 200 * 32; // 每圈步数:6400步(42电机,200步/圈)
const long MAX_EL_STEPS = 90 / STEP_ANGLE; // 仰角最大步数:1600步(90°)
long currentAzSteps = 0;      // 当前方位角步数
long currentElSteps = 0;      // 当前仰角步数
bool wasConnected = false;    // 记录上一次蓝牙连接状态

void setup() {
  Serial.begin(115200); // 调试串口
  SerialBT.begin("StarTracker"); // Bluetooth名称

  // 初始化LED引脚
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  Serial.println("LED引脚已初始化");

  // 初始化DRV8825引脚(仅DIR和STEP)
  pinMode(DIR_PIN_AZ, OUTPUT);
  pinMode(STEP_PIN_AZ, OUTPUT);
  pinMode(DIR_PIN_EL, OUTPUT);
  pinMode(STEP_PIN_EL, OUTPUT);
  Serial.println("DRV8825引脚已初始化");

  // 初始化
  Serial.println("开始初始化序列...");
  initializeGimbal();

  Serial.println("追星云台已就绪&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值