最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

Arduino编码基础知识全解析

Arduino 少儿编程 2113浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

Arduino:一个开源社区

自从Arduino开源平台推出以来,该品牌已经成为众多开源社区的核心。Arduino生态系统包含各种型号的硬件和软件。 它以其自身的多功能性及简单界面迅速成为世界各地业余爱好者、设计师、艺术家等众多用户设计产品原型的首选工具。

 

Arduino开发板通过USB连接到计算机,并连接到Arduino开发环境(IDE)。用户在IDE中写入Arduino代码,然后将其上传到微控制器,执行代码、与输入和输出(例如传感器、电机和指示灯)进行交互。

 

初学者和专家都可以获得丰富的免费资源和材料来支持他们。用户可以查看关于如何设置其开发板的信息,甚至可以查看如何在Arduino上编写代码。 Arduino背后的开源使它对新用户和有经验的用户特别友好。网上有成千上万个Arduino代码示例。在这篇文章中,我们将带您了解Arduino编码的一些基本原理。

 

Arduino编码环境和基本工具

Arduino代码是用C ++语言编写的,增加了一些特殊的方法和函数,我们稍后会提到。 C ++是一种人类可读的编程语言。当你创建一个’草图(SKETCH)’(Arduino代码文件的名字)时,它将被处理并编译成机器语言。

 

Arduino IDE

Arduino集成开发环境(IDE)是用于编程Arduino的主要文本编辑程序。在将代码上传到想要编程的电路板之前,您可以在其中输入代码。 Arduino代码被称为草图。

 

注意:使用最新版本的Arduino IDE非常重要。可以在这里检查更新。

 

Arduino编码基础知识全解析

 

 

 

正如你所看到的,IDE具有简约的设计。菜单栏上只有5个子菜单,以及下面的一系列按钮可供您验证和上传草图。本质上,IDE将您的草图翻译并编译成Arduino可以理解的代码。一旦编译了Arduino代码,它就会上传到电路板的内存中。

 

所有用户必须做的才能开始编译他们的草图是按下一个按钮。

 

如果在Arduino代码中有任何错误,则警告消息将标记提示用户进行更改。由于Arduino严格的语法要求,大多数新用户经常遇到编译困难。如果您在使用Arduino时在标点符号上发生任何错误,代码将无法编译,您将遇到错误消息。

 

串行监视器和串行绘图仪

通过单击IDE右上方的放大镜图标或工具下方可打开Arduino串行监视器(Serial Monitor)。串行监视器主要用于使用计算机与Arduino板进行交互,并且是实时监视和调试的好工具。为了使用显示器,您需要使用Serial类。

您从circuito.io下载的代码有一个测试部分,可帮助您使用串行监视器测试每个组件,如以下屏幕截图所示:

 

Arduino编码基础知识全解析

 

 

 

Arduino串行绘图仪(Serial Plotter)是Arduino IDE的另一个组件,它允许您生成串行数据的实时图形。串行绘图仪使您更容易通过可视化显示来分析数据。您可以创建图表、负值图表和进行波形分析。

 

Arduino编码基础知识全解析

 

 

 

调试Arduino代码和硬件

与其他软件编程平台不同,Arduino没有板载调试器。用户可以使用第三方软件,也可以使用串行监视器来打印Arduino的活动进程以进行监视和调试。

 

通过使用Serial类,您可以打印到串行监视器,来调试变量的注释和值。对于大多数的Arduino型号,Serial类使用连接到USB端口的串行引脚0和1。

代码结构

库Libraries

与其他优秀的编程平台非常相似,在Arduino编程环境中,内置大量的库文件,以提供基本的功能。另外,它还可以导入其他库,以及扩展Arduino板卡的功能和特性。这些库大致分为与特定组件进行交互的库或实现新功能的库。

要导入新库,您需要转到”Sketch > Import Library”。

 

Arduino编码基础知识全解析

 

 

另外,在.ino文件的顶部,您需要使用’#include‘来包含外部的库文件。您还可以创建自定义库以在单独的草图中使用。

 

引脚定义

要使用Arduino引脚,您需要定义使用哪个引脚及其功能。一种定义使用的引脚的便捷方式是使用:

 

  1. ‘#define pinName pinNumber’。

复制代码

该功能可以是输入或输出,并且可以setup部分中使用pinMode()方法进行定义。

 

声明变量

无论何时使用Arduino,都需要声明全局变量和实例以供稍后使用。简而言之,变量允许您命名和存储将来使用的值。例如,您将存储从传感器获取的数据以便稍后使用。要声明变量,只需定义其类型、名称和初始值。

值得一提的是,声明全局变量不是绝对必要的。但是,建议您声明变量,以便更容易地使用您的值。

 

实例声明

在软件编程中,类是一个集合在一起的函数和变量。每个类都有一个称为构造函数的特殊函数,用于创建类的实例。为了使用这个类的功能,我们需要为它声明一个实例。

 

Setup()函数

每个Arduino草图都必须具有Setup()函数。这个函数定义了Arduino引导时的初始状态,并且只运行一次。

在这个部分,我们将定义以下内容:

1. 使用pinMode函数定义引脚功能

2. 引脚的初始状态

3. 初始化类

4. 初始化变量

5. 代码逻辑

 

loop()函数

loop()函数对每个Arduino草图都是必须的,并且在setup()运行完成后执行。这个是主要的函数,并且如其名称所示,它一遍又一遍地循环运行。loop函数描述了电路的主要逻辑。

例如:

 

Arduino编码基础知识全解析

 

 

注意:’void’意味着函数不返回任何值。

 

基本的Arduino代码逻辑

基本的Arduino代码逻辑是一个“if-then”结构,可以分为4个块:

● 设置 – 通常会写入Arduino代码的Setup部分,并执行只需要执行一次的操作,例如传感器校准。

● 输入 – 在loop函数的开始处,读取输入信号。 这些值将用作条件(“if”),例如使用analogRead()从LDR读取环境光强度。

● 操作数据 – 本节用于将数据转换为更方便的形式或执行计算。 例如,AnalogRead()输出0-1023的读数,其可以被映射到0-255的范围,以用于PWM(参见analogWrite())。

● 输出 – 本节根据上一步计算的数据定义逻辑的最终结果(“then”)。 参看我们的LDR和PWM示例,只有当环境光照水平低于某个阈值时才打开LED。

 

 

您必须 登录 才能发表评论!