第一步:零件和工具





有机玻璃。我拿了两块不同厚度的矩形板,2块mm和4mm。厚的是中间层,光线通过边缘照明;你会用更薄的板坯打开它,做成三层。.所以当地是50欧元diy商店5欧元
中文 Arduino Micro 。来自aliexpress的2€
OLED i2c屏幕。您可以自由选择2:128的尺寸x32或128x64 。..。..我有两个,所以我决定用第一个。aliexpress的4€
WS2812B RGB LED灯带。我已经有30个/m作为剩余,也可以用60leds/m。你会得到更均匀的光扩散。aliexpress的4欧元
1米塑料粘合剂包装。最好选择汽车包装纸,因为它是乙烯基,有一个特殊的通道来防止气泡,所以它将更容易使用。..。..但是我当地的油漆店有这些包装纸,这是更便宜的版本,所以我决定试试。.50€
砂纸,180和240砂砾。我给每一张都拿了一张,绰绰有余。.50€
4x 1,5MOhm电阻,可能更多,可能更少,取决于你想要多少电容按钮。..。..我决定放三个,但我不确定你会找到一个卖给你三个备用电阻的人,因为他们没有。我买了10个电阻设置为0.20€。
一些线,更薄更好(0.10mm是完美的)。几个月前,我打开一台旧收音机(坏了),看看有没有一些零件保存得很好。..我只保存了电线。
烙铁。我已经有一个了,从亚马逊购买和猜测是什么?它是中国的焊接套件之一。这很便宜,但它的工作。
热胶枪(我已经有一个了)
双面胶带。2.50€来自当地的diy商店。
刀具。即使刀片很磨损,我也用了我现有的。
标准胶带。
永久标记。
一对镊子,因为你需要。他们带了我买的烙铁套件。
锡箔。从厨房偷一些。
注:我已经有了dremel,所以我决定试着减少有机玻璃。然而,一些当地的diy商店有一个1欧元的切割服务,所以如果你没有,这不是问题。
注2:我省略你需要一台电脑来编程你arduino,插上它的电缆,但我觉得很明显。..。..而且,我第一次用面包板来测试一切,尤其是oled屏幕和LED灯条。
总费用: ~19€ (假设20欧元增加了一些差距)
我认为 的价格是公平的考虑到同样的价格,你可以买中国rgb如果亚马逊推出,鼠标垫甚至不受软件控制。
步骤2:电容传感器




这是一个传感器,宏按钮的传感器。制作一个非常简单的方法:切割一个小方形的锡箔,取一根电线,剥下一端,用一些胶带粘在金属箔上,以确保它们相互接触。
它的工作原理是箔起到电容器装甲的作用,而完成平行板电容器的另一个装甲是你的手指。在我们的例子中,有一种电介质:有机玻璃。因此,通过测量电容器,您可以知道手指之间的距离,因此您可以编写草图择触发按钮状态的电容器测量。
在上图中,您可以看到我用跳线制作的传感器,只是为了尝试物理工作(扰流板:确实如此)和最终接线图。插入传感器arduino,您需要选择发送和接收引脚(本例为键1D3和D4)并在两者之间放置1.5MΩ电阻。
第三步:切割有机玻璃板







警告 :不拉下面板上的保护膜直到你完成所有切割,或者你可能打破它!
你应该选择你想要的鼠标垫的尺寸:我的尺寸是25厘米x 20.6厘米,但你可以选择任何你喜欢的尺寸;请记住,它越大,你需要什么LED总成本越加的越多。
选择尺寸后,用永久标记绘制一些指南。有机玻璃很容易切割。你可以用切割机把它折断。因为我的刀不适合有机玻璃(甚至不能正常用于纸张)。..。..)我尝试使用Dremel。我以前从未使用过旋转工具,但我第一次使用旋转工具。..。..我不知道选择哪个位置,也不知道使用它的速度。在尝试使用锥形路由器钻头后,我决定使用标准切割板(我认为它更适合木工)。
正如你从图片中看到的,即使边缘很粗糙,结果也很好。在这一步结束时,你应该有三个相同的矩形,其中两个是2毫米厚,另一个(中间是4毫米厚)。这将导致8毫米厚的鼠标垫看起来不像它那么多,它几乎不会引起注意,至少对我来说,因为我的手腕完全放在垫子的表面而不是边缘。
第四步:雕刻中间层







