手撕一个 Galgame 神器——Shub-Niggurath Project
一、想法
Galgame 我们大概可以分为好用的 Galgame 和好玩的 Galgame,但是如果你把好玩的 Galgame 拿来用的话,有时候会十分让人着急。如果你躺在床上,一只手还在按压键盘实际上是很费神费力的,抓一只鼠标其实算是不错的解决方案,但是组合按键太少,难以高速解决快进快退存档读档等复杂的操作,在此之前我被安利的是使用 PPT 翻页笔,我 20 包邮买到的翻页笔有 Page Up,Page Down,Tab 和 Enter 功能,其中的激光可以拿来逗猫,也导致我电量耗的比较快(雾),基本可以满足日常需要,但是手感有些过软,用起来并不舒服,在某 K 的忽悠下开始制作了这个项目。
二、命名
这个很重要,才不会告诉你起名花的时间比设计 PCB 的时间还长
莎布·尼古拉丝是克苏鲁神话中的外神,有着许多触手,以及滴著黏液的大嘴,跟 Galgame 很配,听起来也很厉(zhong)害(er)的原因,所以选用了这个名字作为这个项目的名称。
三、外观设计
微软的 Surface Dial 的转盘设计很让人眼红,躺在床上也是比较容易进行的操作(单指旋转),所以以 Dial 的为原型开始了设计。
第一版设计图其实基本上和 Dial 一样,很普通的一个圆形的而已,但是并做不到使用多个快捷键的需求(在 X 的时候还要想办法切换配置文件是很扫兴的吧...),所以设计了第二版。
第二版把圆形的底部改为了正方形,并在转盘下方增加了一排 4 Key 的薄膜键盘(机械键盘轴比较占地方),可以满足配置文件和快捷键的快速使用与切换。转盘部分使用了常见的 EC 11 旋转编码器,购买和开发都很方便,淘宝上可以很轻易的买到梅花柄的金属或者塑料的大的旋转编码器转盘,也算是降低了物料成本吧。
建模的过程在 B 站直播过了,没看到就没看到吧 hhhhh
四、电路部分设计
开发成本有两部分,分别是物料成本和时间成本。既要保证物料成本不会太高,还要保证不要花费太多时间,那么有没有一种...
抱歉走错片场了,为了节省开发时间,我们选择了使用 Sparkfun 设计的搭载 ATmega32U4 的 Arduino Pro Micro,即减少了物料成本(我不会焊接贴片元件),又减少了时间成本(有官方制作的 Keyboard&Mouse 库来使用),也算是折中的方案吧(做个玩具要求那么高干啥)。
RGB 即是正义!没有 RGB 和咸鱼有什么区别。剩下的时间就是简单的画一下 P(zhuan)C(jie)B(ban),之前一直用 Eagle 这次换到 Altium Designer 还有点不舒服的样子。(吐槽我灵魂走线的拖出去打死)

五、加工与成品
一样惯例的 FR-4,黑油白字,有铅喷锡,过孔盖油,1.6 板厚加工,焊接完成后的样子(已经装在底座上了):

