借助易用型 Arduino 入门套件,开启创客世界大门
投稿人:DigiKey 北美编辑
2019-06-25
市面上约有数百种资源专门面向“创客”,这些人希望学习如何构建设备,以此感知并响应周围环境。事实证明,对于非工程师和工程师而言,这是一种创造性的亚文化——倡导每个人都参与学习、相互指导,融入这个由电子产品、控制系统、微型计算机、传感器和致动器构成的世界。想要涉足这个世界,最简单的方法之一是使用创客代表 Arduino 推出的入门套件。
Arduino 的微控制器板及其相关软件在其开源硬件和软件社区推广销售。这些电子电路板具有微控制器,支持随机存取存储器 (RAM)、只读存储器 (ROM) 和集成电路 (IC),形成开源电子原型开发平台。这些平台包含所有必需的组件,可供完成一系列具有完善文档说明的创客项目。
本文作者(一名工程师)基于个人经验对 Arduino 入门套件作了相关介绍。
Arduino 入门套件
Arduino 入门套件包含启动和运行 15 个项目所需的所有组件(图 1)。
图 1:Arduino 入门套件结合 Arduino UNO 微控制器板与一系列电子元器件,并随附一本 171 页的 "Arduino Projects Book"(《Arduino 项目手册》),为用户开启互动电子产品世界的大门。(图片来源:Arduino)
该入门套件使用常用的 Arduino UNO 微控制器板,该板基于 Microchip Technology 的 ATmega328P 微控制器 IC(图 2)。
图 2:Arduino UNO 板包含支持 ATmega328P 微控制器所需的所有元件。(图片来源:Arduino,DigiKey 注释)
UNO 板具有 14 个数字输入/输出引脚,其中 6 个支持脉冲宽度调制 (PWM) 以控制 LED 亮度和音量。此外,还有 6 个模拟输入由逐次逼近型模数转换器 (ADC) 提供支持;该转换器具有 10 位分辨率,全分辨率下的转换速率为 15 kS/s。内置时钟具有独立的 16 MHz 石英晶体。为便于连接计算机,还提供 USB 端口。用户既可以选择由 USB 端口供电,也可通过板载电源插孔供电,该电路板可自动选择电源。
虽然 UNO 的板载引导程序可用于正常编程,但也可通过旁路绕过,从而可通过在线串行编程 (ICSP) 接口对微控制器进行编程。最后,UNO 板具有复位按钮,必要时可以轻松恢复默认状态。
ATmega328P 处理器是一款低功耗 8 位微控制器,采用增强型精简指令集计算机 (RISC) 架构(图 3)。RISC 架构使用单时钟周期指令,因而执行吞吐率相当高。
图 3:Arduino UNO 使用的 8 位 ATmega328P 微控制器功能框图。该电路板基于 RISC 架构,使用单周期指令,执行速度快。(图片来源:Microchip Technology)
ATmega328P 的板载存储器采用非易失性存储器区块形式,包括 32 KB 的闪存程序存储器,1 KB 的电可擦除可编程只读存储器 (EEPROM),以及 2 KB 的静态随机存取存储器 (SRAM)。Arduino UNO 的 ATmega328 可通过引导程序预编程,让用户可以直接上传新代码,无需使用外部硬件编程器。引导程序占用 500 字节闪存程序存储器。该芯片包含多个串行数据接口,包括通用异步接收器发送器 (UART)、串行外设接口 (SPI) 和双线接口,即内部集成电路 (I2C) 总线。
Arduino 入门套件有五种不同的语言版本。该套件包含 Arduino UNO 微控制器板和构建 15 个不同项目所需的所有组件。171 页的 Arduino Projects Book 可指导用户完成这些项目。这本书介绍了使用 Arduino UNO 作为所有项目核心所需的硬件和软件元素。
清晰解释设备和术语
初涉电子和编程世界时,初学者经常遇到的问题之一就是对相关设备和术语不熟悉。Arduino Projects Book 一书开篇就介绍了套件中的各种元器件,包括 134 种电子元器件以及 Arduino UNO 板,从而解决了这一问题。在这一章节中,展示了每种元器件的图片,并分别描述了器件功能。该章节的末尾列出了各种元器件的原理图符号。
由于初学者可能还不熟悉电子原型开发板或试验板,因此该手册用一个章节详细说明了如何在随附的试验板上以无焊接方式连接组件。该章节以图示描绘了试验板的导电条,并说明了电源总线的运行方式。用户若是首次使用套件中的原型开发板,就能以此消除困惑。
Projects Book 介绍了一般元器件后,简要概述了 UNO 板的布局,其中着重介绍了电路板的接口、指示器和交互式开关。该章节中列举的硬件术语表涵盖了后续章节中使用的术语。
下一章节介绍了在 Windows、Mac 或 Linux 操作系统中设置 Arduino 软件的基本方法。使用的主要软件是 Arduino 集成开发环境 (IDE),可以从 Arduino 网站下载。IDE 软件环境中创建的可执行代码可直接加载至 Arduino UNO 板。
着手构建项目
加载 IDE 软件后,该手册介绍了通过 USB 连接建立主机与 UNO 板通信的具体步骤。此外,如果遇到任何困难,该手册也提供了 Arduino 故障排除和 IDE 参考章节的相关参考链接。此时,用户就可以开始构建项目了。
针对每个项目,手册中都详细说明了如何选择所需的元器件(每个项目都专门以图示列出各组件)以及如何在原型开发板上连接各组件。例如,项目 02 称作“太空船界面”,连接一个开关和三个 LED,创建“控制面板”,按下开关即可确定触发哪个 LED。该手册中的每个项目说明中都提供了完成该项目所需的预计用时 - 这个项目为 45 分钟。项目 02 的“组件列表”包括一个按钮开关、三个 LED、三个 220 Ω 电阻和一个 10 kΩ 电阻。在原型开发试验板上,可使用已剥皮的预截断跨接线来连接电路。该章节特地使用一页的篇幅,指导初学者如何识别电阻的颜色代码,以便将来独立构建项目时使用。
电路接线与 Projects Book 插图,如图 4 所示。Project Book 显示了实物接线图和原理图。通过比较两张图片,用户可快速学习原理图符号的含义以及如何连接各组件。
图 4:Projects Book 的接线说明和原型开发板与 UNO 板的实际接线。相关说明以实物图和原理图两种形式呈现。(图片来源:DigiKey)
软件是构建该项目的最后阶段。Arduino UNO 板的 ATmega328P 等微控制器使用的编程指令较为低级,即机器代码。机器代码本质上是用于控制内部硬件的一系列二进制数。但是,机器代码无需手动编写。系统使用高级语言编程,然后分几步转换为微控制器可处理的二进制命令,从而显著简化编程过程。如前所述,用于执行该操作的工具是 Arduino 集成 IDE。
项目 02 对软件代码作了进一步说明,Arduino 将其称作“草图”。其中详细介绍草图的每个必需步骤,解释编码语句将执行的操作(图 5)。
图 5:Arduino IDE 程序编辑器中的项目 02 程序或“草图”。(图片来源:DigiKey)
用户可以手动输入代码,也可以从 "File"(文件)下拉菜单下载代码(图 6)。
图 6:Arduino IDE 中提供了所有项目的草图。用户可以选择相应草图或手动输入代码(若需要)。(图片来源:DigiKey)
输入代码后,可以在 IDE 界面中的 "Sketch"(草图)下拉菜单,使用 "Verify/Compile"(验证/编译)进行编译。编译器将检查代码的语法及其他错误。编译完成后,IDE 界面将有所指示,此时即可将代码加载到 UNO 板的闪存程序存储器中。加载功能也可从 "Sketch"(草图)下拉菜单启动。UNO 板编程完毕后,绿色 LED 点亮。按下按钮开关,绿色 LED 熄灭,红色 LED 闪烁。
以上步骤虽简单却隐含了大量编程技巧,如汇编、链接和加载,将高级命令转译为二进制代码以运行微控制器。随着时间和经验的累积,初学者将获得这些知识,但此时无需多虑,尽管享受个中乐趣。
此时,Projects Book 提出一些问题,让用户思考如何修改程序,并邀请用户使用草图测试程序。随着用户参照手册实践的项目增多,电路和程序的复杂性也相应增加,从而使用户累积更多经验,扩大知识面。
总结
凭借开源原型开发平台、各种电子元器件和易用型软件,Arduino 入门套件拥有工程师和非工程师初涉电子创客世界所需的所有工具。更多创意及原型开发技巧,请访问 Maker.io 并搜索相关项目。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。