数码工坊
白蓝主题五 · 清爽阅读
首页  > 表格技巧

用表格理清Arduino调试的那些坑

ref="/tag/149/" style="color:#B2A89E;font-weight:bold;">调试不是靠猜,得有章法

刚上手Arduino的时候,很多人以为写完代码烧进去就完事了。可现实往往是:灯不亮、电机不动、串口没输出。这时候盯着代码干瞪眼没用,得把问题拆开看。

我见过不少朋友在调试时直接改代码、反复烧录,试一次等十秒,效率低还容易漏掉关键线索。其实有个更稳的办法——把调试过程列成表格。

为什么用表格记录调试步骤

举个例子,你接了个温湿度传感器,数据老是读不出来。这时候别急着换线或者重写代码。拿张纸或者打开Excel,建个简单的四列表格:

测试项预期结果实际结果备注
电源电压5V4.8V正常范围
接线顺序DHT22 DATA → D2接到了D3接错引脚
串口波特率96009600匹配
库是否加载已包含DHT.h未include漏了头文件

这么一列,问题立马浮出水面——两个低级错误叠加,导致程序跑不起来。要是靠脑子记,很容易忽略其中一个。

串口输出也得规整地看

Arduino最常用的调试手段就是Serial.print()。但很多人一股脑输出一堆信息,串口监视器里乱成一团。建议加标签输出,再配合表格整理。

void loop() {
  float temp = dht.readTemperature();
  float hum = dht.readHumidity();

  Serial.print("TEMP: ");
  Serial.println(temp);
  Serial.print("HUM: ");
  Serial.println(hum);

  delay(1000);
}

这样串口输出看起来清楚多了。你可以把这些输出结果复制到表格里,对比每次修改后的变化。

常见问题对照表,省时又省力

时间久了,可以积累一张“Arduino调试对照表”,下次遇到类似问题直接查:

现象可能原因验证方式解决方法
板子不识别驱动未装或USB线坏换电脑或换线测试重装CH340驱动
上传失败选错开发板型号检查工具→开发板选项改为Arduino Uno
LED闪烁异常delay时间设错打印当前状态调整延时参数
传感器无响应供电不足或接触不良万用表测电压单独供电或重新插拔

这张表不用一次做完,每次解决问题就补一条。慢慢你就发现,很多“新问题”其实是老毛病换了个马甲。

变量状态也能放进表格里

比如你要调一个PID控制小车直行,三个参数来回变,光靠感觉调不准。不如把每次试验的Kp、Ki、Kd值和小车表现记录下来:

KpKiKd表现
2.00.10.5左右晃,不稳定
1.50.10.8基本走直,稍偏右
1.50.150.8稳定直线行驶

这样调参不再是盲人摸象,而是看得见的进步。