亲子编程玩Micro:bit-动力小车“麦昆”
少儿编程之风已经吹进各大城市,编程猫、乐博机器人、童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从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版本类似,如下图所示)。虽然配对的过程稍微有些繁琐,但是这将大大降低孩子参与的门槛。


当孩子们看到小车按照自己的想法运动起来的时候,会开心的欢呼和跳跃。这时,我们仿佛能够看到童年的自己。


亲子编程玩Micro:bit-动力小车“麦昆”的更多相关文章
- Structs框架
一.准备工作及实例 1.解压struts-2.1.6-all.zip(structs网上下载) apps目录:struts2自带的例子程序 docs目录:官方文档. lib 目录:存放所有jar文件. ...
- css中怎么设置透明度的问题
小伙伴们是不是在找怎么样去设置页面的透明度的方法呢...别找了,我这儿就有,而且肯定够用了. 我自己会用到的就有两种,可以和大家分享一下. 1.用opcity的方法去设置透明度.代码如下: .div ...
- struts2.1.6教程六、使用标签
1.基础表单标签 准备工作:建立struts2tag项目,搭建好struts2的开发环境.在html我们常用的基础表单标签主要有文本域.密码域.提交.重置四种.它们在strust2中可以通过标签来生成 ...
- 《HelloGitHub》第 19 期
前言 最近很少写博客了,工作上的事情太多(在做一些数据分析方面的工作,之前是 Web 开发),时间捉襟见肘.更多的时间都花在工作上,没有精力.时间积累整理知识.说来还是能力太差.效率有问题. 后面会好 ...
- 基于Python的数据分析(1):配置安装环境
数据分析是一个历史久远的东西,但是直到近代微型计算机的普及,数据分析的价值才得到大家的重视.到了今天,数据分析已经成为企业生产运维的一个核心组成部分. 据我自己做数据分析的经验来看,目前数据分析按照使 ...
- 艾奇学院:66个信息流广告和SEM学习网址资源大放送!
01.CNZZ-UDplus 网址:udplus.umeng.com 说明:基于用户行为的精细化分析.运营平台,去研究研究,很多料! 02.黑眼圈管理后台 网址:www.not3.com 说明:二类电 ...
- MicroPython的开发板
比如: pyboard micro:bit ESP8266/ESP32 stm32等等 什么是pyboard? pyboard是官方的MicroPython微控制器板,完全支持软件功能.硬件有: ST ...
- cocos2d-x解决中文乱码问题的几种办法
昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统.没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数. 但是意外的发现,当内容含有中文时,CCL ...
- proxool 连接池
今天配置proxool 连接池,发现可配置属性非常多,以前也只是用,没总结过,今天查了下网上的资料,总结一下 方便你我.其实网上很多英文资料都很全,网上很多人就是考翻译老外的文章赚些流量,其实也没啥意 ...
随机推荐
- java数据结构分析
java数据结构分析 此文章内容参考于:http://www.cnblogs.com/ysocean/ 一.数据结构总览图 1.数组 2.链表 3.栈 4.队列 5.二叉树 6.堆 7.散列 8.红黑 ...
- Java多线程01(Thread类、线程创建、线程池)
Java多线程(Thread类.线程创建.线程池) 第一章 多线程 1.1 多线程介绍 1.1.1 基本概念 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于 ...
- 20164319 刘蕴哲 Exp4:恶意代码分析
[实验内容] ①系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了 ...
- Python:a,*args,**kwargs的理解
1.何时用这些参数? 在任何时候继承类和重写方法时,应当用到’*args’和’**kwargs’将接收到的位置参数和键值参数给父类方法 . 2.一句话清晰说明: a是常规的变量类型,比如int,str ...
- 2. 2A03简介
2A03简介 1.CPU 1.1 内部寄存器 1.累加寄存器A(Accumulator):8位寄存器,用于同算术逻辑单元(ALU)共同完成各种算术逻辑运算,它既为ALU提供原始操作数又担任存放ALU运 ...
- skynet记录7:服务(c和lua)
稍后填坑 1.c服务的写法(第一个服务logger分析) 2.lua服务的写法(第二个服务bootstrap分析) 3.snlua包装模块
- python中打印一个字符串中有多少个单词
1.for实现: str1 = str.strip(input("please input a str:"))n = 1i = 0for i in range(len(str1)- ...
- Pancake Sorting LT969
Given an array A, we can perform a pancake flip: We choose some positive integer k <= A.length, t ...
- 序列化还是JSON存储对象?
2018-11-10 先对比一下存诸空间大小:https://pan.baidu.com/s/1I3K8ARfl4x8pC__B-T_vbA 输出的结果是 json: 序列化: 序列化Map: 用JS ...
- Vmware Workstation - linux系统下 VmTools 安装
程序版本 : VMware® Workstation 14 Pro 系统环境 : win10 64位下 ubuntu-14.04.5-desktop-amd64 问题:在运行linux系统过程中,de ...