30001| 3
|
[中级教程] Arduino教程中级 项目一 点亮一盏灯 |
项目一 点亮一盏灯本系列教程配套硬件套件:新版Arduino中级套件 在前面几篇前奏中,我们已经对Arduino有了简单的了解,整个装置工作是依赖于哪些部分。也了解了电子世界最重要两个量,数字量与模拟量。接下来我们就正式开始做东西了,第一个要做的必须是最经典的,最经典的莫过于“blink”。其实,前面在一开始驱动安装的时候就用过这段代码了,区别在于这里将不使用板子上的LED13(也就是“L”灯),而是在数字引脚13连接一个LED。 所需元件硬件连接硬件分析(数字输出)我们从前面几章说的输入输出的角度来看。整个装置只有两个部分,控制与输出。Arduino就是控制设备,LED发光模块就是输出设备。对的,这个整个装置是没有输入设备的。有了这么一分析,我们再看代码就不那么难理解了。 输入代码输入代码也是一种学习编程的过程,虽然提供代码的压缩包,但还是建议初 学者自己输入代码,亲身体验一下。打开Arduino IDE,在编辑框中输入样例代码。
输入完毕后,点击IDE的“校验(Verify)”,查看输入代码是否通过编译。如果显示没有错误,单击“下载(UpLoad)”,给Arduino下载代码。以上每一步都完成了的话,你应该可以看到面包板上的红色LED每隔一秒交替亮灭一次。
代码回顾先说下Arduino代码必须具备的两个组成部分:
Arduino代码必须包含setup()和loop()这两个函数。setup英文中是“设置”的意思。所以setup()函数是用于一些初始化设置的,只在代码一开始时,运行一次。loop是“循环”的意思,只要Arduino不掉电,loop就会不停的重复运行。 由于LED是输出设备,所以不难看出,在setup()函数中先初始化LED为输出模式。 函数格式如下:
这个函数是用来设置Arduino数字引脚的模式的,只用于数字引脚定义是输入(INPUT)还是输出(OUTPUT)。pin指数字引脚号,mode指引脚模(OUTPUT/INPUT)。
这句话的意思就是,将ledPin设置为输出模式,中间的逗号可不能省。那ledPin是什么呢?看下代码的第一句话:
我们在一开始的时候给13号引脚起了个名字叫做ledPin,所以ledPin就代表了13号引脚。前面的int可不能少! int代表了ledPin是个整数。 明白了这两句话的意思了,如果我们现在需要换个引脚,LED不连接到13号引脚,连接到10引脚,可以怎么写:
只需把pin换成对应的引脚号就行了。 再看下loop()函数,loop函数中就 只用到了一个函数digitalWrite()。 函数格式如下:
这个函数的意义是:引脚pin在pinMode()的中被设置为OUTPUT模式时,其电压将被设置为相应的值,HIGH为5V(3.3V控制板上为3.3V),LOW为0V。
代码中的,ledPin同样指引脚。写入HIGH时,引脚13就被至高,LED被点亮。写入LOW时,引脚13就被拉低,LED被熄灭。 亮与灭直接还有句语句:
delay是延时的意思。括号中写入的是毫秒(ms)。所以,delay(1000)就是延时1s的意思。最后实现的就是 LED亮一秒,灭一秒,一直无限循环。
这是代码中的说明文字,可以叫做注释。是以”//”开始,这个符号所在行之后的文字将不被编译器编译。 还有另外一种写注释的方式,用“/…/”,这个符号的作用是可以注释多行,这也是与上一种注释方式的区别之处。在/和/中间的所有内容都将被编译器忽略,不进行翻译。 IDE将自动把注释的文字颜色变为灰色。 趣味练习(1)能否试试变换LED的亮灭速度,让LED保持关闭5秒,然后快速闪烁一下( 250毫秒),就像汽车报警器上的LED指示灯那样。
|
280 Bytes, 阅读权限: 10, 下载次数: 87
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed