3350| 2
|
可以让医生休息的自助视力检测系统 |
设计思路 最近一个月都在网上讲课,眼睛干涩还特别痒,相信因为疫情的原因,很多小朋友也是一直在上网课,经常看电子设备肯定不免对小朋友的视力有所影响,就回想起了春节期间df社区有一位老师做了一个视力检测的系统,然后联想起了自己上学时体检时检测视力的场景,要用一只手遮住眼睛看视力表的那种,跟前还得有一个医生拿着指挥棒给你指着,突然就萌生了一种想法,开发一种自助检测视力的装置,可以让医生去休息了,然后就有了今天这个作品,利用掌控板,mu摄像头,siot物联网制作的可以让医生休息的自助视力检测系统,等下再来详细介绍,我们先看一下视频: ps:估计很多人会有疑问,怎么会有那么多五花八门的硬件啊,其实做创客的和女生买衣服一样,不管东西有没有用先买回来再说,说不定哪天能把它用起来就很开心,相信很多创客有同样的感受,哈哈哈哈 本次作品电脑端为模拟的医生跟前的视力表,掌控板和mu视觉传感器,为离视力表5米远的检测装置,通过siot物联网进行通信,达到检测视力的效果,由于拍摄原因,放置的比较近,其实距离可以根据需求放置 器材清单掌控板*1 百灵鸽扩展板*1 mu视觉传感器*1 nano扩展板*1(等一下就知道为什么用nano扩展了) usb转串口下载线*1 制作流程step1:调试mu视觉传感器,更新固件,环境光检测,接近检测,手势检测 step2 :手势检测内容在掌控板显示,掌控板收到手势信号发送至siot物联网 step3:准备标准的视力检测表,编写视力表切换的程序,正确显示视力数据并能连入siot物联网 准备工作了解siot物联网,mu视觉传感器的新功能 siotsiot相信很多人不陌生,也可以参考上一篇文章的介绍,链接如下 https://mp.weixin.qq.com/s/vgd326PSBxm81AQMQvhSPw SIoT是一个为中小学STEM教育定制的跨平台的开源MQTT服务器程序,S指科学(Science)、简单(Simple)的意思。SIoT重点关注物联网数据的收集和导出,是采集科学数据的最好选择之一 SIoT软件下载可以到文末获取地址 1、打开电脑浏览器,在网址栏输入获得的IP地址加上“:8080”,如:192.168.31.89:8080 需在在英文输入法下 2、点击键盘enter键,打开即为SIoT网页端,如下图: 账号:siot 密码:dfrobot 输入账号、密码后,点击“登陆”,登陆后页面如下: * SIoT网页端账号、密码都是统一的 点击设备列表和查看消息就可以看到联网的设备和发送的数据了 mu视觉传感器mu视觉传感器更新了新的版本固件, 增加了新的环境光检测,接近检测,和手势检测,首先需要先更新一些最新的固件,接下来是固件更新的方法 固件在mu网站可以下载,文末也会提供下载链接: mu还有图传功能也很好玩,可以试一下朱老师的这个教程 https://mc.dfrobot.com.cn/thread-298613-1-1.html 新增wifi图传功能,Output拨码开关设置为11,连接MU后,在浏览器中输入网址192.168.4.1查看图像 mu拨码开关的设置如下图,可以参考 注意事项 1、确认串口的端口号是否正确; 2、mu要进入烧写模式 :按住左侧的mode键,然后点一下右边的reset键,再松开mode键 双击打开刷固件程序flash3.6.5,这个版本能够成功,太高的版本容易失败,已经翻过车了,软件在文末提供下载 点击esp32 选择最新的115版本的固件,文末提供下载,也可以到官网下载,选项可以按图所示选对 第一次上传失败的原因是flash3.6.8版本太高,和工程师反馈后更换为3.6.5的才可以成功 出现进度条等待烧录完成就可以愉快的玩耍了 视力表准备标准视力表根据测量距离和测量功能分为近视力表和远视力表,近视力表测量距离为25厘米,测的是近视力;远视力表测量距离为5米,测的是远视力,大家最熟悉也是最常用的是远视力表 所用视力表主要检查的是中心视力,即检查视网膜黄斑区中心凹视敏度,从而可简单迅速地了解到视功能的初步情况,对眼病的临床诊断治疗都有重要的意义。检查视力一般分为远视力和近视力两类,远视力多采用国际标准视力表,此表为12行大小不同开口方向各异的“E”字所组成;测量从0.1-1.5(或从4.0-5.2);每行有标号。 下图为网络搜索到的“E”的尺寸,得知最小的“E”的宽度大概是3.6毫米,缺口的宽度为0.727毫米 经过搜索资料,发现下图为视力对应的‘E’图标的大小,由上图得知最小的“E”为3.6毫米,那么如果用最小的“E”乘以下图的倍数就可以得知每一个不同大小的“E”的尺寸例如最大的“E”为3.6mm*21.817,如果将这些倍数加入到列表中每次只需要读取列表的数值就可以知道‘E’的大小了 有了思路我们就来先设计第一个“E”,这里使用的cad设计的,当然你也可以用其他的画图软件,然后导出jpg图片,具体操作可以参考下面链接 https://jingyan.baidu.com/article/e2284b2b8431d2e2e6118da6.html?from=singlemessage&isappinstalled=0 点击打印 选择输出为JPG格式 利用电脑上的画图软件调整大小为3635*3635的像素,然后导入到mind+中就可以进行等比例缩小了 导入到mind+中,可以利用角色大小模块进行随意调整了 特别声明,本次的视力表制作可能存在些许误差,不可当做真正的视力表使用,仅供参考 程序编写本次作品程序在文末有下载地址 掌控板端程序首先尝试mu固件的新功能,环境光检测,部署硬件扩展如下 点击mind+软件的扩展,选择主控板为掌控板 点击网络服务选择wifi和MQTT 点击传感器选择视觉识别摄像头 本次主要用到mu的新功能模块如下图 先来尝试接近检测的数据,程序如下图,结果屏幕会显示物体接近视觉传感器后的数值 测试成功,接下来测试手势识别的功能,测试程序如下 手势识别在这里翻车了,环境光和接近检测测试都正常,但手势是没有数据反馈的,后来和mu 的工程师进行了沟通得知程序没有错误,是手势识别的功率比较大,需要5V供电,由于百灵鸽的扩展板不提供5V电压,所以只好把手头上的nano扩展板拿来救急,nano扩展有提供3.3V和5V的电压,正好可以使用,同时还要注意的地方是,mu视觉传感器和掌控板分开供电,两者还要共地才能正常使用,就是把gnd接在一起,当然你有其他的电源也可以使用的 测试成功,接下来我们编写完整的手势识别的程序,这时候需要部署MQTT了,如下图 这里用到了3个主题,topic0(shili/a)为电脑端控制切换视力表“E”,topic1(shili/b)为电脑端接收手势传递的信息,判断识别正确与否,topic2(shili/c)为掌控板接收检测结束后的视力信息,并显示在OLED屏幕上 程序解释,当检测到手势信号时,屏幕显示上下左右的内容,并向siot topic1发送信号(也就是电脑端),topic1电脑端接收到传递的信息作出判断,给出结果,同时向topcic0发送信息,再切换一个视力表‘E’,检测的顺序为从视力表的最上方到最下方,最小的一个视力图检测完毕给出视力等级,如果中途识别错误,也会给出视力等级并结束本次视力测试 mind+视力图表端程序首先mind+启动选择实时模式,点击扩展选择网络服务MQTT 然后部署一下MQTT的内容,如下图: 下面是视力表E的程序 这里设置了三个列表,符号大小列表为视力表图标“E”的角色大小,调用列表中的数值进行切换,方向列表为图标“E”缺口的朝向,视力列表为检测结束后的视力等级,和符号大小列表中的数值是一一对应的,在哪一个的图标“E”处结束的,视力就输出相对应的视力等级 这里还发现了mind+的一个bug,就是,列表的名字定义好以后好后再重命名舞台中列表的名字不会跟着修改,希望工程师能看到,进行修复,在下图中有标注出来 程序解释,如果接收到掌控板发来的手势识别信息,随后进行判断,如果信息和现在图标“E”的方向一致,表明识别正确,接下来向topic0发送消息,然后再切换一个图标“E”,如果掌控板发来的信息和现在图标“E”的方向不一致,表明识别错误,广播消息1,停止这个脚本,并将视力等级进行显示 bug如下图 下面是人偶角色的程序 程序解释,人偶负责,在最后传递向掌控板传递信息,掌控板接收到信息后屏幕显示视力等级 shi/b是topic1,接收“E”的缺口方向信息 shi/c是topic2,接收最终的视力等级信息 总结 本次作品可以改善的地方还是有很多,比方说等复工了以后可以设计一个结构件,让装置变得更加美观,本次视力检测采用的是掌控板1.0,,如果是掌控板2.0的话还可以利用语音识别的模式,可以对被测者的手势和语音进行判断,会更加的有趣,甚至不单单是视力检测,视觉传感器加掌控板可能还会有更多的创意,大家可能还会有很多奇妙的想法,不妨你也来试一试哦,造物让生活更美好,欢迎一起交流 文末彩蛋 点击旺仔爸爸造物社公众号回复“视力”两个字可以获取本次作品的所有资料哦, 或者也可以联系 旺仔爸爸18752544995 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed