1.基本材料
先准备好1块面包板、1块Arduino开发板、2个LED灯、1个100欧姆电阻、1根USB通信电缆,以及多根杜邦线
2.基本连接控制
①首先拔掉USB电缆,保证Arduino开发板电源关闭;接着将上述材料按照图5-27所示形式进行电路连接。
图5-27 电路连接图
②其次,打开Arduino IDE开发软件,将以下代码输入,待输入完成之后,按下IDE菜单栏中的Verify/Compile按钮,确保输入代码正确性。
③最后,将Arduino开发板的USB电缆连接到电脑,在软件界面中选择下载端口,单击UpLoad按键,将编写的代码下载到Arduino开发板中,如果以上工作完全正确,则会发现面包板上面的LED灯在一闪一闪的发光。
3.EX1代码讲解
(1)单个LED的控制。
上述代码的第一行被称之为注释,是该段代码的说明文字。在Arduino编程过程中,当出现“∥”符号,其之后的所有文字都将会被编译器忽略,该注释功能对于用户理解该语句的工作原理十分重要。如果所做的项目非常复杂,代码总量可能有几百行,甚至有几千行,因此,代码的注释是非常重要的,它可以帮助用户理解每一段代码的功能。有人可能会写出一段非常完美的代码,但是,这个人不一定会永远记得它是如何工作的,而代码的注释功能可以帮助人们回忆代码的具体功能。同样,如果大家给其他人看自己编写的代码,注释可以帮助其他人理解自己编写的代码。Arduino的特征是具有开放性,即与他人分享自己的代码,希望大家在编写自己的代码时,将重要的注释标注在代码后面。
接下来的代码如下:
int ledPin=10;
这就是所谓的变量,变量是用来存储数据的。在上面的例子中定义了一个变量,类型是int或者说整型。整型表示一个数,范围在-32 768到32 767之间,接下来指定了这个整型数的名称为ledPin,并给它赋了一个数值10。在该段代码中,数值10并非数字,而是表示开发板的数字引脚10。最后,以分号结尾,表示该行代码到此处结束。
其中变量的名称不一定会命名为ledPin,大家可以随意命名,但是为了方便记忆,希望将其名称赋予一定的意义。同时,在C语言中,变量的名称必须以字母开头,之后可以包含数字、字母和下划线,需要注意的是:C语言中字母的大小写是不同的。还有一点要注意:不能使用C语言中的关键字作为变量名,例如main、while、switch等,其中,关键字被定义为语言的一部分,为了避免使用关节字作为变量名,程序中关键字会被标注。
将变量作为存储盒子,在盒子中存储着一些东西,而在该程序中,变量在内存中开辟了一个空间来存储一个整数,以上的定义表示在变量开辟的存储空间内存放一个数字10。
接下来是setup()函数
Arduino程序必须包含setup()函数,否则其不能工作。setup函数在程序的开头运行一次,该段程序里可以在主循环开始前为程序设定一些通用的规则,如:设置引脚的形式、设置波特率等。一般情况下,函数是一组集合在一个程序块中的代码。例如:如果生成一个函数来完成某一特定功能,其需要有许多行代码,这些代码可以运行许多次,每次使用这些代码只需要简单的调用函数名称即可,而无需将这些代码重新编写一次。当人们开始动手编写自己的项目时,大家将会对函数有更深的了解,在本程序中,setup()函数只有一行。函数以下面的形式开始:
void setup()
它告诉编译器函数叫setup,它不返回数据(void),并且也不传递参数给它(空括号),如果函数返回整型值,并且需要给它传递一个整型数(如让函数处理)作为参数,它可以写成如下形式:
int myFunc(int x,int y)
在这里所生成的函数(或一段代码)叫做myFunc。人们需要给这个函数传递两个整数作为参数,叫做x和y,如果函数运行完成,它将在程序调用函数处返回一个整数值。
在这个程序中,setup()函数的主要目的是在函数运行之前为程序做必要的设置。Setup函数内只有一条语句,也就是pinMode函数,该函数设置引脚的模式为输出模式,而非输入模式。在函数的后面括号内,设置引脚和模式(OUTPUT或INPUT),引脚是ledPin,该引脚在之前设置为数值10。因此,该段函数的主要意义为:将开发板的数字引脚10设置为OUTPUT模式。
接下来,移步主函数:
loop()函数是主要的过程函数,只要开发板处在开启状态就一直运行。每一条loop()函数中的代码需要执行,并且需要按照顺序来逐个执行,直到函数最后。之后,loop()函数再次从头开始,从函数的顶部开始运行,一直循环下去,直到关闭开发板或者按下重启按键。
在该项目中,希望LED灯亮保持1 s,然后灯灭保持1 s,并重复以上动作。因为希望重复以上动作,所以,Arduino要设置在loop()函数内。函数内第一个语句是:
digitalWrite(ledPin,HIGH);
在这个语句中,写一个HIGH或LOW值到引脚(在该段代码中,数字引脚为10)。当设置一个HIGH到引脚中,引脚将输出一个5 V的电压,当设置一个LOW到引脚中,引脚将输出一个0 V的电压,或者数字地。因此上面的语句表示输出一个5 V电压到数字引脚10,将LED灯点亮。接下来的代码为:(www.xing528.com)
delay(1000);
这条语句只是告诉开发板在执行下一条语句之前等待1 000 ms(1 s)。下一条语句是:
digitalWrite(ledPin,LOW);
该句将关闭数字引脚10的电源,因此会熄灭LED。之后是另外一个延时1 000 ms的语句,然后函数结束。因为这个函数是在loop()函数内,所以这个函数将重新从头开始再一次运行。
再一步一步回看该段程序,读者就会发现该程序是非常简单的。从指定一个名为ledPin的变量开始,向这个变量赋值10。之后,执行setup()函数,此处设置数字引脚10为输出模式。在主程序循环里设置数字引脚10为HIGH,输出为5 V,之后等待1 s,关闭数字引脚10的电源,等待1 s,之后,loop重新开始执行。只要开发板上电,LED灯将持续地交替开关。
现在读者已经知道代码是如何工作的,你可以通过改变代码去打开LED灯,并保持一段时间,或关闭LED灯并保存一段时间。例如,想要持续打开3 s,之后关闭0.1 s,可以按照以下代码执行:
如果想要持续打开0.2 s,之后关闭1 s,可以按照以下代码:
大家通过改变LED灯的开关时间,可以产生各种不同的控制效果。为了了解其他更加复杂的功能,下面,再学习两个LED灯的控制。
(2)多个LED的控制。
①完成基本的调试之后,需要再次拔掉USB电缆以保证Arduino开发板的电源关闭;将上面准备好的材料按照图5-28所示电路进行连接。
图5-28 电路连接图
②打开Arduino IDE开发软件,按照以下代码将其输入到开发软件中,输入完成之后,按下IDE菜单栏中的Verify/Compile按钮,确保输入代码正确无误。
③将Arduino开发板的USB电缆连接到电脑,在软件界面中选择下载端口,单击UpLoad按键将编写的代码下载到Arduino开发板中。
4.EX2代码讲解
程序的第一段代码如下:
∥三个LED控制,模仿交通灯
该段为注释代码,表示在该程序运行过程中需要3个LED灯进行指示,其中各灯的变化情况如同交通灯的变化。接下来代码为:
int redPin=10;
int yellowPin=9;
int greenPin=8;
该段代码指定了三个整型数的名称为分别为redPin、yellowPin、greenPin,并给它赋了一个数值10、9、8,表示开发板的数字引脚10、数字引脚9和数字引脚8。最后,以分号结尾,表示该行代码到此处结束。下面的程序为setup()函数:
此处执行setup()函数,设置数字引脚10、数字引脚9和数字引脚8全部为输出模式。接下来进入loop()函数。
该段代码为主函数,需要一直循环。首先,红灯亮并保持,5 s后黄灯亮;其次,2 s之后,红灯和黄灯熄灭,而绿灯开始亮;再次,等待10 s后,绿灯熄灭,黄灯开始亮;最后,等待2 s之后,黄灯熄灭,红灯开始亮。按照以上顺序一直循环。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。