《Arduino实战》——2.1 准备开始

2.1 准备开始

Arduino实战
为了完成你的反应速度计,你需要一些元件:

1块面包板,用来组装你的项目
一些跳线,用来将原件连接到一起
6个红色LED,你也可以用其他你喜欢的颜色
1个绿色LED
1个按钮式瞬时接触开关
7个电阻,每只阻值约180Ω,或者比180Ω稍大一些
1个10 kΩ的电阻
元件如图2-1所示。

接下来,你要在面包板上搭电路了。

2.1.1 面包板的使用

在项目的开发阶段,面包板是组装电路的极佳选择,因为它使你可以很容易地移动和增加元件。

一块面包板的典型布局如图2-2所示。面包板由许多插座组成。在面包板的中部,插座是纵向相连的,在正中间断开,而在面包板的上方和下方,插座则是横向相连的。上方和下方的区域通常用来为所搭建的电路提供电源。元件之间的连接则通常使用各种不同长度的跳线。

现在就来添加第一批LED和电阻,让它们来占据你的面包板吧。

2.1.2 电路图

本项目的第一步,你要在面包板上插接5个LED。图2-3所示的图形,也叫电路图,它表示了你即将要搭建的电路。如果你现在看不懂它也别担心——你很快就会掌握阅读电路图的窍门,并将其转化为面包板上的电路。

在电路图中,Arduino的数字引脚D8至D12各连接到一个LED(LED1至LED5),每个LED都连接了一个限流电阻(R1至R5)。负极,通常就是LED上较短的那个引脚,被连接到了Arduino上的GND引脚。电路的电源由连接到你的计算机的USB线提供。

当你熟悉了电路图,并且明白了LED、电阻和Arduino是如何连接到一起的,你就可以将元件插接到面包板上了。

2.1.3 添加LED

在图2-3中,LED1至LED5依次连接到了Arduino的第8~12号数字引脚(在电路图中以D8至D12表示)。每个LED都分别连接到Arduino的一个引脚。

每个LED上都串联了一个电阻,这些都是限流电阻,它们可以限制流过LED的电流,以免LED被烧毁。

计算限流电阻的阻值

限流电阻的阻值通过下列公式计算得出:

(工作电压−LED正向电压) / 电流的安培值=电阻的欧姆值

根据经验来说,绝大多数LED都可承受最多20 mA的电流而不至于烧毁。mA是表示毫安培,通常简称毫安。正向工作电压对于红色、黄色和橙色的LED来说是1.5 V,对于绿色的LED来说是2.0 V,对于蓝色和白色的LED来说是3.0 V。

你使用USB为电路供电,也就是5 V。如果你使用具有1.5 V正向电压的红色LED,假设工作电流是20 mA,那么计算电阻值的方法如下:(5 V~1.5 V) / 0.02 A = 175 Ω。

与之最接近的可用的电阻的阻值是180 Ω,所以为可靠地保护LED,你需要使用180Ω或者更大的电阻。我们使用了270 Ω的电阻,因为这个型号我们有很多,而且使用它们时LED仍然可以点亮。

2.1.4 连接硬件

确保Arduino没有连接到你的电脑上,在你连接硬件电路的时候请不要给它通电。

图2-4展示了如何使用一根跳线将Arduino的第12号引脚连接到第一个电阻,从而完成第一个LED的连接。注意电阻要跨过面包板中央的横槽,确保LED较长的引脚,也就是正极,连接到了电阻,而较短的引脚,也就是负极,连接到了面包板上部的GND电源插座。

接下来,按照图2-5中那样,用跟刚才一样的方式连接剩下的4个LED。

图2-6展示了连接完成后的电路。注意将Arduino上GND引脚与面包板上公共端用一根长跳线连接在一起。你可以使用USB接口为这个项目的电路提供电源,因为这些LED只需要很小的电流。

现在已经组装好了电路,接下来你就可以开发程序代码,来让这些LED闪烁起来了。

2.1.5 使5个LED闪烁的程序

完成硬件的连接后,你就可以开始编程序了。启动Arduino IDE,然后新建一个Arduino程序。仔细地将以下代码输入到编辑器窗口中。

