数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3965|回复: 6

[Arduino] 91C16机械表头改造手记 实现无线机械式笔记本状态指示器(原创)

[复制链接]
发表于 2021-3-28 22:02:59 | 显示全部楼层 |阅读模式
随着科技的发展,数字系统深入我们的日常生活,相较于传统的模拟系统有着极大的优势。
随手买一个山寨数字万用表,很便宜就有 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

打赏

参与人数 2家元 +40 收起 理由
慕名而来 + 20 高端玩法
hfsp + 20 謝謝分享

查看全部打赏

发表于 2021-3-28 22:34:32 | 显示全部楼层
:lol:没表头买OLED有开源的立创哪边!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 09:25:39 | 显示全部楼层
gl542400 发表于 2021-3-28 22:34
没表头买OLED有开源的立创哪边!

就是要个复古味道,你一上 OLED 总感觉像唱戏机
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-30 14:12:55 | 显示全部楼层
创意,有创意
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-22 19:16:14 | 显示全部楼层

这种老式的表头,基本上要被现代数字产品按在地上摩擦,精度不行、速度不行、耐久度不行......
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-22 19:17:01 | 显示全部楼层
aacyxjz 发表于 2021-6-22 06:15
技术大牛!!!

感谢捧场!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-25 15:38 , Processed in 0.187201 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表