少儿编程之风已经吹进各大城市,编程猫、乐博机器人、童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从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-动力小车“麦昆”的更多相关文章

  1. Structs框架

    一.准备工作及实例 1.解压struts-2.1.6-all.zip(structs网上下载) apps目录:struts2自带的例子程序 docs目录:官方文档. lib 目录:存放所有jar文件. ...

  2. css中怎么设置透明度的问题

    小伙伴们是不是在找怎么样去设置页面的透明度的方法呢...别找了,我这儿就有,而且肯定够用了. 我自己会用到的就有两种,可以和大家分享一下. 1.用opcity的方法去设置透明度.代码如下: .div ...

  3. struts2.1.6教程六、使用标签

    1.基础表单标签 准备工作:建立struts2tag项目,搭建好struts2的开发环境.在html我们常用的基础表单标签主要有文本域.密码域.提交.重置四种.它们在strust2中可以通过标签来生成 ...

  4. 《HelloGitHub》第 19 期

    前言 最近很少写博客了,工作上的事情太多(在做一些数据分析方面的工作,之前是 Web 开发),时间捉襟见肘.更多的时间都花在工作上,没有精力.时间积累整理知识.说来还是能力太差.效率有问题. 后面会好 ...

  5. 基于Python的数据分析(1):配置安装环境

    数据分析是一个历史久远的东西,但是直到近代微型计算机的普及,数据分析的价值才得到大家的重视.到了今天,数据分析已经成为企业生产运维的一个核心组成部分. 据我自己做数据分析的经验来看,目前数据分析按照使 ...

  6. 艾奇学院:66个信息流广告和SEM学习网址资源大放送!

    01.CNZZ-UDplus 网址:udplus.umeng.com 说明:基于用户行为的精细化分析.运营平台,去研究研究,很多料! 02.黑眼圈管理后台 网址:www.not3.com 说明:二类电 ...

  7. MicroPython的开发板

    比如: pyboard micro:bit ESP8266/ESP32 stm32等等 什么是pyboard? pyboard是官方的MicroPython微控制器板,完全支持软件功能.硬件有: ST ...

  8. cocos2d-x解决中文乱码问题的几种办法

    昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统.没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数. 但是意外的发现,当内容含有中文时,CCL ...

  9. proxool 连接池

    今天配置proxool 连接池,发现可配置属性非常多,以前也只是用,没总结过,今天查了下网上的资料,总结一下 方便你我.其实网上很多英文资料都很全,网上很多人就是考翻译老外的文章赚些流量,其实也没啥意 ...

随机推荐

  1. PCIE4.0 简单介绍

    关于PCI-E的标准,可以从2003年说起,2003年推出了PCI-E 1.0标准,在三年之后就推出了PCI-E 2.0,而在4年后的2010年就推出了PCI-E 3.0,但是在2010年之后的6年里 ...

  2. spring mvc 映射与适配器

    在深入学习Spring mvc 过程中,我们需要了解如下两个类: org.springframework.web.servlet.mvc.method.annotation.RequestMappin ...

  3. tomcat关闭时Log4j2报错 Log4j Log4j2-TF-4-Scheduled-1 memory leak

    出错信息: 23-Sep-2017 17:43:18.964 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearRefer ...

  4. AX2009 批处理作业中使用多线程---顶级采摘

    顶级采摘 是前两种模式的一种混合,使用使用实体表存储单任务模式那样的每个工单,任务每次都取顶行做操作.单任务数不想单任务模式,一个工单一个任务.而是类似批量捆绑那样设置任务数.表:demoTopPic ...

  5. python爬虫知识脉络

  6. Ping IP速度范围

    <10 极快...局域网10-50 快. 快速服务器50-100 中.普通服务器.100-300 慢.国外服务器.300-1000 极慢.1000+  很有可能断.

  7. get通配符

    这篇文章是在上一篇常用正则表达式(合) https://blog.csdn.net/yeyeye200/article/details/86186889 基础上的延伸:关于通配符的使用~ 一开始get ...

  8. PYTHON基础入门(内置函数、推导式)学习

    **内建函数**1.通过使用dir()函数可以列出所具备的方法 例:num = 10 dir(num) 例:myList = [1,2,3,4,5,6] dir(num)2.通过使用help()函数可 ...

  9. matplotlib 中文显示问题

    matplotlib 默认显示不了中文,如果想显示中文,通过下面代码设置: import matplotlib #指定默认字体 matplotlib.rcParams['font.sans-serif ...

  10. Chapter5_初始化与清理_成员初始化

    在java中,成员初始化在使用之前应该都要保证已经完成初始化.对于在方法体中的局部变量,如果没有使用指定初始化的方法对成员变量进行初始化,编译器会提示一个错误.而对于类的数据成员,编译器会对这些成员赋 ...