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

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

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

2.4.1 测定反应速度的程序

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


在这个程序中,添加了一个定时器用来准确地测定你的反应时间。当时间被测定后,数据会通过串口发送出来。串口在程序的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展示了一些记录到的反应时间。


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

《Arduino实战》——2.4 反应速度计:谁真正拥有最快的反应时间的更多相关文章

  1. 《Arduino实战》——3.4 小结

    本节书摘来异步社区<Arduino实战>一书中的第3章,第3.4节,作者:[美]Martin Evans ,Joshua Noble ,Jordan Hochenbaum,更多章节内容可以 ...

  2. Unity3D项目实战笔记(10):Unity3D编译IPA的PostEvents–节约时间利器

    最近,SDK支付等接入差不多了,就从Unity3D生成IPA (企业版License), 然,需要手动执行的PostEvents竟然多大10项+, 这些我默默的承受了1周时间,每次约浪费20分钟-额外 ...

  3. Mysql实战45讲 05讲深入浅出索引(下)极客时间 读书笔记

    极客时间 Mysql实战45讲 04讲深入浅出索引(下)极客时间 笔记体会: 回表:回到主键索引树搜索的过程,称为回表覆盖索引:某索引已经覆盖了查询需求,称为覆盖索引,例如:select ID fro ...

  4. 强化学习实战 | 表格型Q-Learning玩井字棋(四)游戏时间

    在 强化学习实战 | 表格型Q-Learning玩井字棋(三)优化,优化 中,我们经过优化和训练,得到了一个还不错的Q表格,这一节我们将用pygame实现一个有人机对战,机机对战和作弊功能的井字棋游戏 ...

  5. 原创QQ影音DLL劫持漏洞+动画实战教程

    1.什么是DLL DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成 ...

  6. Arduino单片机使用和开发问题记录

    1.将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上查遇到这个问题的人比较多,有说驱动问题的,有 ...

  7. Annikken Andee–Arduino与Android间的简易连接

    一个Arduino的兼容板,允许你显示并控制来自Android设备的Arduino应用.无需Anroid APP开发. 点击:观看视频 什么是Annikken Andee? Annikken Ande ...

  8. Arduino单片机使用和开发问题记录(转)

    源:Arduino单片机使用和开发问题记录 1.将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上 ...

  9. Asp.NET Core2.0 项目实战入门视频课程_完整版

    END OR START? 看到这个标题,你开不开心,激不激动呢? 没错,.net core的入门课程已经完毕了.52ABP.School项目从11月19日,第一章视频的试录制,到今天完整版出炉,离不 ...

随机推荐

  1. JDK常用命令行工具使用

  2. flask-宏

    flask-宏 模板中的宏跟python中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量,使用宏的时候,参数可以为默认值. ...

  3. MongoDB查询mgov2的聚合方法

    1.多条表数据累计相加. respCount := struct { Rebatescore int64 //变量命名必须要和查询的参数一样.}{} o := bson.M{"$match& ...

  4. Linux 磁盘管理篇,设备文件

    IDE硬盘                /dev/hd[a-d] SCSI/SATA/USB硬盘        /dev/sd[a-p] U盘                /dev/sd[a-p] ...

  5. redis 非关系型数据库

    redis 类型,数据存在磁盘里面,所以存储速度比较快,其他数据类型还是存储在数据库所以比较慢些 链接redis数据库: r=redis.Redis(host="%%%%%%%", ...

  6. Java Random 随机数

    package myrandom; import java.util.Random; /* * Random:用于产生随机数 * * 使用步骤: * A:导包 * import java.util.R ...

  7. 惊呆了,Servlet Filter和Spring MVC Interceptor的实现居然这么简单

    前言 创建型:单例模式,工厂模式,建造者模式,原型模式 结构型:桥接模式,代理模式,装饰器模式,适配器模式,门面模式,组合模式,享元模式 行为型:观察者模式,模板模式,策略模式,责任链模式,状态模式, ...

  8. 【原创干货】大数据Hadoop/Spark开发环境搭建

    已经自学了好几个月的大数据了,第一个月里自己通过看书.看视频.网上查资料也把hadoop(1.x.2.x).spark单机.伪分布式.集群都部署了一遍,但经历短暂的兴奋后,还是觉得不得门而入. 只有深 ...

  9. PIL库之图片处理

    (1)对图片生成缩略图 from PIL import Image im = Image.open("C:\Users\litchi\Desktop\picture1.jpg") ...

  10. PHP反序列化漏洞总结

    写在前边 做了不少PHP反序列化的题了,是时候把坑给填上了.参考了一些大佬们的博客,自己再做一下总结 1.面向对象 2.PHP序列化和反序列化 3.PHP反序列化漏洞实例 1.面向对象 在了解序列化和 ...