【入门教程】DFR0100 Arduino教程02 - LED灯闪烁-Arduino中文社区 - Powered by Discuz! Archiver

dfrobot 发表于 2016-12-1 10:57

【入门教程】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]
查看完整版本: 【入门教程】DFR0100 Arduino教程02 -- LED灯闪烁