📜  Arduino编码基础

📅  最后修改于: 2020-12-27 03:09:04             🧑  作者: Mango

Arduino编码基础

我们已经讨论了流行的Arduino开发板,Arduino IDE和Arduino软件的安装过程。我们了解到, C++的简单编程语言编写。

从Arduino开始的第一步是IDE下载和安装。

让我们讨论从Arduino编程开始的基础知识。

括号

Arduino编码中使用两种类型的支架,如下所示:

  • 括弧 ( )
  • 大括号 { }

括弧 ( )

括号括起来是一组参数,例如method, 函数或code语句。这些也可用于对数学方程式进行分组。

大括号 { }

代码中的语句括在大括号中。我们始终要求使用闭合的花括号来匹配代码或草图中的打开的花括号。

大括号-' { '

大括号-' } '

行注释

有两种类型的行注释,以下列出:

  • 单行注释
  • 多行评论

//单行注释

在两个正斜杠之后写入的文本被视为单行注释。编译器将忽略在两个正斜杠之后编写的代码。该注释将不会显示在输出中。指定此类文本是为了更好地理解代码或解释任何代码语句。

//(两个正斜杠)还用于忽略一些额外的代码行而不删除它。

/ *多行注释* /

编写多行注释是为了对信息进行分组以便清楚地理解。它以单个正斜杠和一个星号( / * )开头。它也以/ *结尾。通常用于编写较大的文本。这是一条注释,编译器也将忽略它。

编码画面

编码屏幕分为两个块。设置被视为准备块,而循环被视为执行块。如下图所示:

设置和循环块中的语句集用大括号括起来。我们可以根据特定项目的编码要求编写多个语句。

例如:

void setup ( )
{
Coding statement 1;
Coding statement 2;
.
.
.
Coding statement n;
}
void loop ( )
{
Coding statement 1;
Coding statement 2;
.
.
.
Coding statement n;
}

什么是安装程序?设置块中写入什么类型的代码?

它包含要执行的代码的初始部分。引脚模式,库,变量等在设置部分中初始化。在程序上载期间以及Arduino板复位或加电后,仅执行一次。

零设置()位于每个草图的顶部。程序一开始运行,大括号内的代码就会在安装程序中执行,并且只执行一次。

什么是循环?循环块中编写什么类型的代码?

循环包含重复执行的语句。根据变量的值重复花括号内的代码部分。

Arduino的时间

Arduino编程中的时间以毫秒为单位。

其中1秒= 1000毫秒

我们可以根据毫秒调整时间。

例如,对于5秒钟的延迟,显示的时间将为5000毫秒。

例:

让我们考虑一个简单的LED闪烁示例。

打开此类示例的步骤为:

  • 单击菜单栏上的文件按钮。
  • 单击示例
  • 单击基本选项,然后单击闪烁

该示例将在新窗口中重新打开,如下所示:

  • void setup()将包括pinMode作为主要函数。

pinMode()

特定的引脚号在pinMode()函数设置为INPUT或OUTPUT。

语法为: pinMode(引脚,模式)

哪里,

密码:这是密码。我们可以根据要求选择引脚号。

模式:我们可以根据相应的引脚号将模式设置为INPUT或OUTPUT。

让我们通过一个例子来了解pinMode。

例:我们想将12引脚号设置为输出引脚。

码:

pinMode (12, OUTPUT);

为什么建议将引脚模式设置为OUTPUT?

特定引脚号的OUTPUT模式可为其他电路提供大量电流,足以使传感器运行或使LED明亮点亮。引脚的输出状态被认为是低阻抗状态。

引脚的高电流和短路会损坏ATmel芯片。因此,建议将模式设置为OUTPUT。

我们可以将pinMode设置为INPUT吗?

在输入模式期间,digitalWrite()将禁用LOW。输出引脚将被视为高电平。

我们可以使用INPUT模式来使用外部下拉电阻。我们需要将pinMode设置为INPUT_PULLUP。它用于反转输入模式的性质。

上拉模式提供足够的电流,以使LED暗淡点亮,该LED在INPUT模式下连接到引脚。如果LED指示灯工作暗淡,则表明此状况正在解决。

因此,建议将引脚设置为OUTPUT模式。

  • 无效循环()将包括digitalWrite()delay()作为主要函数。

digitalWrite()

digitalWrite()函数用于将引脚的值设置为HIGH或LOW。

哪里,

:设置电压值。对于5V板,它将设置5V的值,而对于3.3V,将设置3.3V的值。

LOW :将值设置为0(GND)。

如果我们未将pinMode设置为OUTPUT,则LED可能会变暗。

语法为: digitalWrite(引脚,值HIGH / LOW)

引脚:我们可以指定引脚号或声明的变量。

让我们看一个例子。

例:

digitalWrite (13, HIGH); 
digitalWrite (13, LOW);

高电平将使LED亮,低电平将熄灭与13号插针相连的LED。

digitalRead()和digitalWrite()有什么区别?

digitalRead()函数将从数字引脚读取HIGH / LOW值,而digitalWrite()函数用于设置数字引脚的HIGH / LOW值。

延迟()

delay()函数是一种阻止函数,用于在指定的持续时间内(以毫秒为单位)暂停程序执行任务。

例如,-延迟(2000)

其中1秒= 1000毫秒

因此,它将提供2秒的延迟。

码:

digitalWrite (13, HIGH); 
delay (2000);
digitalWrite (13, LOW);
delay (1000);

在此,连接到引脚号13的LED点亮2秒钟,熄灭1秒钟。该任务将像在void循环()中一样重复执行。

我们可以根据我们的选择或项目要求设置持续时间。

示例:要点亮连接到插针编号13的LED,我们希望将LED点亮4秒钟,然后将LED熄灭1.5秒钟。

码:

void setup ()
{
pinMode ( 13, OUTPUT);  // to set the OUTPUT mode of pin number 13.
}
void loop ()
{
digitalWrite (13, HIGH); 
delay (4000);  // 4 seconds = 4 x 1000 milliseconds
digitalWrite (13, LOW);
delay (1500);  // 1.5 seconds = 1.5 x 1000 milliseconds
}