手撕一个 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 在之前 ...
随机推荐
- 随手练—— 洛谷-P2945 Sand Castle(贪心)
题目链接:https://www.luogu.org/problemnew/show/P2945 (原题 USACO) 要求钱最少,就是试着让M和B的离散程度最小(我自己脑补的,就是总体更接近,我不知 ...
- array详解
array和vector大致是相同的,区别在于array的大小是固定的.不能增加和缩小.另外array的swap()函数和vector的swap()函数在算法复杂度上是有区别的,array.swap( ...
- 一起玩树莓派3+使用Gitlab搭建专业Git服务
http://bbs.eeworld.com.cn/thread-505256-1-1.html https://packages.gitlab.com/gitlab/raspberry-pi2 ht ...
- JSP基本指令
jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出,而只是告诉引擎如何处理其余JSP页面.其一般语法形式为: <%@ 指令名称 属性=“值”%> 三种命令指令分 ...
- 链表推导式 【list comprehension】
x for x in x 链表推导式 [list comprehension]链表推导式提供了一个创建链表的简单途径,无需使用 map(), filter() 以及 lambda.返回链表的定义通常要 ...
- Dubbo实践(二)架构
架构 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和 ...
- 可视化编程中----cell的自适应高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ Joke ...
- HDU 1050(楼道搬桌子问题)(不是贪心解法,思路很新颖)
Moving Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HttpWebRequest类,及如何使用Cookie(转载)
HttpWebRequest类与HttpRequest类的区别.HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReques ...
- react+webpack搭建项目
一.环境准备 ①node ②npm 二.开始搭建 ①使用npm安装create-react-app工具,在cmd命令行中输入: npm install -g create-react-app ②使用命 ...