这个步骤只涉及中间层所以只需要取4mm面板并将其余部分放在一边。
使用永久性标记,在表面上绘制一些线条:这些线条应形成一个通道,该通道将成为LED条带的外壳。它们应该宽度相同,因为你的条带是+ 1厘米,留下一些空间来连接端针,没有麻烦。如果你像我一样选择切割一个框架而不是U形,这是完全没问题的,事实上它更好,因为你将有更多的空间用于以后的“电缆管理”。..。..只是想留下一些东西在中间对比你的手重量,为我们用来封闭一切的更薄的有机玻璃提供支撑。
另外,在面板上部为arduino和左下角绘制一个外壳, oled显示器。在图片中你可以看到我用钻头做了一个洞作为切割的起点。
关于按钮,我开始这个项目计划连接4个按钮,但我认为它们太多了我担心电缆不适合,所以我去了3。这次我没有通过面板钻一个洞,但我停在大约一半的高度,我这样做是因为电线只用普通胶带与箔片接触,有助于在它后面有一个坚硬的表面,所以它赢了如果出现问题(例如,电缆因滑动而脱落),则会掉入孔中。为此,我使用了一个锥形路由器位。
步骤5:下层和上层



让我们从下层开始:你需要2个孔,一个对应于屏幕外壳,另一个对应于arduino外壳。就是这样。
上层,实际上不需要一个洞,但现在是这个版本中最困难的步骤之一:arduino是7mm厚,这个鼠标垫是8mm厚(2 + 2 + 4mm),上面板厚度为2mm,下面(我们已经钻过),所以我们需要布置一个1mm深的矩形,在对应arduino usb端口的部分有一个1mm厚的面板。这不是一件难事,但是有一个旋转工具可以帮助很多。
在图片中,你可以看到我也做了一些通道,可以更轻松地连接所有东西。
第6步:打磨一切








是时候平滑边缘了。如果边缘较粗糙,请使用180粒度。你必须在框架的内部和外部打磨边缘,这将产生均匀和光滑的照明。
完成后,从所有面板上剥下保护膜,然后用湿scottex清洁所有面板。
提示:您可以通过包裹一条薄薄的条带来更轻松地进行打磨。纸到一小块木头;通过这种方式,您可以获得更好的抓地力,并且可以在与边缘接触的纸张表面施加均匀的压力。
奖励图片:我真的迫不及待地想看到边缘照明的结果(我在现实生活中从未见过它!)所以我试图通过面板照亮一些LED:结果真是太神奇了。二极管上的“黑暗形状”是我用来提高反射率的锡箔(我也试过没有,但使用它会产生很大的差异)。
步骤7:包装时间!






Yayyy:)
此步骤仅适用于下方面板:取出包装纸并将其切割成最终尺寸大于鼠标垫大小的矩形(但不要太多,只需从每个挡板取2厘米)。现在就像为智能手机应用屏幕保护:在剥离粘合剂之前,确保表面完全干净。从一侧开始应用,帮助您使用像信用卡这样的光滑工具,这样可以去除气泡。
完成后,您可以使用双面胶带的小孔将下层和中间层连接起来,你可以从图片中看到。您还可以看到我在某些边缘放置了一些其他锡箔,我这样做只是为了提高没有LED的边的反射率。
步骤8:测试电子设备




你不想开始焊接甚至不起作用的东西,对吗?我们需要测试oled屏幕和LED灯条。为此,我使用了备用的arduino,我焊接了所有的标题,因为我需要在面包板上使用它。接线与步骤2完全相同,只需注意屏幕必须插在A6-A5引脚上,因为它们是i2c通信线路。
要测试它们,您可以在此处使用代码。请注意,pic.h是一个头文件,因此您必须在IDE中导入它。
预期结果:LED灯条应淡化所有颜色,同时显示屏应打印华硕ROG徽标。
您也可以简单地使用组件库中的默认示例(我选择了FastLED库来处理rgb条),这取决于您。当然,请记住将库添加到arduino IDE中!
步骤9:包装上面板



在开始之前,您需要测量显示器相对于面板边缘的可见区域的大小。如果您不想进行任何测量,可以在屏幕上放置一些胶带层,用标记绘制一个围绕可见部分的矩形并沿边缘切割:您只需为屏幕做出完美尺寸的屏幕保护。然后将“屏幕保护”粘在有机玻璃上并开始包装:因为它有一个很小的厚度,你将能够通过塑料包装看到边框。
所以,将上面板包裹起来之前做过但在这一步骤中对于避免气泡至关重要,因为这将是滑动鼠标的表面。气泡越多,鼠标的跟踪精度就越低。
完成后,用一把精确的刀切开一个窗口看屏幕。再一次,刀片必须是新的,否则不会变好(是的,我知道,我一直都很愚蠢,我使用了同样糟糕的刀具,但是我冲到了最后一步,因为我太夸张了,看不到它。..。..做另一个的好理由:D)。
提示:你不能为纸张选择完全反光的表面(如抛光/缎黑),否则你的鼠标将无法工作。相反,选择像我一样的哑光效果。碳外观包装也应该起作用,以及贴纸炸弹,但是如果你看碳素看起来那么,考虑到因为“3D完成”而不平坦(=你的鼠标在滑行时会更响亮)。
第10步:连接所有东西








