|
随着科技的发展,数字系统深入我们的日常生活,相较于传统的模拟系统有着极大的优势。
随手买一个山寨数字万用表,很便宜就有 3 位测试精度;而同样精度的指针表就要贵得多。
前几年偶有机会囤了几块 91C16 表头,原设计是 15V 量程电压表,但实测精度太差。
测个 10V 电压能跑偏接近 1V,基本上连玩具都不如,这就谋划着改装之。
【改装】
作为经典的机械表,配合 Arduino 产生的数字 PWM 方波,自然是复古设备必备之思路,
理论上可以以机械表针实体的形态显示数字信号。
首先上 Arduino 扩展板焊接,表头内置限流电阻通通拆掉,只当一个纯表头使用。
扩展板上焊个电位器,既可以微调满量程位置,又可在程序跑飞时保护表头。
最终表头以插接的方式装在扩展板上,便于日后维护:
原理图贴上,供大家参考:
配合一套蓝牙串口模块板,整套系统就可以无线接在笔记本上,指示需要的信息。
【代码】
代码分为下位机(Arduino)、上位机中继(MFC)、上位机用户(MFC)三部分。
下位机接收蓝牙串口指令,经过 PWM 位置校正后驱动 91C16 表头显示信息;
上位机中继负责串口控制,把和下位机的通信抽象成一般 Windows 消息,避免一遍遍写代码;
上位机用户就是加载各种系统 API 读取内存、电池用量等,调用中继接口实现监视。
下位机用 Arduino 实现,做了一个 PWM 位置校正,确保指针转角均匀:
上位机中继、用户都是 MFC 来做,调用 Win32: API 以后访问串口就有了:
附上代码、烧录文件、exe可执行文件供大家参考。
a. 下位机(代码+HEX):
b. 上位机中继(代码+EXE):
c. 上位机用户(代码+EXE):
【运行】
加载了蓝牙串口以后,就可以把内存用量、CPU负荷等信息映射到指针位置了。
对照下 Windows 的任务管理器,还算准确:
完成工作中,内存用量大约 1/3 左右:
有了这个机械式的表针,彻底告别占屏幕的 XX 监视框、XX 加速球:
------------------------------------------------------------------------------------------------------
以上,改装 91C16 机械表头,配合蓝牙模块实现了无线机械式笔记本状态指示器。
配合上位机 APP 可以监视笔记本工作状态,多少有些复古意味。
最后祝大家 DIY 愉快!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|