一、想法

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的更多相关文章

  1. NN入门,手把手教你用Numpy手撕NN(2)

    这是一篇包含较少数学推导的NN入门文章 上篇文章中简单介绍了如何手撕一个NN,但其中仍有可以改进的地方,将在这篇文章中进行完善. 误差反向传播 之前的NN计算梯度是利用数值微分法,虽容易实现,但是计算 ...

  2. Netty实现高性能IOT服务器(Groza)之手撕MQTT协议篇上

    前言 诞生及优势 MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,现为Cirrus Link)于1999年开发,用于监测穿越沙漠的石油管道.目标 ...

  3. 手撕RPC框架

    手撕RPC 使用Netty+Zookeeper+Spring实现简易的RPC框架.阅读本文需要有一些Netty使用基础. 服务信息在网络传输,需要讲服务类进行序列化,服务端使用Spring作为容器.服 ...

  4. NN入门,手把手教你用Numpy手撕NN(一)

    前言 这是一篇包含极少数学推导的NN入门文章 大概从今年4月份起就想着学一学NN,但是无奈平时时间不多,而且空闲时间都拿去做比赛或是看动漫去了,所以一拖再拖,直到这8月份才正式开始NN的学习. 这篇文 ...

  5. 手撕公司SSO登陆原理

    Single Sign-on SSO是老生常谈的话题了,但部分同学对SSO可能掌握的也是云里雾里,一知半解.本次手撕公司的SSO登陆原理,试图以一种简单,流畅的形式为你提供 有用的SSO登陆原理. 按 ...

  6. NN入门,手把手教你用Numpy手撕NN(三)

    NN入门,手把手教你用Numpy手撕NN(3) 这是一篇包含极少数学的CNN入门文章 上篇文章中简单介绍了NN的反向传播,并利用反向传播实现了一个简单的NN,在这篇文章中将介绍一下CNN. CNN C ...

  7. 看年薪50W的架构师如何手写一个SpringMVC框架

    前言 做 Java Web 开发的你,一定听说过SpringMVC的大名,作为现在运用最广泛的Java框架,它到目前为止依然保持着强大的活力和广泛的用户群. 本文介绍如何用eclipse一步一步搭建S ...

  8. 手撕ES6--Promise

    手撕ES6--Promise:https://www.jianshu.com/p/0925eae38d2c 手写一个Promise,附源码分析:https://blog.csdn.net/weixin ...

  9. 编译原理--05 用C++手撕PL/0

    前言 目录 01 文法和语言.词法分析复习 02 自顶向下.自底向上的LR分析复习 03 语法制导翻译和中间代码生成复习 04 符号表.运行时存储组织和代码优化复习 05 用C++手撕PL/0 在之前 ...

随机推荐

  1. adb命令篇 (转载)

    转自:https://www.cnblogs.com/ailiailan/p/7896534.html 1.抓log方法  (bat文件)  mkdir D:\logcat set /p miaosh ...

  2. ethereumjs/ethereumjs-blockchain-2-test

    https://github.com/ethereumjs/ethereumjs-blockchain/tree/master/test 'use strict' const test = requi ...

  3. 修改Xcode工程名称

    概述 有的时候需要在现有的项目上面开发一个新的项目,如果新建工程的话,就比较麻烦了,所以一般是直接现有的工程上面直接修改名字步骤如下: 1.修改工程名字 在这里修改完之后,会弹出一个对话框,点击Ren ...

  4. .Net Sokcet 异步编程

    一.概述 使用Socket 进行实时通讯,如果使用APM,只需要一个Socket类即可.如果使用EAP,则还需要一个SocketAsyncEventArgs类.本文以EAP的方式展开讨论. Socke ...

  5. lwip IP address handling 关于 IP 地址的 操作 API接口

    lwip 2.0.3  IP address handling /** * @file * IP address API (common IPv4 and IPv6) */ 1.u32_t ipadd ...

  6. linux下安装php扩展amqp

    1 安装扩展必要依赖 rabbitmq-c 安装包地址:https://github.com/alanxz/rabbitmq-c/releases wget -c https://github.com ...

  7. docker搭建本地私仓

    环境centos7  docker-ce 18 启动仓库镜像 docker run -d -p 5000:5000 registry:2 docker images 通过docker tag 标识镜像 ...

  8. .net core 实践笔记(三)--封装底层

    前言: 有了前面的工作,简单的架子基本搭建起来了,因为条件有限,只能先测试SqlServer的了,源码放出来,也希望有兴趣的伙伴可以一起改善,相信可以成为未来进阶架构师的第一步,自己有小项目的时候可以 ...

  9. React Native获取组件位置和大小

    RN页面中定位或滚动操作时,需要获取元素的大小和位置信息,有几种常用的方法 获取设备屏幕的宽高 import {Dimensions} from 'react-native'; var {height ...

  10. 前端调用接口得到的数据跟postman跑出来的数据里数字部份不相等

    昨天碰到这样一个场景,调用后端接口返回的数据发现所有数据都是正常的,只有一个商品ID的最后两位是错的,每一个商品都是,导致无法进行商品的上下架和删除, 经过查资料发现: 浏览器解析数字的坑,一旦超出一 ...