一种声光电磁网结合的鲁布·戈德堡机械的设计与实现
一种声光电磁网结合的鲁布·戈德堡机械的设计与实现
(林健,BH1NAF)
概述
传统鲁布·戈德堡机械往往以多种物理传动装置连接构成,通过机械连锁反应实现无意义的功能,视觉冲击力和趣味性强。但其设计实现受制于空间和材料、部署与执行稳定性低、实验和调试成本高。本文提出一种以电子技术为主的,声光电磁网结合的鲁布·戈德堡机械设计思路。相比传统设计,基于电子技术的设计具有执行速度快、空间可扩展性强、受物理环境干扰小、便于重做和调试等优势。此外,作者期望使鲁布·戈德堡机械具备有意义的功能,兼顾趣味性和实用性。基于此设计,本文给出了一套原型系统,通过模拟电路、微控制器、单板机、微型计算机、无线电与红外线收发信机以及网络终设备的连接与交互,实现了一种具有声光反馈、能够自动归档的分布式CW电键练习装置。实验验证了此类设计的可行性与应用优势。
(以下省略原理与模型设计部分)
原型系统
图0给出了基于电子技术的鲁布·戈德堡机械原型系统的执行流程。下文通过展示原型系统实现效果,对此流程进行简述。
CW电键作为开关,控制左侧回路电流通断。电流接通时,电磁铁产生磁场,使得右侧回路中的干簧管导通,输出控制电平。右侧回路中带有一个发光二极管,作为视觉反馈。
左侧Arduino 1检测到控制电平后,通过数字I/O点亮发光二极管,并设置少量延时,防止抖动。右侧Arduino 2以光敏电阻作为电平控制开关,在光照达到一定强度后,通过数字I/O输出1000Hz的方波信号,并将该信号作为调频发射机的音频输入。调频发射机将信号调制之后,在100.0MHz上广播。
调频收音机接收频率设置为100.0MHz,并将耳机输出作为红外发射机的音频输入。红外发射机将信号调制之后,以2.8MHz载波频率发射。
红外收音机固定接收2.8MHz的红外载波信号,将音频信号解调之后直接播放,一方面作为听觉反馈,一方面通过计算机1(Windows系统)的麦克风输入,由计算机上运行的MultiPSK软件进行信号处理,将音频序列按Morse电码解码为字符序列,输出在屏幕上(可观察到“HELLO WORLD”序列)。同时在无线网卡上开放3122端口,以TCP报文发送字符序列。
注意,这里可以将红外收音机的耳机输出连接到计算机的线路输入接口或麦克风接口。为消除干扰,可添加简单的滤波电路。如果使用麦克风接口,还需要考虑降低输入电平。原型系统中为体现听觉反馈特性,采用外放外录方案。
计算机2(Linux系统)同样连接无线网络,使用nc命令监听计算机1发来的TCP报文,使用tr命令将MultiPSK生成的组分隔符(\035)替换为换行符(\n),然后通过管道将字符序列重定向到本地串口ttyS0。该串口连接到Raspberry Pi的USB外接串口ttyUSB0,Raspberry Pi读取串口输出,写入命名管道mypipe。后台执行的sender脚本定时读取mypipe,将字符序列调整格式,封装为发送给Kindle Personal Documents Service的SMTP消息。借助3G路由器和3G Modem,先后通过有线网络和3G网络连接远程邮件服务器发送邮件。
Kindle通过3G网络接收来自Personal Documents Service的推送信息。点击之后可显示定时归档的字符序列(可观察到“HELLO WORLD”序列)。
注意:原型系统为节省Amazon美国境外3G推送服务费用,使用WiFi网络演示
除最后一步基于网络服务的自动归档外,系统其他环节皆以接近光速、声速或局域网络延迟的速度执行,满足CW电键练习装置的实时性需求。
(以下省略系统评测与相关工作部分)
结论
本文提出的以电子技术为主的,声光电磁网结合的鲁布·戈德堡机械设计思路在一定程度上解决了此类机械设计中的稳定性、可扩展性和可调试性等问题。给出的原型系统在传统CW电键练习装置基础上增加了分布式部署、自动归档等特性,验证了这类设计的可行性,体现了趣味性和实用性。
Arduino和Raspberry Pi提供了I2C、SPI等数字与模拟输入输出接口,在设计时可以充分发挥其能力,例如连接传感器与物理世界进行交互。此外,电话、电视与电力网络、互联网Mashup服务乃至业余卫星与短波通信等也可作为设计元素,以此增强系统的空间扩展性。本文由于器材和时间限制,未进行深入研究。
致谢
感谢为我提供部分实验器材的同学,感谢各位耐心的读者。

9条评论 关于 “一种声光电磁网结合的鲁布·戈德堡机械的设计与实现”
由 朝鲁 发表于2012-08-01
。。。。。这是炫设备吧,不过美中不足的是,没有齿轮,电机,杠杆的机械运动。真希望能够早日顺利进入计算所,向林神学习Geek技术。
由 Zeko 发表于2012-08-06
看第二台笔记本的照片,似乎用的是KDE啊~不过之前那篇SDR的文章里面用的是Gnome3,到底哪个是博主主要用的环境呢?难道是windows?
由 Jian Lin 发表于2012-08-07
@Zeko 那个本里是 LXDE,因为那是一台 2004 年的老机子,配置低。我目前用 KDE。SDR 那篇里面的确是 Gnome3,你注意一下当天的日期,第二天以后我就被 @shellex 忽悠到 KDE 了(参考: http://shellex.info/why-i-use-kde-instead-of-gnome-1 )。
由 Zeko 发表于2012-08-07
@Jian Lin 哈哈。 我也是看到@shellex的文章之后对KDE更感兴趣的。不过至今也不敢作为Linux下的主环境。虽然KDE看起来不错,但是我总觉得用起来不适应。或许是一开始就是用的Gnome吧。在一个就是总觉得KDE下面的输入法和浏览器用起来不习惯。哪怕同样是Firefox,也感觉在KDE下用起来不流畅。
由 mayli 发表于2012-08-28
you win, 不过你这CW技能略差
由 Jian Lin 发表于2012-08-29
@mayli 需要考虑环境中的各种噪声干扰。
由 alswl 发表于2012-09-02
让我想起了「Because I can」
由 蓝点工坊 发表于2012-09-14
这个方案太复杂,其实只要用声音输入,用软件对音频解码还原成二进制。有国外在Android上这样做过,我们最近也想做一个练习软件
由 云飞机器人实验室 发表于2013-01-23
这个非常有意思啊,呵呵。