前期报名参加了两项活动("MicroPython 大作战"和"pyboardCN V2畅玩"),竟一直未来发帖分享,实在遗憾,今天特来补上,重在分享!
Wire Connecting State Detector导线连接状态检测器
这是一个我很久以前想到的一个项目,由于工作性质的原因,经常需要对同事提交过来的有问题的线缆进行检测是哪里出了问题(当然,同事并不关心这个,重新给了一个新的线就走了),但面对各种各样的线缆和各种各样的接口,真是有心无力呀。于是便有了一个是否可以做一个可以检测各种接口的不同数量的线缆的设备的想法。通常线缆的连接故障状态有:断(开)路、短路、线序错误以及接触不良(时好时坏)。
本想用单片机+C语言实现,连外壳都准备好了,外观图也设计了一些。但由于种种原因,未能实现。现有趁着这次搞活动的机会,用MicroPython 来实现一把。
设计思路:
通过向一端发送信号,另一端接收信号,并比对发送信号与接收信号之间的关系是否与设定的一至即可进行判断,当发送端为1时,接收端为0则表示当前线路存在断路问题,如果接收端为1,且与当前端口对应的位置(如果是一一对应的话,就是1号端口对应1号端口)为1则为正常,若同时出现两个或以上为1,则为短路,若只在其它位置出现一个为1,则为线序错误。
产品设计:
- 通过接口转接器将RJ45网线与PyboardCN V2.0 排针连接
- 使用SSD1306显示测试结果,如果通过,直接显示“PASS!”即可,如果出现问题,则直接显示问题报告界面,并可翻页查看,由于检测过程很短,几乎不超过1秒,所以显示的内容不一定能看得见(来不及反应);
- 使用板载按钮进行控制,或外接一个按钮进行控制;
- 测试流程:
i. 打开电源
ii. 将与待测线对应的正常的线与接口连接,用于作为检测参考学习并记录(系统默认为一一对应模式,即若没有学习记录,则采用一一对应的方式进行检测);
iii. 长按按键3秒以上,进入学习状态,学习完成后显示一遍当前的学习结果,并将结果以文件的方式保存到板子上,掉电不丢失,学习完毕后回到待检测状态;
iv. 双击按键(短时间内快速边结按键两次)后开始检测,检测结束后,若检测通过,则在屏幕中央显示“PASS!”字样,若有问题,则会跳转到问题报告页面;
v. 在问题报告页面,通过单击按键进行翻页(如果存在1页以上的话),若到达最后一页,再次单击,则会跳转到第一页再次循环。
2、 模块组件:
a) PyboardCN V2.0 (固件信息:MicroPythonv1.9.4-114-g309fe39d on 2018-06-04; PYBv1.0 with STM32F405RG)
b) SSD1306 (I2C通讯)
c) 接口转接器
d) 网线(实测对象)
3、 界面显示
a) 学习结果显示界面
b) 问题报告显示
本文来自论坛,点击查看完整帖子内容。