我的世界肝帝玩家评论的话题
我的世界肝帝玩家 2周前 评论了 霜雪萤灯 创建的话题 › 每日学习一种法律知识,今天要学习的是:网络言论的法律边界与责任。

即使现在的网管的已经很好了,但是想要找什么还是能找得到的,只是难找和不难找而已

我的世界肝帝玩家 2周前 评论了 美好的时光 创建的话题 › 你们的手机充电是喜欢等到电量完全用光,然后再充电的呢,还是手机电量,剩余多少开始充电的呢

我大概是三四十开始充,充到80多

我的世界肝帝玩家 2周前 评论了 夜舞倾城 创建的话题 › 关于音乐剪辑的问题,求解答?

等我把我这个音频裁剪的网站的延时问题处理好之后,你就可以把那一段延迟剪掉了

我的世界肝帝玩家 2周前 评论了 星空璀璨  创建的话题 › 今日灌水话题。大家一般把手机充电的时候,是边充边玩了还是充满了在玩。或者是充到百分之多少就拔下来了。

一般从三四十充到80多左右

我的世界肝帝玩家 2周前 评论了 美好的时光 创建的话题 › 请问一个关于天坛百宝箱的一个问题

可以这么理解

我的世界肝帝玩家 2周前 评论了 他是對的人我不是 创建的话题 › 问问大家有什么办法,我找到一本书,很想看,然后只有番茄飞鸟什么的平台有,但是又不能倒出来,

可以看一下阅读

我的世界肝帝玩家 2周前 评论了 我的世界肝帝玩家 创建的话题 › 音频裁剪器网页分享

这玩意太复杂了,不会弄啊

我的世界肝帝玩家 2周前 评论了 我的世界肝帝玩家 创建的话题 › 音频裁剪器网页分享

这个网页结构已经简单到一种程度了啊

我的世界肝帝玩家 2周前 评论了 我的世界肝帝玩家 创建的话题 › 音频裁剪器网页分享

噢,吓我一跳啊

我的世界肝帝玩家 2周前 评论了 瘦瘦的潼恩 创建的话题 › 糟了,我的灵光用不了了

看看网络的什么其他的有没有问题

我的世界肝帝玩家 2周前 评论了 美好的时光 创建的话题 › 给天坛读屏提一个意见

像这种情况一般都是系统问题,可以尝试尝试,看看能不能给录音加一些快捷方式,然后就可以把读屏暂停或者关闭,再用快捷方式启动录音来录

我的世界肝帝玩家 2周前 评论了 青青子衿 创建的话题 › 国内回答问题能力最强的AI是哪一款

这玩意儿随便用,反正都免费,所以可以自己去下一下那些软件来玩,看看哪个更适合

我的世界肝帝玩家 2周前 评论了 ir 创建的话题 › 求大家能不能给我一个可以用的MultiTTS。明明资源以前的版本就能用,我安装最新版后,居然直接报错

我用的版本 1.8.3能用啊

我的世界肝帝玩家 2周前 评论了 达人 创建的话题 › 但是豆包生成的这些代码,你们猜猜,这些都是用来干嘛的

这段代码存在编译致命错误、功能逻辑BUG、硬件运行隐患,同时有不少可优化的点,我按优先级给你拆解清楚,最后附上修正后的可直接运行的完整代码。

一、致命编译错误(直接导致无法上传运行)

1. 缺少Servo库头文件
第一行仅写了 #include ,没有引入舵机库的核心头文件,编译器无法识别 Servo 类,直接编译报错。
正确写法: #include <Servo.h> 

 

二、功能逻辑BUG(能编译但大概率无法正常使用)

1. 串口指令匹配失效的核心坑
 Serial.readStringUntil('\n')  读取指令时,Windows串口工具默认发送 \r\n 换行,会把 \r (回车符)留在字符串里,导致实际读取到的指令是 右胳膊\r ,和你写的 右胳膊 完全匹配不上,指令直接无效。
2. delay()阻塞导致串口响应完全失效
所有动作里的 delay() 会完全阻塞CPU,延时期间无法响应任何串口指令。比如你在握手动作的1秒多延时里发送「复位」,必须等整个握手动作全部执行完才会响应,实时性极差,还会丢指令。


 

三、硬件与运行隐患(能运行但容易烧硬件/出故障)

