《Arduino实战》——2.3 反应测试仪

2.3 反应测试仪

这是你在本章中最后一次电路修改。你要在电路中再添加两个LED,最好是一红一绿,它们被用作开始和停止指示灯。最初是红色LED点亮,当它熄灭且绿色LED点亮时,你要尽可能快地按下按钮,来让在前一节中搭建的LED序列暂停。反应速度处于平均水平的人,可以在序列有2个或者3个LED亮起时将其停止。

2.3.1 电路图

请看图2-10给出的电路图,注意新加入的两个LED是如何连接到Arduino的。绿色的LED6和红色的LED7已被添加到电路中,一起加入的还有两个220Ω的限流电阻,R7和R8。

2.3.2 连接

图2-11展示了连接完成后的Arduino和面包板,已将两个新加的LED和两个电阻添加到了现有的电路中。

这就是本章最后完成的电路。下面让我们看一下本章的倒数第二个程序。

2.3.3 测试反应速度的程序

下列代码清单给出了反应测试仪的程序,请将其仔细地输入一个新的程序文件中。

代码清单2.4 反应测试仪


randomSeed(analogRead(0));

传递给randomSeed的值取自未连接的0号模拟引脚的模拟输入值。由于电气噪声的影响,一个未连接的模拟引脚的输入值是不断变化的。

变量state用于控制程序逻辑,并且已经与按钮的状态绑定。第一次按下按钮时,会触发下列事件:原来的5个LED熄灭,红色的stopLed点亮,绿色的goLed熄灭。在一段随机的时间之后,stopLed熄灭,goLed点亮,并启动由原来的5个LED构成的序列,5个LED一个接一个地点亮。按下按钮会停止LED点亮的过程。再次按下按钮会使整个流程重新开始。

2.3.4 烧写和测试

将Arduino连接到USB电缆,确保你的程序已经被正确编译,然后将其写入到Arduino中。按下按钮试玩一下,看看你的反应速度有多快。你还可以跟别人比拼,看谁的反应速度是最快的。

你还可以在程序中再加入一些代码,让它用定时器更精确地记录反应时间。我们会在下一节中讲到这些。

时间: 2024-11-08 22:33:52

《Arduino实战》——2.3 反应测试仪的相关文章

《Arduino实战》——导读

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

《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实战》——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实战》——2.1 准备开始

2.1 准备开始 Arduino实战为了完成你的反应速度计,你需要一些元件: 1块面包板,用来组装你的项目一些跳线,用来将原件连接到一起6个红色LED,你也可以用其他你喜欢的颜色1个绿色LED1个按钮式瞬时接触开关7个电阻,每只阻值约180Ω,或者比180Ω稍大一些1个10 kΩ的电阻元件如图2-1所示. 接下来,你要在面包板上搭电路了. 2.1.1 面包板的使用 在项目的开发阶段,面包板是组装电路的极佳选择,因为它使你可以很容易地移动和增加元件. 一块面包板的典型布局如图2-2所示.面包板由许

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

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

《Arduino实战》——2.5 小结

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