这个血压计相信有人手头上有。但是该血压计设计很奇葩,没有显示屏,没有任何按键,输出只有一根USB数据线,应该是连接电脑或手机来操控,但是找不到软件,即使找到现有手机也无法支持。这个应该是个设计失败的产品,很多人用来拆气泵等配件使用。
本人拆开研究一番,发现板子上有很多测试点,如PA?,TEST,Cal1等,通电捣鼓一番,发现PA5(红圈处)与地短接时血压计气泵嘟嘟开始充气工作了,然后就开始测量血压了,最后蜂鸣器嘟一声结束,但是啥也看不到啊。数据肯定从USB数据线输出了,于是接上串口,调整波特率,终于在9600bps捕捉到数据!
输出的数据如下,分析数据格式,刚开始输出6位数据,只有第4位变化,符合一般的血压计在测量时显示的血压变化,最后输出5组相同的9位数据,其中6F 50 3C就代表收缩压、舒张压和心率的16进制数,就是高压111、低压80、心跳60。
写到这里单片机高手就不用往下看来,直接找来单片机开干了。
FD FD 00 42 0D 0A
FD FD 00 BF 0D 0A
FD FD 00 B4 0D 0A
FD FD 00 A5 0D 0A
FD FD 00 98 0D 0A
FD FD 00 8D 0D 0A
FD FD 00 83 0D 0A
FD FD 00 7A 0D 0A
FD FD 00 71 0D 0A
FD FD 00 6A 0D 0A
FD FD 00 63 0D 0A
FD FD 00 5D 0D 0A
FD FD 00 59 0D 0A
FD FD 00 55 0D 0A
FD FD 00 51 0D 0A
FD FD 00 4C 0D 0A
FD FD 00 48 0D 0A
FD FD 00 44 0D 0A
FD FD FB 6F 50 3C 07 0D 0A
FD FD FB 6F 50 3C 07 0D 0A
FD FD FB 6F 50 3C 07 0D 0A
FD FD FB 6F 50 3C 07 0D 0A
FD FD FB 6F 50 3C 07 0D 0A
分割线------------------------------------------------------
下面讲改造过程:
改造1、最简单的改造,输出USB线有4根线,电源、地、TX、RX,TX是血压计向外发出数据,RX用不上,将它与CPU断开,将PA5测试点飞线过来,利用原来的USB剪断,焊上4插针,与PL2303等串口连接计算机,打开串口软件设置波特率9600,发送一串"000"16进制数据,代表PA5触发低电平,血压计就可以工作了,这是串口就会接收数据,但是具体血压多少要自己换算啊。
改造2、利用单片机解析串口数据,银行U盾显示数据。
方法虽然简单,但不方便啊,于是想到废弃银行U盾显示屏,可以用来改造显示。U盾拆除主控晶振,拆除串口Flash,换上一个STC15W204 8脚单片机,飞线到显示屏的数据线上,单片机RX飞线出来,另外利用了一个U盾的按键开关用来启动测试(此线要连接到血压计的PA5测试点)。
最终成品如下图,U盾直接背在血压计上,有点丑啊。需要外接USB电源测试,按C键即可开始测试
改造3、内置OLED显示屏,电池
改造2虽然能用,但还是不完美,于是采购了2片0.96寸OLED显示屏(与U盾一致),POS机电池来一个内置拼凑大法!
步骤1:显示屏开孔,将OLED显示屏热熔胶固定上(注意到是IIC口OLED)
步骤2:找来1元4056小充电板,四周打磨下,以便能够塞进血压计中,充电板背面换上8脚STC15W204单片机,接上电源和地,另外一边不用的管脚焊上固定住。
步骤3:装上电池,充电板,焊上连接线
步骤4:做到这一步,发现电源是一直连上单片机和血压计的,那不是一直耗电吗?于是匆忙中又焊接了一个开关。
完工显示效果,开机Logo,美女图,双色OLED黄蓝中间有点间隙。双色正好“电子血压计”是黄色的,显示部分蓝色。
改造4、对改造3临时加的的开关颇为不满,还有一片OLED了(这个是SPI接口,单色显示),再来个终极改造!
从图中手稿上看出不用开关的原因是采用了单片机掉电模式,按键(连接到PA5)是与血压计TX口连接在一起并接到单片机的RX口,这个口还有INT4掉电唤醒功能,按键按下低电平时,单片机唤醒,同时血压计也唤醒开始工作,发送数据到单片机的RX口,测试结束后发送一串字符,这一串串字符又相当于模拟了PA5低电平作用又将血压计关机了。OLED在无按键操作显示30秒后进入掉电模式。
用万用表测量了血压计在待机情况下电流uA档测试不出数据,测试单片机有1uA电流,发现将单片机的TX接地就测试不到电流了。至此,低功耗功能可用。
装起来完工效果
两个比较:
程序设计很简单,就一OLED显示驱动,卖OLED的都有程序,单片机解析一下串口数据显示即可。
看看有没有人有同款的想改造的。谢谢!