1. 平台兼容性问题
你用的 14、27、26、25、33、32 引脚是ESP32开发板的引脚,不是标准Arduino Uno/Nano的引脚(Uno最大数字引脚为13),如果用Uno板会直接报错,必须用ESP32开发板。
2. 舵机电源烧板风险
8个舵机同时动作时,瞬间启动电流非常大。如果直接用ESP32开发板的5V/3.3V给舵机供电,大概率会导致开发板反复复位、掉电,甚至烧坏电源芯片。
必须给舵机用独立5V电源(额定电流2A以上),且舵机电源必须和ESP32共地。
3. 舵机堵转烧毁风险
不同品牌舵机的有效角度范围不同(部分微型舵机仅支持0-120°),你代码里的40°、130°、140°等角度,若超出舵机的物理行程,会导致舵机堵转,长时间堵转直接烧毁舵机。





 

四、修正后的完整可运行代码

cpp

#include <Servo.h>

// 引脚定义(统一管理,方便修改)
#define R1_PIN 13
#define R2_PIN 12
#define L1_PIN 14
#define L2_PIN 27
#define RL1_PIN 26
#define RL2_PIN 25
#define LL1_PIN 33
#define LL2_PIN 32







// 舵机对象
Servo R1, R2;
Servo L1, L2;
Servo RL1, RL2;
Servo LL1, LL2;



// 初始姿态函数声明
void initPose();

void setup(){
Serial.begin(115200);
// 等待串口连接稳定(ESP32可选,提升兼容性)
while(!Serial) delay(10);


// 舵机挂载引脚
R1.attach(R1_PIN);
R2.attach(R2_PIN);
L1.attach(L1_PIN);
L2.attach(L2_PIN);
RL1.attach(RL1_PIN);
RL2.attach(RL2_PIN);
LL1.attach(LL1_PIN);
LL2.attach(LL2_PIN);







// 上电复位到初始姿态
initPose();
Serial.println("机器人初始化完成,等待指令");
}


// 初始姿态
void initPose(){
R1.write(90);
R2.write(90);
L1.write(90);
L2.write(90);
RL1.write(90);
RL2.write(80);
LL1.write(90);
LL2.write(80);
delay(1000);
Serial.println("已复位到初始姿态");
}











// 右胳膊动作
void armRight(){
R1.write(130);
R2.write(40);
delay(800);
initPose();
Serial.println("右胳膊动作完成");
}






// 左胳膊动作
void armLeft(){
L1.write(50);
L2.write(140);
delay(800);
initPose();
Serial.println("左胳膊动作完成");
}






// 握手动作
void handShake(){
R1.write(110);
R2.write(60);
delay(500);
R2.write(30);
delay(300);
R2.write(60);
delay(300);
R2.write(30);
delay(300);
initPose();
Serial.println("握手动作完成");
}












// 站起来动作
void standUp(){
RL2.write(90);
LL2.write(90);
delay(1000);
Serial.println("已执行站起来动作");
}





void loop(){
// 串口指令读取与处理
if(Serial.available()){
String cmd = Serial.readStringUntil('\n');
cmd.trim(); // 核心修复:去掉首尾的回车、空格、换行符,解决匹配失效问题



// 用else if提升效率,避免无效判断
if(cmd == "右胳膊"){
  armRight();
}
else if(cmd == "左胳膊"){
  armLeft();
}
else if(cmd == "握手"){
  handShake();
}
else if(cmd == "站起来"){
  standUp();
}
else if(cmd == "复位"){
  initPose();
}
else{
  // 未知指令反馈,方便调试
  Serial.print("未知指令:");
  Serial.println(cmd);
}

}
}
 

 

五、进阶优化建议

1. 用 millis() 定时器代替 delay() ,实现非阻塞动作,执行动作的同时可以随时响应新指令(比如紧急停止/复位)。
2. 给舵机角度加范围限制,避免输入超出行程的角度导致堵转。
3. 增加舵机缓动功能,让舵机转动更顺滑,减少冲击和电流峰值。

我的世界肝帝玩家 2周前 评论了 骄傲的少年 创建的话题 › 问一个关于抖音的问题。

可能是某些机制加强了

我的世界肝帝玩家 2周前 评论了 wancairang 创建的话题 › 来分享一下使用刀包一个比较无语的事情

6

我的世界肝帝玩家 2周前 评论了 喵星球的小黑猫 创建的话题 › 来分享一个可以下载电影的网站,来自百度
我的世界肝帝玩家 2周前 评论了 夜舞倾城 创建的话题 › 来说一个豆包的新功能,一个

已经是最新了,完全更不动了

我的世界肝帝玩家 2周前 评论了 按钮在哪里面关 创建的话题 › 读屏软件,有时间还会不多,要重新启动一下,在哪里面设置?

有点听不懂啊

我的世界肝帝玩家 2周前 评论了 夜舞倾城 创建的话题 › 来说一个豆包的新功能,一个

我这没有啊