手撕一个 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 在之前 ...
随机推荐
- ssti记录
先看个python沙箱: #!/usr/bin/env python from __future__ import print_function print("Welcome to my P ...
- [转]对象映射类AutoMapper的使用
由于原文太长了,此处就直接贴上原文的超链接,大家自行学习. codeproject中的一篇文章: AutoMapper
- poj 2253 Frogger 最小瓶颈路(变形的最小生成树 prim算法解决(需要很好的理解prim))
传送门: http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- Project Euler:Problem 86 Cuboid route
A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3, and a fly, F, sits in the o ...
- 微服务之数据同步Porter
Porter是一款数据同步中间件,主要用于解决同构/异构数据库之间的表级别数据同步问题. 背景 在微服务架构模式下深刻的影响了应用和数据库之间的关系,不像传统多个服务共享一个数据库,微服务架构下每个服 ...
- UML架构设计师必备神器
UML-架构设计师必备神器 做过Java开发的一定都听过UML,也都能感觉到它的重要性.由其是在网上搜索一些高级技术介绍,写的好的.阅读量高的.让初.中级程序员容易看懂的.思路清晰的文章一定有UML类 ...
- 今天在Qt子界面中的Button,转到槽转不过去,报错Qt The class containing 'Ui::MainWindow' could not be found in...
在网上查了原因,因为我在修改button的名字时,没选中button,选中了子界面对话框Dialog,然后修改了名字,又没有改回去,所以button转到槽报错. 参考网站: https://zhida ...
- XML第一次简单入门(Lab分析)
In this tutorial you will create a well-formed and verified XML file. Consider the XML document belo ...
- 如何用GDI+画个验证码
如何使用GDI+来制作一个随机的验证码 绘制验证码之前先要引用 using System.Drawing; using System.Drawing.Drawing2D; 首先,先写一个方法来取得验证 ...
- [教学] Delphi IDE 文件搜寻功能
Delphi IDE 提供了一个方便的文件搜寻功能,操作如下: 点 Search 选单内的 Find in Files... 例如我们想搜寻 JFile 需要引用那一个源码,可输入如下: 输入关键字: ...