孩子们,arduinos和四态术

我有四个孩子,兴趣各不相同。我的是,克里斯多夫她13岁,一直喜欢科技。上个周末,我和他一起去参观了一些疯狂的、古怪的、有创意的技术(和其他东西)创造者大会在纽约。

我告诉组织者我能说话。但事件前一周左右,克里斯托弗告诉我,他认为我计划谈论的事情并不像它那样有趣。这实际上他可以给出一些演示,这将是一个更有趣和相关的。

克里斯托弗一直是一个热心的人Mathematica用户多年了。而且他喜欢勾搭Mathematica到有趣的设备——最近最受欢迎的两种设备是Arduino电路板和四旋翼无人机。

所以这是最后一个星期天我在一个站在房间的前面和他面前走上了一个舞台,只有300多人,携带四倍。(我不信任Arduino Board。)

克里斯托弗告诉我,我不应该说太久 - 然后我应该交给他。他在前一天晚上和那天早上一直在努力。我建议他应该练习他要说的话,但他没有这一点。相反,截至最后一分钟,他花时间清理了演示的代码。

我一生中一定做过成千上万次演讲,但整个情况让我非常紧张。Arduino板能用吗?这架四旋翼飞机能飞吗?如果没有,克里斯托弗会怎么做?

我不认为我的谈话特别好。但然后克里斯托弗反弹到舞台上,很快就打字了Mathematica当着所有人的面编写代码——现在我安全地在一边(我拍下这张照片的地方):

Christopher Wolfram在Maker Faire的舞台上

他的演示非常简洁。他在Arduino板上安装了一个电位器。他把它设置好,只需要输入一个命令Mathematica获取它的值:

ArduinoAnalogRead [0]

357

然后是动态(ArduinoAnalogRead [0]],Mathematica当调整电位器时,正常地在实时显示值。

然后他把它做成一个量规(呃,那实际上是来自未来版本的Mathematica,但Christopher是内部开发构建的热心用户):

动态[AngularGuage [ArduinoAnalogread [0],{0,1023}],UpdateInterval  - > 0]

测量动态显示值

然后他说他要做一个动态的情节。很快他就开始打Mathematica程序,自信地按下shift - return键,它实际上工作了:

数据= {};动态[rawdata = ArduinoAnalogRead [0];AppendTo(数据,rawdata);ListLinePlot[data,Filling -> Axis, ImageSize -> 500], UpdateInterval -> 0]

电位器数据图

然后他开始使用超声波传感器,让它根据距离产生音符。

然后他就上了四旋翼飞机。几天前,他一直在和我们公司的某个人来来回回地交流,试图摆脱和他们之间的互动四桥的API。那天早上,我看到了四旋翼飞机的飞行,但我知道,从那以后,克里斯托弗修改了很多代码。

他的计划是有一条线Mathematica代码将使四ricricopter飞行指定的3D路径。他有一个广场的点列表,进入了代码行,然后按下返回返回,而且......没有发生任何事情!

我想Christopher在他13年的时间里调试了很多代码。现在他开始在观众面前表演了。缺少一个函数定义。缺少连接设备的命令。他发现了不少东西。我正准备大喊他应该放弃。

然后,旋翼飞机的螺旋桨声,旋翼飞机飞了起来,在舞台上绕圈飞行,然后降落。

它确实起作用了!它非常简洁,只需要输入一行代码Mathematica,然后让一些物理对象在指定的模式中飞来飞去:

ARDroneFlyPathGraphics[Table{Sin[u], Sin[2u], {u, 0,2 π, π/5}]]

四旋翼飞机的路径

在另一个航班之后,观众有问题。一个人询问四态转换是否可以响应其环境。将克里斯托弗彻底放在一些“观众编程”上。实际上,他只需要一行代码来获得飞行的四桥器的实时视频,并通过简单喂养它Mathematica图像处理:

克里斯托弗·沃尔夫勒姆(Christopher Wolfram)在舞台上操纵着四旋翼飞机

我对所有这项工作(在这里是完整的视频)。是的,Christopher说的很对,他的主题和Maker Faire非常相关。事实上,Arduino和四轴飞行器似乎是这次展览的三个主要技术主题中的两个。第三种是3D打印。