至于体验,emmmm...只能说还好,有根连接线算是败笔,平时剪视频时拿来用也可以,至于为啥没有成品图呢?因为 4 Key 薄膜键盘忘记带了...所以我接出来了几个按键用,看起来不太美观,就藏起来了hhhhhh
作者:Jimmy Tian
原文链接:https://twznow.com/archives/43/
手撕一个 Galgame 神器——Shub-Niggurath Project的更多相关文章
- NN入门,手把手教你用Numpy手撕NN(2)
这是一篇包含较少数学推导的NN入门文章 上篇文章中简单介绍了如何手撕一个NN,但其中仍有可以改进的地方,将在这篇文章中进行完善. 误差反向传播 之前的NN计算梯度是利用数值微分法,虽容易实现,但是计算 ...
- Netty实现高性能IOT服务器(Groza)之手撕MQTT协议篇上
前言 诞生及优势 MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,现为Cirrus Link)于1999年开发,用于监测穿越沙漠的石油管道.目标 ...
- 手撕RPC框架
手撕RPC 使用Netty+Zookeeper+Spring实现简易的RPC框架.阅读本文需要有一些Netty使用基础. 服务信息在网络传输,需要讲服务类进行序列化,服务端使用Spring作为容器.服 ...
- NN入门,手把手教你用Numpy手撕NN(一)
前言 这是一篇包含极少数学推导的NN入门文章 大概从今年4月份起就想着学一学NN,但是无奈平时时间不多,而且空闲时间都拿去做比赛或是看动漫去了,所以一拖再拖,直到这8月份才正式开始NN的学习. 这篇文 ...
- 手撕公司SSO登陆原理
Single Sign-on SSO是老生常谈的话题了,但部分同学对SSO可能掌握的也是云里雾里,一知半解.本次手撕公司的SSO登陆原理,试图以一种简单,流畅的形式为你提供 有用的SSO登陆原理. 按 ...
- NN入门,手把手教你用Numpy手撕NN(三)
NN入门,手把手教你用Numpy手撕NN(3) 这是一篇包含极少数学的CNN入门文章 上篇文章中简单介绍了NN的反向传播,并利用反向传播实现了一个简单的NN,在这篇文章中将介绍一下CNN. CNN C ...
- 看年薪50W的架构师如何手写一个SpringMVC框架
前言 做 Java Web 开发的你,一定听说过SpringMVC的大名,作为现在运用最广泛的Java框架,它到目前为止依然保持着强大的活力和广泛的用户群. 本文介绍如何用eclipse一步一步搭建S ...
- 手撕ES6--Promise
手撕ES6--Promise:https://www.jianshu.com/p/0925eae38d2c 手写一个Promise,附源码分析:https://blog.csdn.net/weixin ...
- 编译原理--05 用C++手撕PL/0
前言 目录 01 文法和语言.词法分析复习 02 自顶向下.自底向上的LR分析复习 03 语法制导翻译和中间代码生成复习 04 符号表.运行时存储组织和代码优化复习 05 用C++手撕PL/0 在之前 ...
随机推荐
- 【[SHOI2012]随机树】
感觉第一问就非常神仙,还有第二问怎么被我当成组合数学题来做了 首先是第一问 期望具有线性性,于是深度平均值的期望等于深度和的期望值的平均 设\(dp_x\)表示具有\(x\)个叶子节点的树的深度和的期 ...
- 利用memcached实现分布式锁
一 需求场景: (1) 需要限制用户创建提现订单的频率:目的一是防止前端bug引起的用户重复提交:二是防止并发攻击绕过提现策略(第一次提现和第二次提现门槛可能不同). (2) 需要限制秒杀下同一用户 ...
- 【node】安装
参考链接: http://www.runoob.com/nodejs/nodejs-install-setup.html http://blog.csdn.net/u010255310/article ...
- CUDA 纹理的使用
纹理绑定有两种,一个是绑定到线性内存就是用cudaMalloc();cudaMemcpy();开辟的内存空间,另一种是绑定到cudaMallocArray, cudaMemcpyToArray开辟到的 ...
- 利用matplotlib绘画出二特征的散点图
实例的所有数据来源于吴恩达教授的机器学习数据,特此感谢.数据源可以前往course下载. 本文主要目地在于绘画二维的散点图,至于scatter的用法可以参见我之前的博客. import pandas ...
- android TextView里边实现图文混配效果
做的游戏攻略中的图文载入已经用TextView实现.但看到网易新闻里的内容.点击图片能够调到一个新的Activity ,感觉也像Textview 实现的,但不知道怎么弄,想想能够通过动态载入Textv ...
- Xcode 控制台打印Unicode字符串转换为中文
在Xcode的控制台里直接打印一个数组或者字典,输出的都是一些Unicode的编码,不方便调试. 要想看到中文,则要去获取对应的key或者数组下标.得到具体某一个对象才能看到中文,给我们调试起来 ...
- #leetcode刷题之路31-下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列.如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列).必须原地修改,只允许使用额外常数空间. 以下 ...
- jquery file upload使用
<!-- jquery file upload相关js --> <script src="/js/jquery-file-upload/js/jquery.ui.widge ...
- Ubuntu操作系统(我的是ubuntu 18.04.3 LTS)
查看是否开启了ssh服务是否安装,使用命令: sudo ps -e |grep ssh 如果安装了的是会有sshd服务的,下面的图片是没有安装ssh服务 2 先更新资源列表,使用命令: sudo ap ...