让掌控板和Scratch无缝连接
作者:谢作如 冰棍机李敦勇 唐柳峰
自熟粉丝机来源:《中国信息技术教育》2018年第大蒜分瓣脱皮机23期
Scratch是一款由美国麻省理工学院(MIT)设计开发的少儿编程工具。因为其采用了积木式的图形化编程形式,只要会使用鼠标,就能编写出各式各样的作品,大大降低了编程的门槛。目前很多地区的小学生编程课,大都是基于Scratch进行教学的。Scratch不仅是一款利用积木式工具制作二维动画的软件,还是一个学习互动媒体技术的平台。Scratch可结合PicoBoard、乐高WeDo、Arduino、micro:bit等相关硬件,与外部世界进行互动,如读取传感器值,驱动电机等,从而设计出各种有趣的互动作品。 PicoBoard是Scratch开发团队设计的传感器板,通常称为“Scratch传感器板”,其功能已经内置在Scratchu魅的各个版本中。早在2011年,笔者就尝试用Arduino自制了一款PicoBoard,但因为各种传感器不好固定,外形也不看,就没有真正在教学中使用。最近,笔者在拿到掌控板的时候,不禁萌发一种想法:能不能把掌控板模拟为PicoBoard,让掌控板和Scratch无缝连接起来呢?
分析规划
面袋 PicoBoard上有按键、光线、声音、滑杆等传感器,另外还有四个普通的电阻。这些信息可以从Scratch调盘
的扩展功能模块中看出,以Scratch2.0为例,编程模块的界面如图1所示。 掌控板上集成了光线和声音传感器,同时有A、B两个按钮,分别对应了PicoBoard上的按键、光线、声音这三种传感器(如图2)。而滑杆传感器可以使用六个触摸按键来模拟,这样就基本上具备了模拟PicoBoard的条件。另外,掌控板的加速度传感器数据,可以用阻力(电阻)A、B、C来输出,这样学生就能做出更加有趣的交互作品了。
考虑到使用习惯,笔者将掌控板的按键B,模拟为PicoBoard的按钮。加速度传感器Z轴信息,一般不太容易使用,于是舍弃,留出一个“阻力D”作为扩展接口。确定这些信息后,再对应PicoBoard的协议,分别进行了通道的编号(如下页表1)。