作者:Becky Stern
关键词:开发板,Arduino,万用表
在创建 Arduino 项目时,了解所有可能出错的地方真的很难,无论是布线、代码还是软件设置。幸运的是,本文可以为您提供协助!让我们以侦探的心态,拿出您的万用表,找出问题所在。
我们将向您介绍可能会遇到的三个主要问题:您的代码无法编译、无法上传或代码没有按预期运行。
我们推荐的入门开发板是 Arduino Uno (1050-1024-ND) 或兼容开发板,例如 Adafruit Metro (1528-1214-ND)、Sparkfun Redboard (1568-1977-ND) 或 Seeeduino (102010026-ND)。本指南中还将介绍如何安装新的开发板套件以及如何使用万用表排除接线故障。

您可能遇到的第一个主要问题是点击“验证”按钮时出现编译问题。如果出现问题,您会在草图下方的控制台窗口中看到红色错误信息。第一步始终是阅读错误消息。

如果错误信息写着 “expected ‘;’ before ‘}’ token”或类似内容,则可能是有一个括号或花括号放错位置,或者其他语法错误。报告会指出问题所在的区域,但也可能指出与问题点相邻或有关联的区域。
你可以将光标移到括号或花括号上,来检查强调的部分匹配是否正确,以仔细检查括号或花括号。在编写程序时,意外删除或放错语的情况非常常见。如果你已保存了上一个阶段的代码,则可以打开该文件并进行比较,以帮助找出问题所在。

如果错误信息显示 “No such file or directory”, 则说明程序缺少一个所需的库。

请尝试在库管理器中查找并安装。或者手动下载并放入库文件夹,确保其命名正确。有关 Arduino 库的更多信息,请参阅我们之前关于 Arduino 库的文章。
您可能遇到的第二个问题是,点击“上传”按钮时出现错误,导致您无法将程序加载到 Arduino 开发板上。和之前一样,首先要做的是查看错误消息。

如果显示 “can’t open device” 或 “programmer is not responding,”,则可能是工具菜单中选择的板或端口不正确。

通常情况下,像您在更改电路时应该做的那样,当您拔下电路板插头并重新插上时, Arduino IDE 会忘记您选择了哪个端口。

如果这是您第一次使用新开发板,您可能还需要仔细检查是否已安装必要的驱动程序和电路板支持。为此,请阅读产品文档,您可以在其中找到开发板的 URL,然后将其粘贴到 Arduino 偏好设置中。

然后,您可以在电路板管理器中找到您的电路板并安装它。如果一切配置正确,就可以从菜单中选择合适的板和端口,然后上传代码。

如果您的电路板出现在列表中,则表示已安装电路板支持。选择错误的电路板也会导致编译错误,因为并非所有电路板都具有相同的可编程功能。
如果您的电路板未出现在可用端口中,则可能意味着您缺少软件驱动程序,或者您的 USB 线是充电专用线。请确保您使用的USB 线是支持数据传输的线缆,仔细检查产品文档以确定是否需要驱动程序,然后尝试使用计算机上的其他 USB 端口。
像往常处理技术问题时,有时只需重新启动 Arduino 软件或整个计算机,然后重试即可。
这里也可能存在一些不太常见的问题。如果 Arduino 安装在计算机上的错误位置,它的行为就会异常。曾经有学生尝试从 Mac 上的下载文件夹运行该应用程序,结果在权限问题上出现了一些非常模糊的错误信息。

加密狗问题不太常见,但确实会发生。如果您使用的是 USB 适配器并遇到问题,请尝试更换它,最好是供电的USB集线器,或无需使用适配器的新线缆,这样就完全不需要适配器了。
您可能遇到的第三个问题是,程序编译和上传成功了,但却无法按照您的预期运行。请仔细检查代码中指定的引脚编号是否与设备连接的引脚编号相同。尤其要仔细检查电源和地线。如果电源和地线短路,计算机会检测到异常电流,并通过切断 USB 端口的电源进行自我保护。您通常会收到有关设备耗电过大的警告。您可能无法再次使用此 USB 端口,直到重新启动计算机。

要排除线路故障,请确保电路已断开电源,并将万用表设置为通断模式。

将探针触碰应该连接着的两端的其中一端,如果连接成功,你应该会听到万用表发出一声提示音。

你还需要确保所有不该连接的设备都没有连接。用探针接触两端,确保听不到任何提示音。

有时,你的面包板电线可能会在内部不显眼的地方断裂,或者无焊面包板的某个区域弹性不足,导致接触不良,又或者你根本没注意到有东西插错了位置。万用表是检查这些问题的有效方法。

在解决了任何编译、上传或接线问题之后,你可能仍需要进行相当多的代码调整才能让你的电路产生预期的输出效果。您可以在代码的各个部分添加一些Serial.print()语句,以查看它们是否正在执行以及执行频率。

Arduino 网站上也有一些很棒的参考资料,即使做这行很久的伙伴,也会经常去查找相关资料。不要忽视这个重要资源,请多加利用它。
- 语言参考通过命令组来描述整个编程语言的各个部分,并附有简单的示例来演示每个命令。
- 他们还提供了更详尽的错误消息列表及其含义。
- 您可以在 DigiKey 技术论坛中技寻找您的问题和错误消息的解决方法,或者在 Arduino 项目中心上查找类似的项目,甚至可以分享您自己的项目。
在探索Arduino项目的过程中,遇到问题并非失败,而是精进技能的必经之路。本文通过梳理代码编译异常、程序上传失败和程序逻辑偏差三大常见问题,为您排除障碍,顺利完成您的项目。每一次成功的排障都将深化您对Arduino的理解,让创意更稳健地落地成型。
关于本系列视频
电子设计博大精深,对于初学者来说,有一定的难度。本系列视频旨在介绍一些入门级的技术和技巧,包括电路设计基础知识、简单程序设计等,让初学者从基础开始,再一步步向更进阶出发,在电子设计的世界里,发掘更多乐趣,同时也可以让电子设计爱好者温故知新。
关于Becky Stern

Becky Stern是一名创客,拥有多年设计电子项目的经验,创作和分享是她两大爱好。在独立创业之前,她曾担任 Instructables (Autodesk) 的产品经理、Adafruit 的可穿戴电子产品总监等。她的作品曾被 BBC、CNN、Business Insider、Forbes 和 Science Friday 等知名媒体报导过。她创建了数百个关于技术和手工制作的线上DIY教程和视频,旨在分享她的知识,帮助同是电子设计爱好者的同路人学习,以及相互交流。
喜欢【与Becky入门电子世界】系列吗? 请关注订阅并点赞和分享,敬请留意下一期!
相关产品:
![]() Arduino ARDUINO UNO R3 ATMEGA328P 开发板 |
![]() Adafruit METRO ATMEGA328评估板 |
![]() SparkFun
REDBOARD QWIIC ATMEGA328评估板 |
![]() Seeed Technology
SEEEDUINO V4.3 ATMEGA328P开发板 |
![]() FLIR Extech 万用表 |
小编的话:
对于Arduino初学者而言,本期内容希望能够帮助大家提升对编程基础的认知,培养调试思维,熟悉开发环境与硬件关联,增强故障排查能力,强化逻辑思维训练,以及提高问题分析与解决能力。我们相信,成功解决项目中的问题所带来的成就感,以及在这一过程中积累的实践经验,也将为未来更复杂的项目开发奠定坚实的基础。结合实际经验,您对本期内容有哪些想法?欢迎留言,和DigiKey的朋友们分享交流!
******
如有任何问题,欢迎联系得捷电子DigiKey客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com

到微信搜寻“digikey”或“得捷电子”
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利