【入门教程】DFR0100 Arduino教程02 -- LED灯闪烁
本帖最后由 dfrobot 于 2016-12-1 16:57 编辑该教程使用套件链接:Arduino入门套件
上一篇教程:Arduino教程 Lesson 1 -- 驱动安装及下载Blink程序
回顾一下Lesson 1的内容,我简单分了以下几点:
[*]了解Arduino软件编辑环境 -- Arduino IDE
[*]如何通过Arduino IDE下载一个Blink程序
[*]"//" 和 "/*...*/"的含义
[*]setup()和loop()函数的重要性及作用
[*]pinMode(pin,mode)函数
[*]digitalWrite(pin,value)函数
[*]delay(ms)函数
开始新的一课!
这次我们还是同样要用Blink程序,有所不同的是,这里我们需要外接一个LED到数字引脚,而不是使用焊在Arduino板上的LED 13(也就是“L”灯)。便于我们能清晰的认识LED的工作原理及一些硬件电路的搭建。
STEP 1:需要准备的东西:
1 × DFduino UNO R3(以及配套USB数据线)
http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/123655j3ilb6l0p3lj1li1.png
1 × Prototype Shield原型扩展板+面包板http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/123657eztlcaxyhc92x23h.png
若干 彩色面包线 http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/123658qchccbt6e6s6sm6v.png
1 × 5mm LED灯http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/123700xylj4lv777w7udm9.png
1 × 220欧电阻*http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/123701v1lttdvznvvlv1kb.png
STEP 2:硬件连接
首先,从我们的套件中取出Prototype shield扩展板和面包板,将面包板背面的双面胶歇下,粘贴到Prototype shield扩展板上。再取出UNO,把贴有面包板Prototype shield扩展板插到UNO上。取出所有元件,按照下图连接。
http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/154519h4nrna7gtr4i2o1b.png
图中的蓝色与红色的线用彩色面包线连接,使用面包板上其他孔也没关系,只要元件和线的连接顺序与上图保持一致即可。
确保LED连接是否正确的,LED长脚为+,短脚为-,完成连接后,给Arduino接上USB数据线,供电,准备下载程序。
STEP 3:输入代码
打开Arduino IDE,在编辑框中输入样例代码1-1所示代码。(输入代码也是一种学习编程的过程,虽然提供代码的压缩包,但还是建议初学者自己输入代码,亲身体验一下。)
样例代码 1-1:
//项目一 —— LED 闪烁
/*
描述:LED每隔一秒交替亮灭一次
*/
int ledPin = 10;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin,HIGH);
delay(1000);
digitalWrite(ledPin,LOW);
delay(1000);
}
输入完毕后,点击IDE的“校验(Verify)”,查看输入代码是否通过编译。如果显示没有错误,单击“下载(UpLoad)”,给Arduino下载代码。以上每一步都完成了的话,你应该可以看到面包板上的红色LED每隔一秒交替亮灭一次。
现在让我们来回顾一下代码和硬件,看看它们是如何工作的。代码是我们Lesson 1 是一模一样的,所以重复说明了。那就说下硬件吧!
STEP 4: 硬件回顾
面包板
面包板是一种可重复使用的非焊接的元件,用于制作电子线路原型或者线路设计。简单的说,面包板是一种电子实验元件,表面是打孔的塑料,底部有金属条,可以实现插上即可导通,无需焊接的作用。面包板该怎么使用?其实很简单,就是把电子元件和跳线插到板子上的洞洞里,具体该怎么插,我们就要从面包板的内部结构上说了。
http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/165356gc3cfmdlxm9cu0j7.png
从上图我们可以看到,面包板分为上下两个部分,蓝线指出的纵向每5个孔是相通的。
电阻
下一个要说的元件是电阻。电阻的单位是 Ω。电阻会对电流产生一定的阻力,引起它两端电压的下降。可以将电阻想象成一个水管,它比连接它的管子细一点,当水(电流)流入电阻,因管子变细,水流(电流)虽然从另一端出来,但水流减小了。电阻也是一样的道理,所以电阻可以用来给其他元件减流或减压。
电阻有很多用处,对应名称也不同,上拉电阻,下拉电阻,限流电阻等。我们这里用作限流电阻。在这个例子里,数字引脚10 输出电压为5V,输入电流为40mA(毫安)直流电。普通的LED需要2V的电压和35mA左右的电流。因此如果想以LED的最大亮度点亮它,需要一个电阻将电压从5V降到2V,电流从40mA减到35mA。这个电阻起限流的作用。
这里具体对电阻值选取的计算就不做说明了,只要知道在接LED时需要用到一个100Ω左右的电阻就可以了。大一点也没关系,但不能小于100Ω。如果电阻值选的过大的话,LED不会有什么影响,就是会显的比较暗。很容易理解,电阻越大,减流或减压效果更明显了。LED 随电流减小而变暗。
不同的LED灯所需电压也有不同,推荐《LED常识》一贴。
关于上拉电阻,下拉电阻,限流电阻,请看此贴《电路知识之电阻的功能》。
LED
LED也是一种二极管,会发光的二极管。LED能发出不同颜色和亮度的光线,包括光谱中的紫外线和红外线。(比如我们经常使用的各类遥控器上面的LED也是其中一种,与普通的发光二极管长的一样,只是发出的光我们人眼看不到,我们也称之为红外发射管。)
LED如果仔细观察LED,你会注意到,LED引脚长度不同,长引脚为+,短引脚为-。那如果正负接反会怎么样呢?下面这张图就说明问题了,接反就不亮了呗。下图是不是还缺个电阻呀,细心的你发现了吗?
http://www.dfrobot.com.cn/community/data/attachment/forum/201312/11/165359un0wu3ktu8xz6i8x.png
动手试一试
尝试换不同阻值的电阻,看看LED灯的变化。
现在你知道了各元件的功能及整个项目中软硬件是如何工作的,让我们尝试做其他好玩儿的东西吧!
下一篇教程:Arduino教程 Lesson 3 -- 做一个S.O.S求救信号灯
页:
[1]