mBlock & Arduino(2)点亮外接 LED

在〈mBlock & Arduino(1)哈啰!LED!〉中,我们让 Arduino Uno 板子上标示为 L 的 LED 闪烁,这是为了能立即体验一下如何控制 Arduino,接下来,我们要外接 LED,这就需要对 Arduino 板子以及相关电子电路元件有多一点的认识。

认识数位输出/输入脚位

Arduino Uno 的规格说明,可以在官方网站的 Arduino – ArduinoBoardUno(http://www.arduino.cc/en/Main/arduinoBoardUno)中找到,一下子完整认识板子上所有脚位没有意义,因此,我的文件将采用到哪个讲哪个的方式。

想要能点亮外接的 LED,可以使用数位输出/输入脚位 D0 到 D13,当作为输出时,这些脚位的直流电流最高可以是 40 mA,高电位相对于 GND 是 5V,低电位是 0V。

GND 是 Ground 的意思,一般中文常称为共地或接地,不过,“地”这个名称常引起误会,以为它真的是接到地面去了,在这边,Ground 的意思应该是“基准”,电路中有个共同的电位基准时,当我指电路中某点为 5V,就是指相对于共同的电位基准,也就是相对于 GND 的点是 5V。

在 Arduino Uno 板子上,D0 到 D13,以及 GND 接点的位置如下:

mBlock & Arduino(2)点亮外接 LED_第1张图片

认识 LED

LED 的名称是发光二极体(Light-Emitting Diode),是一种半导体二极体,具有阳极和阴极两个端子,一个 LED 元件的两只接脚长度不同,长的接脚是接正极,短的接脚是接负极,也可以借由塑胶外壳上有平面的那边来识别负极所在:

mBlock & Arduino(2)点亮外接 LED_第2张图片

至于半导体二极体的运作方式,最简单的说法是,当二极体被施以正向电压(也就是正极电位高于负极),且电位差达某个值,二极体能够导电(LED 的话会发出亮光),此时二极体正负极电位差几乎固定,称之为顺向偏压(Forward Bias),不同的二极体顺向偏压不同,需要查阅规格才能得知(LED 的话,可参考 LED 条目中的资料),当二极体被施以逆向电压,二极体不会导电。

理想上,希望二极体施于正向电压而导电时,能拥有无限小的电阻,而施以负向电压时拥有无限大的电阻而不导电,也就是希望电压电流曲线可以如下图:

mBlock & Arduino(2)点亮外接 LED_第3张图片

实际上半导体二极体的电压电流曲线,可以参考维基百科 二极体 条目的这张图:

mBlock & Arduino(2)点亮外接 LED_第4张图片

逆向电压实际上是还有极微小的电流,其中 Vbr 是崩溃电压,一般约数十伏特,超过的话二极体会崩溃而导致大量电流通过,无论如何,必须对流经二极体的电流做出限制,以免二极体因为电流过高而烧毁。

在衔接 LED 时,基本上会串接电阻以提供压降、限制电流,LED 一般需要的电流为 20 mA,若 Arduino 输出脚位为高电位 5V,假设 LED 的顺向偏压为 2V,那电阻压降则为 3V,根据欧姆定律 R = V / I,至少应提供 3V / 0.02A,也就是 150 Ω 的电阻,保守起见,常见使用的是串接 220 Ω 的电阻,如下图:

mBlock & Arduino(2)点亮外接 LED_第5张图片

认识电阻色码

每个电阻器上环绕着一圈圈的颜色,大多是四环,也有五环甚至六环,环的颜色各对应至一个数字,可参考 四环电阻色码计算器 中的图片:

mBlock & Arduino(2)点亮外接 LED_第6张图片

电阻连接时没有方向之分,环的读取就如上图,可用电阻上环分布较密的一端为左开始判读,以上图的四环电阻为例,绿对应至 5,蓝对应至 6,黄对应至 10K,这表示电阻值是 560 KΩ,一般都会直接背“黑、棕、红、澄、黄、绿、蓝、紫、灰、白”这个口诀,代表数值 0 到 9,第三个色码如果是黄就是 4,也就要有四个 0,就是 10K 的意思,第四条色码则是容忍值;如果是上图中下方的五环电阻,红、澄、紫、黑分别对应至 2、3、7 与 1Ω,电阻值就是 237 Ω。

懒得记的话,四环电阻色码计算器 中可以直接输入电阻上的色码,它会帮你计算出电阻值,要不然直接在网路上搜寻“电阻色码”,也会找到计算方式,或其他线上计算器。

认识面包板

谈到面包板,就想到以前学校做实验时的恶梦,没想到现在竟然要来介绍它!面包板基本上就是横向连通、直向连通、上下不通,例如:

mBlock & Arduino(2)点亮外接 LED_第7张图片

同一个连通方向,表示每个孔间都是导通的,有的面包板没有上图中蓝与红的部份,如果有的话,通常蓝那列会拿来接 GND,红那列会拿来接电源正端。如果要将上面 LED 连接的概要图,使用面包板衔接的话,可以像是:

mBlock & Arduino(2)点亮外接 LED_第8张图片

线路复杂时,红列接电源正端,蓝列接电源负端是比较方便的作法,当然,对于简单的线路,不一定要这么做。

Arduino Uno 外接 LED

照按以上的说明,如果想要在 Arduino Uno 上外接 LED,并利用 D3 脚位的输出来点亮 LED,可以如下:

mBlock & Arduino(2)点亮外接 LED_第9张图片

程式的撰写与〈mBlock & Arduino(1)哈啰!LED!〉是相同的,你只要将其中的数位脚位 13 改为 3 就可以了。

感谢CodeData用户:caterpillar的贡献 著作权归作者所有

整理:宁波家电物联网云平台,中科极动云

你可能感兴趣的:(mBlock & Arduino(2)点亮外接 LED)