做个暗金计数器吧

暗Bai金Gei计数器(StatTrak)

在CS:GO中,有些武器具有一个名为StatTrak的装置,这个装置可以记录玩家在游戏内杀敌数量。
觉得这个装置很有意思,于是想做一个出来。
preview-in-game
为了近距离观察这个装置,我斥8.8元巨资购买了一把格洛克18型(StatTrak™)|烈焰天使,并在人机对战中大杀四方。

由于只是个计数器,本质就是个可以自定义显示内容的显示屏。

方案1 = OLED12832+Arduino

谷歌一番后,发现有YouTuBe上一个老哥干过类似的事情,他使用的方案正是12832 OLED+Arduino,但是OLED只有白色和蓝色,那么如何实现游戏里的橙色效果呢?
答案就是添加一层橙色滤膜,这位老哥使用的滤膜价格起飞,还只有小小的一块。不就是个橙色塑料片吗,窗户用的就不行吗,于是我斥巨资购买了老大一张橙色半透明塑料膜。贴到了OLED上,效果还挺好的。
StatTrak_P1
我当时觉得这个太小了,不好微型化,(2020-11-21现在回想一下,已经没有太大难度了)。

方案2 = LED57+Arduino

在某宝畅游一番以后,发现并没有找到合适的点阵屏幕。不过有个30mm高的倒是符合一些要求,遂决定等比放大做出实物。
每块屏幕使用MAX7219驱动,并联起来。
电路板使用KiCad绘制,于是就有了如下的效果图。
StatTrak_P1
焊接好以后就是这样,至于为啥看起来不一样,因为…我…第一次失败了…点阵屏卖家给的资料是错的…自己测是测出来了,结果画原理图的时候,又搞错了。
preview-in-game
preview-in-game
加上一层黑色滤镜后,显示效果还凑合的样子。然而觉得外观实在是太丑了,就放弃了。
effect

真的丑啊,我是在什么情况下才会有要使用黑色记号笔涂黑的念头啊。

方案3 = HDSP2072+Arduino

有次逛闲鱼,发现了有个屏幕的参数挺符合要求的,一问价格72,打扰了,就咬咬牙买了下来。
这块屏幕是上个世纪的库存了,原来是用于大哥大上的。
好在这个世纪的Arduino也可也正常驱动
然后觉得这次可以直接画一块完整的板子,不使用外接的Arduino了,是练手的好机会。
就照着SparkFun提供的Pro Micro原理图一顿抄(精简),一天时间总算是画的差不多了。
hdsp-stattrak
然后找5块钱24小时加急顺丰包邮送到家的JLC加工。24小时后,板子就到家了。
pcb
finish-pcb
不得不说,Type-C接口比QFN44还难焊.由于我是从ProMicro上拆下来的Atmega32U芯片(掏芯窝子),所以不需要烧写bootloader.

这个方案内部电路部分还是挺满意的,于是就开始着手于外壳制作,结果第一版的外壳长这样,还真是个壳子。
shell-v1
屏幕宽度占了整体宽度的一半,直接加壳子就像一个BB机一样了,或者说好像一个收音机啊。

或许我可以让PCB斜着放 或者就让他有这个大下巴了,我是救不了了

不行,不可以在这里妥协啊,于是被迫想出了第二个方案。

让我们致敬乐视的ID无边框吧
shell-v2

只要不点亮屏幕,你就永远无法知道我的实际显示区域是多少。

effect-v2

参考资料

Pro Micro - 5V/16MHz
SparkFun Qwiic Pro Micro - USB-C (ATmega32U4)
Real life StatTrak
MAX7219LedMatrix
HDSP2000_Display