我在我的演讲中提到过(在克里斯托弗的建议下),指出了这一点Wolfram | Alpha Pro(也Mathematica能立即使STL版本它生成的任何3D图形。

这让我想起,多年前,我自己的一个早期3D打印应用与我的另一个孩子相连。2006年,我的女儿Catherine(当时9岁)非常喜欢3D几何,喜欢探索三维多面体我们介绍过Mathematica6.

我们刚刚开始Wolfram示范项目,作为一个样本,我们添加了小应用程序凯瑟琳在我的帮助下创造的多面体

多面体的考拉

Catherine有许多不同案例的2D打印输出,有一天我们决定尝试将它们制作成3D。我和凯瑟琳吵了一架,但没过多久就去了一家满是塑料灰尘的“3D打印店”,从那里出来了一个多面考拉小动物园:

收集多面体考拉

每一年我都有越来越多的东西要向我的孩子们学习。我最大的孩子现在16岁了,他已经成为一个相当成功和不可思议的成熟的企业家——我正试图从他身上吸取我能学到的商业智慧。其他三个还没有“启动”,但每个都有自己的明确兴趣。

对克里斯托弗来说,是技术和产品设计。尽可能地学习每一项新的和正在出现的技术,并形成自己的想法——通常是强烈的观点。(在Maker Faire,我饶有兴趣地注意到他对获得一个覆盆子π以及他关于拥有的意义的长时间讨论Mathematica运行在它…)

克里斯托弗一直是一个精力充沛的解释事物的人。但上周末看到他第一次向大批观众“解释”,还是很有趣的。他绝对是我们联合演讲的明星。尽管有一些紧张的时刻,但对我来说,看到两个截然不同的后代——克里斯托弗和Mathematica- - - - - -一起工作所以好。

17日评论

  1. 迷人的事件,可爱的结论。

  2. 凉爽。也许克里斯托弗应该对中学进行一条道路展示。

  3. 对我来说,克里斯托弗和他的父亲如此美好地工作;-)- Mathematica的前部令人敬畏的演示。

    卡洛Lanzotti
  4. 我真的很喜欢你的博客,尤其是这篇文章和Mathematica和你儿子的结论(正如克里斯·迈耶斯提到的)。

    杰西·埃尔南德斯
  5. 谢谢你把这个摘要放在一起。我一直告诉人们这次谈话很容易我今年在制造商童话中看到的最重要的事情。It wasn’t the drone flying, or even the impressive Mathematica skills, but the notion that a 13-year-old could take control of the world around by understanding layers upon layers of abstractions built to make an infinitely complex world as simple as a toy.

  6. 太棒了。谢谢你的分享。

    罗伯特·史密斯
  7. 嗨,这是一个令人印象深刻的演示!我假设克里斯托弗正在使用Wolfram实习生Keshav Saharia的Arduinolink包?发布日期的任何更新?

    I’m a PhD student who devotes some spare time to playing with Arduino, Mathematica and MATLAB (as you can see in my website!) and here in my lab we’re considering integrating Arduino with either MATLAB or Mathematica (we have a campus license for both, they are taught in class, and Arduinos are orders of magitude cheaper than NI I/O boards) for student projects, so a package like that would be awesome!

    我知道MathWorks已经提供了类似的包,但是对于快速项目,我更喜欢Mathematic的力量和简单性,当您谈到信息表示和GUI创建时,如果您对此有任何信息,我会很欣赏它=)

  8. 多么棒的演示!向你儿子致敬!

  9. 你能用科技激励年轻人,真是太棒了!
    我们人类什么时候可以使用ArduinoAnalogRead ?

    Erik Mahieu
  10. 斯蒂芬,

    如此奇妙的故事,我希望我在那里体验它。当我略大于克里斯托弗时,回到Calcutta时,我在电脑上写了我的第一行代码,即我由芯片,空白原型制作板和7段LED构建的计算机。感觉我永远不会忘记。当他的四桥飞机飞行时,我知道克里斯托弗感受到了同样的方式。今天我使用Arduino和其他2美元的微控制器比我的第一台电脑更强大。很高兴看到最年轻的一代再次回到建筑物,而不仅仅是玩软件。我喜欢两者,但有一些关于观看物理物质的触觉乐趣。

    k

  11. 伟大的演示与现代工具有什么关系。在此阶段,我只是在我的ZX Spectrum Computer上输入10打印“测试”。我们住的美妙时光!

    Zsolt Arkossy
  12. 太酷了!Mathematica for Raspberry Pi会很不错。有一些超级计算机和RPP集群项目,它将是一种新的集群,使用简单和廉价的计算机……

    此外,它可能是一个很好的教育道路......

  13. 克里斯托弗使用ubuntu作为他的主要操作系统很酷。

    Sahak Petrosyan.
  14. 很好的演示!我发现外部设备的接口总是有点棘手,因为你必须通过操作系统。Arduino的网站上有关于如何连接Arduino的说明(http://www.arduino.cc/playground/Interfacing/Mathematica).不过,我很期待看到Christopher的代码,这样我就能学到更多!

    凯赫伯特
  15. 谢谢分享,让你为做父母感到骄傲!

  16. 我喜欢他的示范。看到你给这个世界带来的改变是多么美妙。向卡恩学院投入资源将会很成功。我们很幸运能有你和其他猴子共存。;)和平。

  17. 很棒的谈话。(见视频)
    我正在建立一个社区,在那里我们将Mathematica作为一种通用编程语言。
    我的另一个爱好项目实际上是建造一个全尺寸(直径2.2米)的悬浮pod,在Arduino和Mathematica上运行。

Baidu