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

简介:

本节书摘来自异步社区《Arduino实战》一书中的第2章,第2.3节,作者 【美】Martin Evans , Joshua Noble , Jordan Hochenbaum ,译者 况琪,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 反应测试仪

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

2.3.1 电路图

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


screenshot

2.3.2 连接

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

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


screenshot

2.3.3 测试反应速度的程序

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

代码清单2.4 反应测试仪

screenshot
screenshot

randomSeed(analogRead(0));

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

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

2.3.4 烧写和测试

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

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

相关文章
|
安全 API
muduo源码剖析之EventLoop事件循环类
EventLoop.cc就相当于一个reactor,多线程之间的函数调用(用eventfd唤醒),epoll处理,超时队列处理,对channel的处理。运行loop的进程被称为IO线程,EventLoop提供了一些API确保相应函数在IO线程中调用,确保没有用互斥量保护的变量只能在IO线程中使用,也封装了超时队列的基本操作。
225 0
|
SQL 编解码 网络安全
|
4月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
1096 10
|
Android开发
Android RIL 动态切换 4G 模块适配
Android RIL 动态切换 4G 模块适配
457 0
|
机器学习/深度学习 自然语言处理 大数据
社交媒体的情感分析大数据模型
构建基于大数据的情感分析模型,利用Python和机器学习处理社交媒体数据。情感分析识别文本情感倾向,助力市场洞察和舆情监控。技术栈包括Python、NLP库(nltk, spaCy, TextBlob, VADER)、Scikit-learn、TensorFlow/PyTorch及大数据工具。数据收集(如Twitter API)、预处理(去除噪声、分词)、特征提取(TF-IDF、词嵌入)、模型训练(逻辑回归、BERT)是关键步骤。模型能捕捉文本情感,支持决策,随着技术进步,应用前景广阔。
1821 10
|
监控 物联网 数据安全/隐私保护
云上智能工厂:重塑生产模式,引领未来制造业的新纪元
更加注重数据安全与隐私保护:随着智能制造的深入发展,数据安全与隐私保护问题将日益凸显。云上智能工厂将加强数据加密、访问控制、审计追踪等安全措施的应用和实施力度,确保生产数据的安全性和隐私性。
861 0
在Linux中,如何挂载一个文件系统?
在Linux中,如何挂载一个文件系统?
|
存储 运维 监控
2023年湖南省“楚怡杯”职业院校技能竞赛-信息安全管理与评估规程
2023年湖南省“楚怡杯”职业院校技能竞赛-信息安全管理与评估规程
|
计算机视觉 Windows
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
668 0
|
安全 测试技术 Linux
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一个网络安全挑战,涉及Windows和Linux系统的渗透测试以及隐藏信息探索和内存取证。挑战包括使用Kali Linux对Windows Server进行服务扫描、DNS信息提取、密码获取、文件名和内容查找等。对于Linux系统,任务包括收集服务器信息、提权并查找特定文件内容和密码。此外,还有对Server2007网站的多步骤渗透,寻找登录界面和页面中的隐藏FLAG。最后,需要通过FTP获取win20230306服务器的内存片段,从中提取密码、地址、主机名、挖矿程序信息和浏览器搜索关键词。
291 0