日本小哥“自虐神器”一夜爆火:代码自取,后果自负
yuyutoo 2025-01-12 19:58 4 浏览 0 评论
鱼羊 丰色 发自 凹非寺
量子位 | 公众号 QbitAI
用游戏手柄控(wan)制(huai)面部表情,是一种怎样的体验?
按下LB键眨左眼,按下RB键眨右眼,还可以左右左右走一套连击。(画面为镜像)
是不是有点怪,再看一眼……
摇动右摇杆,小哥瞬间就掌握了歪嘴战神的绝技。
而通过左摇杆,对于普通人类而言难度颇高的单边挑眉表情,也能瞬间拿下。
但要注意尽量别一通乱按,否则……
这就是这几天爆火的一个开源项目,作者小哥handaru是一名来自日本的研究生,自称热衷于一些“没啥用的工作”。
而他这个最新“没啥用”作品一传上网,直接把网友们都给看呆了,推文点赞已经将近7万。
走过路过的网友纷纷表示,这一波是多啦A梦照进现实啊:
△多啦A梦表情控制器
甚至还有更加奇怪的想法诞生了……
反之,只要动动面部肌肉,就能玩游戏了……?
就是看上去有点疼……
嗯,小哥自己也说了,就是会很疼……
△“使用中会很痛”
原理很简单,关键得找准穴位
这么一个看上去有点“自虐”的系统,原理其实很简单,大家打眼一看就明白,就是靠电刺激。
我们都知道,肌肉在受到一定的电刺激后就会收缩。
具体来说就是,如果给的电压能使肌细胞初始去极化程度到达阈电位,进而产生动作电位的话,肌肉收缩。
动作电位的峰电位持续时间为2ms,最高可由-80mV上升到60mV。
而大多数肌肉在受到刺激时会以20ms的周期收缩一次。
这和伺服电机的信号周期非常相似,于是小哥就用它来供电,保证最后输出的电压为150mV。
(此时小哥也“一拍大腿”:有没有可能伺服电机就是按肌肉收缩规律来制作的呢?)。
不过伺服电机的控制电压,也就是给电路板的供电电压为5V,就需要设计电路图进行处理:
然后通过快速蚀刻印刷出来。
主要的控制器是一块Arduino Uno (Arduino最新版):用它一头连手柄,一头连我们的肌肉。
小哥一共做了10个触头,为了增加导电率,每个触头上的电极都用盐水浸泡过的纱布覆盖,然后直接粘贴到皮肤上。
用下面这样的网格基板+凝胶导电贴也可以实现,但小哥发现都没有直接让电极接触皮肤的效果好。
最后就是编写程序了,这里用Arduino的一个现成库Servo来控制伺服电机,记得把电机的ON时间设置为2ms就行。
Servo可以很方便地添加通道,后续还可以做更复杂的控制,更扭曲的表情(bushi )……
然后在将手柄连接到Arduino板的接口之前,用一个叫做ROSSerial的框架设定一下哪个键对应哪个触头,一切就全部搞定了。
完整代码可以参考文末链接。
这不是还挺简单的?学废了吗?
小哥提示道,大多数时候把它往皮肤上一贴,不一定会有预期效果——关键得找准电击穴位,这就得靠自己对着人体肌肉模型一一摸索了。
以及适配手柄除了小哥手里的这个罗技,Switch、PS4也可以,还包括键盘。
最后,依照同样的原理,他还整了个控制手指的活儿:
瞧这效果,理论上控制足够精准,一个小白也能成钢琴家了不是吗(手动狗头)?
网友:反向操作,开打游戏
前面也说到,handaru小哥这一波操作下来,评论区的思维一下子就展开了。
比如反向操作,用脸迎战老头环里的女武神……
或者这样的玩法也不是不行:
还有人提到,这玩意儿利好酒店业,以后服务人员们再也不怕练不出标准微笑 :)
当然也有不少正经讨论,比如评论区大家纷纷关心的一个话题是:
这种设备能不能造福面瘫患者?
实际上,在针对面瘫患者的现有治疗方案中,确实有电刺激治疗这一种。
主要是中医疗法中,依据神经肌肉解剖学的功能特点,运用电针给予特定肌肉电刺激,以恢复神经传导的灵敏性。
小哥的其他“无用”发明
handaru小哥在自己的简介里是这样介绍自己的:
主要是在做一些没啥用的工作。
不过看上去,这回网友们都觉得他的这个“自虐”项目还挺有应用前景的。
而在此之前,小哥确实也没少整活儿,比如这个能让你和植物对话的花盆:
用上这个盆,你的植物就能通过通讯软件告诉你它现在的状态。
甚至还会发脾气……
最后,在奉上项目传送门之前,还是要提醒一下,尽管小哥已经将代码开源出来,但是模仿有风险!模仿有风险!模仿有风险!
小哥也在项目中注明了:
代码自取,风险自负。
项目地址:
https://github.com/maHidaka/ros_face
参考链接:
[1]https://twitter.com/handaru20pF/status/1514964058541199360
[2]https://handaru.net/blog/2022/04/17/307/
[3]https://weibo.com/6092740159/LoGQl89zD
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
相关推荐
- 全局和隐式 using 指令详解(全局命令)
-
1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...
- 请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍
-
1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...
- ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战
-
我是一位多年后端经验的工程师,其中前几年用ASP.NET...
- .NET AOT 详解(.net 6 aot)
-
简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...
- 一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)
-
哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...
- asar归档解包(游戏arc文件解包)
-
要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...
- 在PyCharm 中免费集成Amazon CodeWhisperer
-
CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...
- 2014年最优秀JavaScript编辑器大盘点
-
1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...
- 基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享
-
项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...
- JetBrains Toolbox推出全新产品订阅授权模式
-
捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...
- idea最新激活jetbrains-agent.jar包,亲测有效
-
这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...
- CountDownTimer的理解(countdowntomars)
-
CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...
- 反射为什么性能会很慢?(反射时为什么会越来越长)
-
1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...
- btrace 开源!基于 Systrace 高性能 Trace 工具
-
介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- .NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......
- 全局和隐式 using 指令详解(全局命令)
- 请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍
- ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战
- .NET AOT 详解(.net 6 aot)
- 一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)
- asar归档解包(游戏arc文件解包)
- 在PyCharm 中免费集成Amazon CodeWhisperer
- 2014年最优秀JavaScript编辑器大盘点
- 基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)