《Arduino实战》——2.4 反应速度计:谁真正拥有最快的反应时间

简介:

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

2.4 反应速度计:谁真正拥有最快的反应时间

Arduino实战
在本章的最后一个程序中,会使用一个定时器更精确地测定你的反应时间。电路可以保持不变,只需要对程序做一些修改。

2.4.1 测定反应速度的程序

下列代码清单给出了新的反应速度计的程序,你可以修改之前的程序,也可以新建一个程序文件然后输入以下代码。

7ed4823ab07f3597991c6b86b08811d07210bec1 19d9693017c84f028b3ad069765565ad8b5bb45f

在这个程序中,添加了一个定时器用来准确地测定你的反应时间。当时间被测定后,数据会通过串口发送出来。串口在程序的setup函数中使用下列命令C:UsersAdministratorAppDataRoamingTencentUsers330842669QQWinTempRichOle2$@2VSST70VFGY$8EWIA0{7.png启动:

Serial.begin(9600);

数字9600是波特率,也就是Arduino发送数据的速率。为了能解码这些数据,上位机程序(在这个例子里是串口监视器)的波特率设置必须要与Arduino的保持一致。

当需要输出数据时,你可以使用两个函数:Serial.printC:UsersAdministratorAppDataRoamingTencentUsers330842669QQWinTempRichOle[G)49Q0ZES093B)](8Y}TKV.png和Serial.println图像说明文字。这两个函数唯一的区别在于,Serial.println函数会在输出字符串的结尾添加一个回车换行符。

2.4.2 烧写和测试

确保程序已经正确编译,然后将其烧写到Arduino。跟之前一样,用按钮来控制反应速度计的开始和停止。 图2-12展示了最终完成并且正在工作中的作品。

为了看到反应时间,需要使用Arduino IDE中的串口监视器,请确保波特率已经设置为9600。图2-13展示了一些记录到的反应时间。

dbc2953decb9d1a98df71211f9594a8a8984f247

显示这些反应时间有助于平息你跟你朋友之间的争论!

相关文章
关于指针,你不可以错过的练习(c/c++)
关于指针,你不可以错过的练习(c/c++)
|
数据采集 存储 Serverless
5 分钟复刻你的声音,一键实现 GPT-Sovits 模型部署
想象一下,只需简单几步操作,就能生成逼真的语音效果,无论是为客户服务还是为游戏角色配音,都能轻松实现。GPT-Sovits 模型,其高效的语音生成能力为实现自然、流畅的语音交互提供了强有力的技术支持。本文将详细介绍如何利用函数计算平台部署 GPT-Sovits 模型,以构建一个高效、可扩展的 AI 语音交互系统。通过这一部署方案,开发者和企业能够快速集成语音合成功能,实现从文本到语音的无缝转换,进而推动智能语音应用的创新和发展。
2190 14
|
SQL Arthas 监控
看大神如何使用3行代码提升接口性能
看大神如何使用3行代码提升接口性能
86 0
|
存储 安全 程序员
深入理解Qt多线程编程:QThread、QTimer与QAudioOutput的内在联系__Qt 事件循环(二)
深入理解Qt多线程编程:QThread、QTimer与QAudioOutput的内在联系__Qt 事件循环
2186 1
|
SQL 存储 关系型数据库
【MySQL】通用查询日志 general query log 详解
通用查询日志(general query log)用来记录用户的所有操作,包括启动和关闭MySQL服务、所有用户的连接开始时间和截止时间、发送给MySQL数据库服务器的所有SQL指令等。当我们的数据发生异常时,查看通用查询日志,还原操作时的具体场景,准确定位问题。
|
前端开发
【注解使用】@JsonFormat与@DateTimeFormat注解的使用
【注解使用】@JsonFormat与@DateTimeFormat注解的使用
631 0
|
关系型数据库 程序员 Go
简单聊聊为啥要学Go语言
简单聊聊为啥要学Go语言
148 0
|
存储 弹性计算 固态存储
阿里云服务器租用费用包括CPU内存配置、公网带宽和磁盘费用
2022阿里云服务器配置价格租用费用表(CPU/内存/带宽/磁盘),云服务器配置1核1G、1核2G、2核4G、2核16G、4核8G、4核16G、4核32G、8核16G、8核32G、8核64G等实例配置价格,云服务器规格可选ECS共享型S6、计算型C6、通用型G6、内存型R6等
548 0
阿里云服务器租用费用包括CPU内存配置、公网带宽和磁盘费用
|
XML Java 应用服务中间件
欢迎光临Spring Boot时代(一)1
欢迎光临Spring Boot时代(一)1
欢迎光临Spring Boot时代(一)1
|
JavaScript 前端开发 Java
链游开发源码案例丨链游系统开发(方案及逻辑)丨链游dapp系统开发(运营版)
智能合约几乎可以描述所有与多组织决策中数据不可变性相关的业务案例。智能合约开发人员的工作是将一个现有的业务流程(可能是管理金融价格或交付条件)用JavaScript、GOLANG或Java等编程语言来表示成一个智能合约。将数百年的法律语言转换为编程语言需要法律和技术方面的技能,智能合约审核员们不断地实践着这些技能。您可以在开发应用程序主题中了解如何设计和开发智能合约。

热门文章

最新文章