2185|5

478

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

图一乐!教你自制一款不一样的“打脸”神器! [复制链接]

本帖最后由 赵玉田 于 2021-4-8 17:48 编辑

灵感来源:

接触感染是新冠病毒传播的主要方式之一,双手接触到病原体后因为不自觉触摸口、鼻及眼,从而使病毒得以传播。

人类是少数会不自觉触摸自己脸部的少数物种之一。据一项有趣的实验数据显示,即使是医科生,也会不自觉每小时触摸自己的脸不少于20多次,那些劝导大众不摸脸的医护专家们在公共场合都难免犯错,甚至还舔手指翻页。

所以,我思考如何能借助科技的力量来减少这种“自摸”行为?

新闻发布会上当众舔手指翻页
医疗专家当众摸脸

材料准备

硬件

  • M3内六角螺丝

  • M3平头螺钉

  • 2-56螺钉

  • 弹簧

  • 垫圈

电子元器件

  • Arduino Nano

  • 7段数码管

  • 红外传感器

  • TT电机

  • OLED显示屏

  • PCB板

  • 跳线

  • 3D打印机A5S

  • Hatchbox PETG打印耗材

  • 水贴纸

  • 松紧带

第一步:设计理念

主要的想法是使用一些传感器来检测任何触摸脸部的行为,并应用一些 "惩罚"来提醒我们不要摸脸!因为基于巴甫洛夫条件理论,不断的负反馈可以改变我们的行为。

对于检测,理论上任何障碍物检测传感器都可以。超声波传感器,Tof传感器,红外线传感器等等,前两者可以精确感知物体的距离,而我仅仅需要简单感知物体存在与否,所以最终我选择的是常见的红外传感器。

对于负反馈机制,我想了很多不同的方法.然而,由于这是戴在头上的,我不希望有任何永久性的脑损伤。所以选择了物理击打机制。

第二步:传感器选择


红外传感器比较便宜,声称有效检测范围是2到30厘米。我一开始只用了2个,但很快就发现它们并不能达到30cm。通过进一步的测试,我发现检测手部的有效距离为6.5cm左右,检测白纸能达到11厘米,与不同材料的物体表面反射率呈正相关。

所以我在脸颊两侧位置又添加了两个传感器,从而使传感器的检测范围覆盖了整个脸部。

此外,由于此传感器并不能发射和检测特定频率的红外线,其准确性很容易受外部热源(如,阳光,电炉发热丝,火焰等等)的影响。我只好用热缩管(后来用3D打印的盖子)把它盖住,挡住侧面的环境,但是面对热源的时候,它还是有读数的。

还有一点很有趣,这些传感器不能与苹果Face ID配合使用。由于Face ID使用的是红外泛光和点状图案来读取反光。每次用Face ID解锁最近的iPhone,都会导致一次触发。

第三步:机械设计

这个装置上最主要的机械结构是形成有效的负反馈的打脸机构。我分别尝试了以下几种设计:

  1. 拨片转轮结构:它相当大,而且看起来很搞笑。我一开始用厚纸片作为翻板,但它对我们造成对伤害很小,看起来比较适合当作小风扇。
拨片转轮结构

2.连杆结构(打臂与杆件联动):这个其实做起来很好玩,通过四段连杆来完成击打动作,不过我的经验不足,在负荷大的时候,电机会停顿。

连杆结构

3.凸轮机构:为了解决卡住还有电机停滞的问题,我们需要把电机的旋转和击打动作分开,因此最终设计出了凸轮机构,非常好用。

凸轮机构

我还将关节设计成可调节的,所以这个该置有可能适合许多尺寸。

然而,我更多的是凭自己的直觉设计,而没有应用科学的方法,所以有时零件会有点弯曲,因为我可能漏掉了一些关节的自由度,这里肯定需要更多的研究。

其他细节包括柔性结构的设计,用来更好地“适配”头部轮廓,可以支持不同的头部尺寸,部分零件易于拆卸等等。

第四步:电子元件

传感器

由于四个传感器中的任何一个触发都会运行相同的程序,我曾尝试将他们的4条输入端整合为一条。

我最先用面包板简单搭了一个电路:四个NPN三极管作为开关,串联起来,当任意传感器被触发时,此路便会断开,并联的信号端便会输出信号。但由于原件尺寸过大(SMD技能不足),最终还是放弃了此方案。

最后我保留了4条输入端的连接方式, 这不仅节省了部件费用,能耗等等,还能通过软件逻辑,更好的debug出问题的传感器。

4路转1路电路

电机

这里没有什么特别的地方,只需要加一个反激二极管,用晶体管做Arduino信号就可以了。

我为原型设计了电路,增加了连接器以更好地管理布线。板子最后还是太大了,我希望有一个数控系统来雕刻实际的PCB,可以使用更好的连接器,而不是跳线。