我们几乎就在那里:是时候将所有电子设备连接到鼠标垫内了。
所有组件必须没有任何组件pin:如果有的话,拆焊它们。你不能增加额外的厚度,例如,我的LED灯带附加了焊接的额外电线,所以我决定把所有东西都拿掉,因为电线太厚了。必须以足够的精度测量所有电缆,除了那些连接到屏幕的电缆,最好留一点松动,以帮助您进行最后的调整。
在图片中,你可以看到led带有一个专用连接器,所以我只是切断了他们放置的热缩保护装置并拆除了所有东西; oled显示器也带有预定销,所以我再次将它们移除,然后继续操作。我有一个备用的2个2个LED每个,因为我决定在每一侧放4个LED(所以我的鼠标垫总共有4x3 = 12个LED),我只是通过在它们之间建立一个“桥”来焊接这两个部分。使用锡的连接器。
我使用了一些热胶来帮助我把所有东西固定到位,事实上它工作得很好。
当你准备好了,切一些其他锡纸和胶带它在反射面朝向光源的LED上,这将极大地提高反射率。
步骤11:关闭鼠标垫


这是最后一步。连接并测试完所有内容后,切割一些小方块的双面胶带并将它们放在角落上,然后将显示屏与您在步骤9中制作的窗口对中,并使用热胶将其固定到位。
当您准备关闭它时,选择一个起点,使面板与另外两个对齐。
步骤12:编程







硬件部分是现在是时候把头转到编程模式了:到目前为止,你可以通过使用arduino IDE加载草图来控制你的鼠标垫,如果你有很多时间浪费编辑每次多行,那就没那么糟糕了。代码:更好地在您的计算机上运行后台运行的软件,它通过串行通信直接与Arduino对话。
幸运的是,我开源了关于这个项目的所有内容所以在我的Github存储库中你可以找到arduino固件以及在你的计算机上运行的软件:当然,如果你想尝试自己做一切都很好,事实上这是这个diy最无聊的部分,所以如果你不想这样做那么没问题。当然欢迎PR!该程序还没有完成,事实上它可以做基本的事情,比如设置个别LED或某种布局,但我是学生,我没有太多的空闲时间:S
图片你可以看到我在构建一切的过程中做的一些测试,如果我不得不将它们放在由这些DIY步骤制成的时间线上,那么我会选择在步骤8中插入它们但是我决定不包括它们,因为,你知道,它们只是编码和测试,包括研究尽可能获得最佳边缘照明的解决方案(例如,改变LED的数量和它们之间的距离以获得均匀的光而不会混合过多的单个颜色)。我还提供了一张关于尝试使用oled屏幕显示关于我的计算机的实时satistics(cpu,ram usage等)以及其他一些关于用户界面开发的图片。
第13步:享受!


感谢您阅读本教程!这是我写的第一个,你可能已经猜到了,这也是我以前做过的第一个diy项目。我真的很开心,我真的很喜欢分享一切,所以我喜欢在所有这些步骤中记住,我将发布这个项目,让每个人都可以使用。如果你有任何问题随时问!当然,也欢迎进一步改进的建议。 :)
我想谈谈我对软件做出的选择:
我选择Java作为编程语言,因为它是用于编写arduino IDE的语言因此它为我提供了与主板完美无缝的串行通信,也是“一次编写一次运行”(cit。)所以,考虑到我计划与大家分享这个项目,支持windows和linux这样的多个平台并不是那么糟糕
如果我选择C#作为编程语言,我可以直接挂钩到d3d12以使用oled屏幕作为FPS显示(基本上与FRAPS一样)但牺牲了这种功能的可移植性这不是一个明智的选择,至少对我而言
我知道,UI非常糟糕LOL的重点是,如果你想要一个静态界面,那么建造者会让你的生活变得更轻松,但事实并非如此可以选择你有多少LED,所以我选择了最疯狂但最通用的解决方案。你可以自由制作自己的个人图形,这就是我要做的。..。..也许吧。
进一步改进可能是实施SteelSeries引擎,以便在您玩CS:GO或该库支持的任何游戏时显示游戏中的统计数据。..但我无法在笔记本电脑上运行这些游戏,所以我甚至无法开始尝试这个。没关系!
责任编辑:wv