0%

前言

作为一个入坑超过一年的osu玩家,一直以来我的游玩设备都非常简陋。在2kpp时我才把我的百元鼠标换成了数位板,键盘更是一直用着笔记本自带的薄膜键盘。因为资金问题,选择困难症再加上“能用就用”的想法,我没有更换键盘或者买个触盘的欲望。在大二上学期的某一天,我对鼠标和键盘的通信协议产生了好奇,在查阅资料后发现它们几乎都在使用HID(Human Interface Device)与PC通信,后来我在翻看STM32CubeMX时发现STM32芯片能够实现该协议。也差不多在这段时间,稚晖君发布了一个完全由自己设计的键盘,他的键盘主控也是STM32。到了学期末,aetrna刷新osu!pp记录的成绩震惊了整个osu圈,我在这时也初次了解到Wooting 60 HE这款键盘。这款键盘不同于传统机械键盘,它的轴体是磁力轴,键盘本体通过霍尔传感器感应按键按下的距离,正因为这样该键盘可以调节触发距离,并且可以实现快速触发这一逆天功能。市面上这种键盘屈指可数且价格昂贵,再结合稚晖君的伟大创举,我萌生了自己设计并制作一款触盘的想法。

初步探索

我的初步设想是,制作一个2+3键的osu触盘,2个主键可以实现热拔插,同时也兼容Wooting磁轴,可以感应磁轴下落的距离。要实现这些,需要合适的PCB,磁轴和霍尔感应器。

PCB

我翻看立创开源平台的一些键盘工程后发现,轴座一般都是五孔式的热拔插轴座,键轴正中下方是固定孔,无法安放传感器,于是我设想可以在安放键轴的PCB下方加装一块装有感应器的PCB,使用FPC将两块板子相连接。

磁轴

在淘宝上搜索后发现,并没有磁轴公开售卖,我想着可以魔改一个键轴,往里面塞个磁铁。于是我买回来试轴器和几款环形磁铁,虽然磁铁能够装进去,但由于内部结构的阻挡,按键无法按下。由于手头没有跟多的工具,无法对键轴进行进一步的魔改。

霍尔感应器

目前淘宝上搜索排名靠前的大部分都是开关霍尔感应器,无法检测磁场强度的大小,于是我把目光投向了德州仪器,我在此强推德州仪器,他们厂家的文档非常详细,并且一般也配套了仿真计算文件。在经过仿真和选型后,最终我选择了DRV5056A1。这款传感器是该系列中最灵敏的一款。可以有效感应磁轴磁铁产生的微小磁场。在购买了几块回来测试后确实符合要求。

小结

在初步探索后我认识到,目前短期内磁力感应功能是实现不了的,但是可以先制作一款普通的触盘,同时预留连接器方便以后磁轴功能的扩充。而下一步就是触盘的设计。

质点运动学

位矢
\(\vec{r}=x\vec{i}+y\vec{j}+z\vec{k}\)

位移
\(\Delta\vec{r}=\Delta x\vec{i}+\Delta y\vec{j}+\Delta z\vec{k}\)

速度
\(\vec{v}=\frac{d\vec{r}}{dt}\)

速率
\(v=|\vec{v}|=|\frac{d\vec{r}}{dt}|\)

阅读全文 »

自古以来,彗星就以其托着的长尾巴著名。在古代中国,人们称之为“星孛”。早在公元前613年,《春秋》就有记载“秋七月,有星孛入于北斗”。但是在那时彗星的出现常常被视为一种凶兆。《汉书•五行志》中就有记载:“孛者,恶气之所生也。谓之孛者,言其孛孛有所妨蔽,暗乱不明之貌也。”而在同一时期的西方,彗星常常被视为一种神谕。在众多彗星中,最为著名的就是凯撒大彗星(C/-43 K1),在罗马共和国终身独裁官乌斯·凯撒遇刺身亡后不久,按照法令被列入众神之列,当时罗马人连续七天都能看到这颗彗星,甚至在白昼也能被看到,这款彗星可能是有历史记录以来最明亮的白昼彗星。

但彗星究竟是什么?从古至今无数的人对它做出了猜想。亚里士多德认为,彗星是在大气层上层的现象,是在炎热、干燥的环境下聚集和偶然喷出的火焰,跟流星、极光甚至是银河的成因相同。尽管后来的哲学家对此说法提出异议,但亚里士多德的观点更具影响力,直到1577年,丹麦的天文学家第谷·布拉赫试图使用自己和他人在不同地点测出的彗星位置计算出彗星的视差,但在精度范围内测不出任何视差。这暗示了彗星的距离比月球到地球的距离至少还要远4倍以上。

阅读全文 »

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

+