少儿编程之风已经吹进各大城市,编程猫、乐博机器人、童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从K12逐渐降低到幼儿园中班。其实,少儿编程的门槛并不高,它不会让孩子一上手就去接触代码,而是会通过图形、模块、游戏等形式,从声音、光、外形等多种途径,帮助孩子们走进计算机世界。本文以一个父亲的角度,讲述如何与孩子一起,用图形化的方式,构建一个好玩的动力小车。
1. 基础
首先讲讲基础,从孩子和父亲两个方面来看。
孩子目前是幼儿园大班,在幼儿园中班的时候开始玩乐高,特别喜欢车,有一定的动手组装能力(乐高的大颗粒和小颗粒都玩过,就是小颗粒有些费劲),可以在大人的指导下,拼搭模型。
父亲是理工男,有编程能力和基础,所以可以快速入门后面的图形化编程。不过我相信,图形化编程这么简单,大部分没有基础的父母同样可以轻松入门。
2. 套件选择
套件和品牌有很多,淘宝上都可以买到,如DFRobot、makeblock和seeed等国内厂商都会生产自己的产品,或者代理国外的产品。Micro:bit 是一款由英国BBC设计的ARM架构的单片机,板载蓝牙、加速度计、电子罗盘、三个按钮、5 x 5 LED点阵,主要用于青少年的编程教育。用户可以利用它实现任何酷炫的小创意。淘宝上也有很多为Micro:bit设计的外围器件,包括各类传感器、显示屏、按钮、车架等等。这里使用的是国内厂商DFRobot生产为Micro:bit设计的小车车架“麦昆”。特性如下:
- 支持Microsoft makecode,支持Scratch及python
- 体积迷你,移动灵活
- 全金属微型减速电机,质量优良,驱动力强
- 巡线、氛围灯、LED车灯、超声波接口、蜂鸣器、I2C接口、金手指接口、机械扩展螺孔等等,功能齐全,扩展性强
- 独家定制的赛钢材料支撑轮,灵活可靠,越障能力强
- 安装简单,轻松上手
3. 构建和组装
拿到套件以后,拆开来,得到各个组件,包括车体(出厂已安装好电机和支撑轮)1个、轮子2个、3节7号电池盒1个、双面胶1片。如下图所示。
另外,如果要远程遥控,还需要一个手柄,手柄和两块Micro:bit板子如下图(小车车架用一块Micro:bit,遥控手柄也用一块Micro:bit)。
小车车架安装的步骤不多,首先是安装轮子,把轮胎套在轮毂上,再把轮毂插入到电机。小朋友自己完全可以搞定。
轮子装好以后,就安装超声波传感器,用于检测障碍物距离,自动避障。
接着,插入Micro:bit板子到插槽,注意方向。
把电池盒粘到小车上,并把电池的接线接到车架的电池接口。完成小车的安装。
安装过程中要注意两点,第一:轮胎和轮毂有方向,不要装反。第二,电池接线要接到小车车架的电池接口上,不要连到Micro:bit板子的电池接口。小车的各个接口说明可以参考下图。
遥控手柄的安装比较简单,只需要将Micro:bit插入扩展插槽就可以,需要注意的是,方向不要插反。然后为其粘好电池盒,把接线接到电池接口。如下图所示。
4. 图形化环境的安装
对于小车的编程,可以使用在线的Microsoft makecode:https://www.microsoft.com/zh-cn/makecode?rtc=1,直接在线编写下载。当然,笔者还是推荐下载应用安装到本地的方式,这样不受网络的拘束。
4.1 Mind+编程
DFRobot自行发布了一款同时支持图形化和代码编辑功能的环境Mind+,具体步骤如下:
1、下载及安装软件。下载地址:http://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程
3、“扩展”中选择“套件”中的“麦昆”。 详细教程:Mind+基础wiki教程-加载扩展库流程
4、进行编程
5、编程完毕以后,点击菜单“连接设备”,选择一个“COM-microbit”,然后点击“上传到设备”
在DFRobot的Wiki网页上,包含了多个图形化案例,包括电机控制、读取超声波距离、点亮LED车灯、点亮氛围灯、读取红外线键值、红外遥控、超声波避障、光控精灵、无线发送和无线接收(遥控手柄)等。具体可以参考:Wiki。
4.2 Microsoft makecode编程
微软专门为Microbit开发了一款图形化的环境makecode,用户可以从应用商店上直接免费下载。
下载完成,运行应用,导入小车麦昆的库,地址是:https://github.com/DFRobot/pxt-maqueen,步骤如下。
1. 在Makecode for microbit的主页面点击新建项目,然后点击设置-扩展,如下图所示。
2. 输入麦昆的库,点击搜索,就可以搜到。如下图所示。
3. 点击该扩展,环境会自动下载并且安装,安装之后,可以在左边的控件栏中找到麦昆,如下图所示。
环境搭建好之后,就可以开始图形化编程了。在DFRobot的Wiki网页上,包含了多个图形化案例,包括电机控制、读取超声波距离、LED车灯闪烁、点亮氛围灯、读取红外线键值、红外遥控、超声波避障、光控精灵、循迹驾驶、无线发送和无线接收(遥控手柄)等。具体可以参考:Wiki。
5. 孩子如何参与
有关这个问题,我们可以从下面几个方面来引导。
1. 从小车的运动控制方面,可以与孩子探讨,该如何控制小车的两个轮子,以达到小车前进、后退、左转、右转的目的?如,左右轮同时正转,小车就前进;同时反转,小车就后退。
2. 掌握了小车的运动控制以后,就可以与让孩子自己设计小车的运动路线了,比如,走个8字。
3. 小车配有两个LED车灯,可以结合实际情况,如我们开车时,要左转的时候,需要打开左侧的转向灯;右转时,打开右侧的转向灯。与孩子探讨如何加入LED转向灯的功能。
4. 小车的遥控手柄案例中,只有遥控其前进、后退、左转和右转功能。尝试与小孩一起探讨如何加入A、B键的控制功能,如播放声音、加速/减速等。
5. 用触摸屏的电脑将有助于孩子的参与度,比如,控件的拖动、参数的设置将变得非常方便。
6. 如果要用手机或者Pad编程的话,可以使用蓝牙功能下载(苹果手机和Andorid手机均有对应的App可以下载,体验和PC版本类似,如下图所示)。虽然配对的过程稍微有些繁琐,但是这将大大降低孩子参与的门槛。
当孩子们看到小车按照自己的想法运动起来的时候,会开心的欢呼和跳跃。这时,我们仿佛能够看到童年的自己。