每个周末都用半天做科学兴趣小组活动。这周照着这本超棒的书“Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level, Second Edition ”,做了个Magic Wand玩具的原型。

Magic Wand 玩具的最终效果是这样:

image

原理其实很简单,就是8个排列成行的LED灯按一定的模式闪烁,快速运动的时候,在不同的位置点亮完整单词在此位置需要的像素,看上去就是一个完整的单词了。

LEGO NXT内置的组件是无法做出这个玩具的。关键是需要一个I2C芯片 – PCF8574 (规格说明参考这里)。

根据“Extreme NXT”一书的提示,我们可以通过NXT的与PCF8574相连,扩展NXT的输出。下面的电路图就是用NXT与PCF8574控制一组8个LED灯的例子。Magic Wand也就是用的这个电路:

image

具体参数如下:

Component

Part Number

Description

Digi-Key

U1

PCF8574 or PCF8574A

I2C Digital Port

296-13109-5-ND

D1–8

LED

LED Bar Graph Display

160-1068-ND

R1 and R2

82k

1/4 W 1% Film Resistor

P82.0KCACT-ND

R3–R10

100Ω

1/4 W 1% Film Resistor

P150CACT-ND or P100CACT-ND

在闺蜜白老师的陪伴下,去知春路电子市场买了PCF8574和LED以及电阻,另外还借了白老师的电烙铁(感谢白老师!)这周六的下午躲在厨房里做好了板子,一次成功!(其中,入口和PCF是白老师上星期弄上去的)

正面:

IMG_2917

因为我大学期间的电子课程差点不及格,我就不介绍细节了(等我搞清楚了再说),但这个电路从操作上非常简单:你只要用一条NXT命令向PCF8574发送一个数,这个数换成二进制后的前8位就会对应这8盏LED,1就是灭,0就是亮。所以,上图中就是发送一个0的结果。

背面:(很丑,所以这叫“原型”)

IMG_2919

接上NXT之后,人工晃动的效果:

IMG_2924

原型算是做好了。下一步要把这个做小,能够嵌到LEGO的积木上,真正搭出一个自动的Magic Wand。这会比做原型化费更多的时间,所以不知道什么时候能做好。就像我不知道什么时候能把克林贡语词典翻译完一样。(干,我最近回过头去看,翻译的好烂。。)

总结:

  • Extreme NXT 真是一本好酷好酷的书!
  • 每周的陈老师科学兴趣小组应该持续不断地进行下去!
,

用了最取巧的连接方法:买了额外的数据线,然后从中间剪断,抽出6根Pin线。

最简单的玩法就是,黑线搭白线,传递的信号与LEGO的接触传感器一致。

其中,白线(Pin-1)可以做模拟信号输入(0到5V电压),或作为9V电源。黑线(Pin-2)是地线。

LEGO有个10位的转换器,可以把模拟信号转换成0到1023之间的数字值。每3毫秒采样一次。

补充一下这个传感器的原理:

NXT Pin-1 和 Pin-2 与模拟数字转换器的接线:

image

打开时,电压为5V,接通时,电压为0V:

image

如果电压值小于 (5*460/1023)V,NXT就认为是接触上的。

,