你的出枪速度够快么,DIY一个鼠标响应时间记录器

2020-10-17 18:02:00 8点赞 27收藏 5评论

创作立场声明:本文所测商品为自用。使用的Arduino单片机和上位机程序也是自己编写的。评测结果不能代表产品实际性能。仅供参考

前言

鼠标,一个在现代生活中不可缺少的设备,商家把鼠标的各种参数说的天花乱坠。这里我DIY一个记录鼠标从按下到电脑收到消息这个过程需要多久时间的机器。名字就“鼠标响应时间记录器”好了

基于Arduino uno 3 ,Arduino IDE ,上位机程序用Java Swing 写的界面。

鼠标

简单鼠标PCB简单鼠标PCB

一个最简单的三个按键加上一个滚轮的符。里面有三个微动开关。一个编码器。这几个是决定这个鼠标寿命的主要机械结构。一般平常的双击,点击无反应换微动开关即可。滚轮不跟随换编码器即可解决。

微动

其实就是一个微型的单刀双掷开关,按下的时候COM/NO导通。鼠标检测COM电平来判断是否点击。这里说一些。一些大厂的低端鼠标这玩意用最垃圾的。用一段时间就会出现双击的问题。

微动开关电气原理图微动开关电气原理图

鼠标时间响应记录器

我们在玩游戏的时候脑回路大概是这样的

游戏脑回路游戏脑回路

鼠标时间记录器是记录鼠标按下到电路收到鼠标按下时间的一个机器。就是图中黄圈内的这段时间。

油管有UP主测试过从移动鼠标到CS里任务移动这段时间。用的是高速摄影机来实现。我表示太壕比不上。

时间记录时序图时间记录时序图

1.电平拉高,鼠标微动开关旁通电路接通。

2.通知上位机鼠标已经按下

3.上位机监听到鼠标按下。

4.电平拉低,鼠标微动开关盘通电路断开

5.通知上位机鼠标已经松开

6.上位机监听到鼠标松开

以上步骤循环多次

硬件篇

测试鼠标响应,自然得先准备一个鼠标,这里用的是我用了多年的罗技M170无线鼠标。

鼠标图鼠标图

作为一个非硬件从业工作者。这里第一个问题。如何实时触发鼠标。一开始是想用单片机直接接线触发。发现行不通。然后看到光耦这个东西。可以隔离触发。动作时间微秒级别。就是它了。

光耦模拟按键触发光耦模拟按键触发

1,2引脚接单片机。这样就可以隔离触发鼠标微动开光。形成一个旁路支流来触发微动。这里选用的光耦是PC817.

逻辑接线图逻辑接线图

当然最重要的还需要一个鼠标。我这里准备一个用了好几年的罗技m170无线鼠标。属于罗技无线产品线里面最低端的产品。这次来看看在我搭建的环境下表现怎么样。

软件篇

1.Arduino IDE

2.Intellij IDEA(上位机我只会用JAVA)

实际试验图实际试验图

上位机记录上位机记录

数据整理数据整理

记录过多组数据,商标是选了一组用前30条数据组成的数据。由记录下的数据可以看出,虽然是一个低端无线鼠标。按下延迟依然可以控制在8ms(125hz)左右,只是不知道为什么释放延迟会在36ms左右。测试多次也没有发现是什么问题导致。

后记

该项目准备正在后续完善,后期会开源。非常简单的一个小东西。

目前只有一个实验样本,后续会放更多鼠标的测试数据

展开 收起
5评论

  • 精彩
  • 最新
  • 牛* 代码放一下学习学习,目前正想用2560监测甲醛 pm2.5 Tvoc,完完全全的新手

    校验提示文案

    提交
    挺简单的,上位机代码太烂还在优化,好了会通知你

    校验提示文案

    提交
    收起所有回复
  • 出枪不知道,缴枪可能是比较快

    校验提示文案

    提交
  • 有个游戏叫扎绵羊可以玩玩 [献花]

    校验提示文案

    提交
  • 完成后,建议拼多多来个白嫖套餐,手把手喂养

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
27
扫一下,分享更方便,购买更轻松