扩展版

第五步:准备代码

 

这个逻辑很简单。简而言之:

循环检查所有的传感器,如果有任何一个传感器被触发,它就会发出信号,启动电机实施打击,同时计数器记录下摸脸的次数并显示出来。

 

有几个值得一提的注意事项:

因为当某个传感器被持续遮挡时,摸脸计数会随着程序每次loop循环而增加,达不到准确计数的目的。

我设计了一个小的定时器(用于倒数),可以更精确的计数。

当一个传感器被触发时,计数器+1,定时器开始工作,倒数开始,在倒数结束之前任何新的触发都不再增加摸脸计数。

为了对惩罚机制进行区分,我也设置了不同的打脸时长:单次摸脸打击1秒;计数器每记录下10次,需忍受5秒连续击打;每记录下一百次,就需要忍受长达10秒的饱和打击。以此来加强负反馈的效用。

我根据计数器增加了不同的打脸时长:单次触碰的时候打脸1秒;当计数器每记录下10次,增加打脸时间,改为需忍受5秒连续击打;当计数器每记录下一百次,恭喜你,中奖了,你将会需要忍受长达10秒的“致残”打击,当然这个设计是为了加强负反馈的效果。

我花了不少时间打磨OLED显示屏上的图形。目标是和工业设计的风格相匹配。

首先要解决的问题是将自定义字体添加到Adafruit GFX库中,步骤很多,但Adafruit在这里有很好的记录:

https://github.com/adafruit/Adafruit-GFX-Library/blob/master/fontconvert/fontconvert_win.md

不过要制作和测试不同大小的字体文件,有点繁琐。

接下来遇到的问题是文件大小,字体文件是位图表示的,字体文件相当大(考虑到所有字符)。我只好去学习Fontforge这个字体制作工具,把多余的字符去掉,只剩下数字。

我选择的字体也不是单行距的,这意味着不同的字符有不同的宽度,导致数字总是跳来跳去。最后不得不手工编辑了通过adafruit程序制作的字体文件,以实现单距,还加了一些前导零,所以会显示 "003"而不是 "3"。

003

使用OLED的一个好处是你可以添加自定义图形,所以我在adobe illustrator中设计了停止标志和箭头,用这个工具http://javl.github.io/image2cpp/生成代码,然后编入arduino即可。

"STOP"

第六步:美学

我喜欢赛博朋克的风格,并从《2077》中获得了很多参考。

良好的设计绝对是我的项目里不可或缺的一部分,所以我玩得很开心。我还另外设计了水贴纸,并用激光打印机打印出来。细节能让这个项目更加完整。


实测效果怎么样?

 

通过超过一个星期的佩戴测试,我发现有时候听到马达的声音比实际的敲打更让我头疼。

每计数100次,持续打击10秒钟的设计很让我生气,但也确实有一定的效果,根据我的粗略测试,它确实让我把摸脸的次数降到了50%左右(约450次降至约270次)。

但是装置还存在很大的改进空间。比如说,环境的干扰或者是手机的误触发等等。

但是相信我,它的确能让你少摸脸,如果不信的话,可以尝试加大击打的力度和次数试试。

顺便说一下,这次还解锁了许多原设计意图之外的功能,比如:治疗手机上瘾(每次手机解锁都会触发)、培养更好的餐桌礼仪(勺子和盘子都会触发)、加强社交距离(不适合亲密动作)、确保居家不出门(阳光照射触发击打)。

来看看视频中的真实例子。

 

所以,这又是一个有点有用又有点没用的项目,希望你能从这里学到一些东西,也希望能够给你带来一点欢乐。

谢谢你的观看和阅读。

 

原文链接:https://www.hackster.io/ChenTheDesignMaker/stop-face-touching-device-9296c2#toc-step-6--aesthetics-6

此译文首发于DF创客社区公众号 转载请注明出处与作者信息

 

项目的STL文件,作者没有开源出来,放在了外网售卖了,地址是这个:https://gumroad.com/l/hjEel  有兴趣的小伙伴也可以看一看。

最新回复

有些意思!   详情 回复 发表于 2021-4-12 23:00

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

1942

帖子

3

TA的资源

版主

沙发
 

哈哈,这个想法真的好!!!

 
 
 

回复

2万

帖子

341

TA的资源

版主

板凳
 

想法很棒

只要不对人构成人民损害,比如大脑,呼吸,长时间压迫脸部,,,

 
 
 

回复

693

帖子

7

TA的资源

版主

4
 

赞赞赞,厉害呀,想法挺好的,以后打瞌睡了可以自动叫醒,头悬梁锥刺股

 
 
 

回复

1582

帖子

0

TA的资源

五彩晶圆(初级)

5
 

创意不错,原创者脑洞真大,担心被打成脑震荡

 
 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

6
 

有些意思!

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表