代码清单2-1 5个闪烁的LED,一个接一个地闪烁

在程序的第一部分,声明了程序的变量。数组ledArray用来设置你要使用的数字引脚编号。

你也可以直接使用引脚编号为变量赋值,就像这样:

但当你要操作一组功能类似的引脚时,使用数组就会更加高效。

在setup子程序中,可以使用一个for循环将8~12号引脚全部设为输出。

在程序的主循环中,可以再使用一个for循环,循环调用的digitalWrite函数,通过索引值count``从数组ledArray中获得要写入的LED引脚编号,依次将引脚设置为高电平,从而将相应的LED点亮。在75 ms的延时之后,引脚再次通过digitalWrite设置为低电平,相应的LED就会熄灭。

这个循环继续执行,就会以一个短暂的延时,轮流点亮和熄灭每个LED。你可以通过修改timer变量的值来修改延时的长短。

注意 digitalWrite函数的作用是将相应的引脚设置为高电平或者低电平。如果相应的引脚设置为高电平,digitalWrite将其电压置为5 V,这就足以点亮一个LED;如果相应引脚设置为低电平,digitalWrite将其电压置为0 V,LED就会熄灭。
现在你已经搭建好电路并编写好了程序,接下来让我们来测试一下它吧。

2.1.6 烧写和测试

用USB电缆将Arduino连接到你的计算机上,校验这个程序就会执行编译。如果发生了任何错误,请确保你已经准确输入了代码清单2-1所列的代码。要特别注意大括号{}左右匹配,还有不要漏掉分号(;)。当程序成功编译之后,就可以将其写入到Arduino中。如果烧写过程中出现错误,请检查是否已经选择了正确的Arduino类型和串口。

一旦程序被写入到Arduino,在一个短暂的延迟之后,LED就会开始一个接一个地闪烁。如果在程序在编译和写入到Arduino的过程中都没有发生任何错误,但LED并没有闪烁,请将Arduino从USB电缆上断开,然后仔细检查电路的连线。确保LED连接正确而且负极已经接地,然后尝试再次接上USB电缆。

注意 你并不需要为Arduino重新烧写程序,因为程序会保留在它的内置存储器中。
你的LED现在已经开始闪烁了,现在是时候做些更复杂的事情了。在这个入门教程接下来的部分中,你要为这个电路添加一个按钮。

时间: 2024-09-09 12:32:55

《Arduino实战》——2.1 准备开始的相关文章

《Arduino实战》——3.2 压电换能器

3.2 压电换能器 Arduino实战你是否收到过一种生日贺卡,在它打开时就会播放一段有点走调的Pointer Sisters的<I'm So Excited>旋律.压电换能器还应用于很多其他的设备,比如移动电话.门铃以及水下声呐. 图3-6展示了一个典型的可以用于发声的压电换能器,它与那些在音乐贺卡中使用的类似. 它们是如何工作的?术语压电的意思就是"由压力产生电流".当一个压电设备受到挤压时,它就会产生一个电荷,如图3-7所示.换能器在与Arduino一起使用时的一个典

《Arduino实战》——第3章 简单项目:输入和输出

第3章 简单项目:输入和输出 Arduino实战本章涵盖的内容 着眼于模拟世界读取一个模拟输入使用扬声器发声搭建一架五声音阶电子琴在前一章中,我们了解了Arduino数字化的一面,循序渐进地搭建了一系列项目,展示了Arduino的输入.输出和中断等特性.在本章,我们将着眼于Arduino的另一面,看看它如何与我们周围的世界交流. 基本上,我们周边的世界可以分成两部分--模拟和数字--在这一章我们将研究与模拟世界的交互.让我们再从一个简单的元件开始,电位器,它可以为Arduino提供模拟量的输入.

《Arduino实战》——1.5 熟悉IDE

1.5 熟悉IDE Arduino实战1.5 熟悉IDE如前文所述,IDE是基于Processing构建的,其设计目标就是易于学习和易于使用.IDE提供了供你编写和上传程序到Arduino所需的所有东西. 1.5.1 主编辑器 IDE软件打开后,会自动创建一个空的程序,这个程序会临时以当前日期来命名.在你保存这个程序的时候,还可以给它改一个更合适的名字. 图1-8展示的是打开了一个程序的IDE界面,图中还对各种按钮和窗口做了标注.主编辑器顶部的工具栏包含了以下功能. Verify--检查程序是否

《Arduino实战》——导读

前言 Arduino实战我的Arduino之旅起始于2009年夏天在Rails Underground大会上听取Elise Huard的讲演-"物联网"之后.那次会议之后,我立即购买了一本Massimo Banzi所著的<Getting Started with Arduino>1(O'Reilly, 2008).在返程的火车上,我就把它从头到尾读了一遍. 不久以后,我购买了我的第一片Arduino,开始玩.做实验并搭建小项目.我的第一个大项目是一个避障机器人,我在2010

《Arduino实战》——1.8 小结

1.8 小结 Arduino实战这是十分忙碌的一章,我们讲解了大量的背景知识.我们从学习一点Arduino的历史开始,介绍它在意大利互动设计学院的起源.我们了解了Arduino Uno和Mega这两种板卡的引脚和主要元件布局.我们还简要介绍了其他几种版本的Arduino,包括LilyPad和Seeeduino Film,并介绍了它们能提供什么特性.你搭建了开发环境并写了第一个Arduino程序,让Arduino走进你的生活. 我们详细讲解了Arduino的IDE软件并知道了一个Arduino程序

《Arduino实战》——3.4 小结

3.4 小结 Arduino实战在这一章中,通过使用analogRead函数了解了Arduino的模拟输入功能,还尝试从电位器和压电换能器两种分立模拟器件中读取模拟量.本章还讲解了模拟信号是如何通过模数转换器(ADC)转换为可以被Arduino处理的数字信号的.这种方法使你能够可靠地从许多其他模拟设备中读取数据. 本章最后的项目中大量使用了analogRead函数,利用5个压电换能器制作了一架五声音阶电子琴,敲击不同的压电换能器就能演奏出不同的音符.尽管声音有点走调,但愿你依然能找到愿意聆听的人

《Arduino实战》——第1章 你好Arduino

第1章 你好Arduino Arduino实战本章涵盖的内容 Arduino的历史*Arduino硬件*硬件和软件安装*第一个闪烁的LED*Arduino能用来干嘛?这个问题的答案是丰富多彩的.Arduino已经被广泛应用于各种项目中. 制作诸如Pong和Space Invaders1这类各位儿时甚至父辈年轻时玩的游戏.这些游戏的画面都是单色的,音效也比较简单.制作循迹机器人,并学习机器人的基本原理.循迹机器人也可以用于工厂和仓库,它们可以按照既定的轨迹搬运货物.制作光电竖琴,通过手的挥舞来演奏

《Arduino实战》——2.5 小结

2.5 小结 Arduino实战在本章,你了解了如何开发一个典型的项目,从一个简单的程序开始,然后逐步增加其复杂性.在开发一个项目的过程中,每次只做出较少的修改,可以使其更容易调试和发现错误.如果程序不能正确地通过编译或者显示的结果与预期不符,你只需要着眼于最近修改和增添的代码就可以了. 这个项目将你带入了数字电路的世界,这里的输入输出只有两个状态:高电平和低电平.你已经探索了一些Arduino的功能,包括可用的函数,以及强大的中断功能.在之后的章节中,你会更加深入地研究几个数字引脚及其具有的更

《Arduino实战》——2.2 获得控制权

2.2 获得控制权 现在你的程序已经开始工作了,伴随着LED一个接一个地点亮和熄灭,下面我们要添加一个按钮,来控制这电路了.这个按钮用来启动和停止LED序列的闪烁. 2.2.1 电路图 电路图如图2-7所示.你需要保留最初版本的电路,并再添加一个按钮(S1)和一个阻值为10 kΩ的电阻(R6)就可以了. 在你看懂了修改过的电路图之后,就可以把新的元件添加到面包板上了. 2.2.2 连接 首先,将Arduino从USB电缆上断开,然后将按钮安装到面包板上,如图2-8所示.请注意如何将其跨接在面包板