亲子编程玩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 连接池,发现可配置属性非常多,以前也只是用,没总结过,今天查了下网上的资料,总结一下 方便你我.其实网上很多英文资料都很全,网上很多人就是考翻译老外的文章赚些流量,其实也没啥意 ...
随机推荐
- c#: .net framework 2.0支持扩展方法的办法
c#之扩展方法是个好方法,可惜只在.net framework 3.5及以上版本中用. 2.0版本若用,其编译报错如下: 错误 无法定义新的扩展方法,因为找不到编译器所需的类型“System.Runt ...
- 关于微信小程序appsecret保护的问题
本地后端代码中通常会配置 appid 和 appsecret,直接 push 到 公有 git 库会导致所有人可见.但其他人由于不是开发者有了别的项目的 secret 用处不大.但仍建议采用某种方法加 ...
- 七牛存储qshell工具
---恢复内容开始--- 工具地址:https://developer.qiniu.com/kodo/tools/1302/qshell 下载完成后:根据自己的系统选择需要的可执行文件,支持linux ...
- 处理ajax数据;数据渲染
当我们用ajax把数据拿到前台,该如何渲染到页面,有以下几种方式: 一:使用字符串拼接的方法 声明一个空变量,然后拼接 var st=""; st+="<div&g ...
- 关于python27和windows系统的中文编码问题
最近想写一个python脚本实现对文件夹中的文件进行批量命名.每个文件对应从txt文档中提取出来的一行,因为文件名是中文,所以涉及到了一些中文编码的问题. 脚本运行环境是win10+python27 ...
- HTML-CSS背景渐进色
一.分类 a>线性渐变:颜色沿着一条直线过度:从 左到右.从上到下等: b>径向渐变:圆形或椭圆形渐变,颜色不再沿着一条直线变化,而是从一个起点朝所有方向混合. 1.线性渐变语法: bac ...
- vue2.0项目创建之环境变量配置
安装node 传送门 <node安装步骤>关于环境的配置,百度一大把 安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm. ...
- prefProvider.kt
package com.gh0u1l5.wechatmagician.frontend import android.content.ContentProvider import android.co ...
- SQL Injection-Http请求的参数中对特殊字符的处理
1.背景:最近学习webgoat到了SQL Injection的这一课,要完成这一课需要拦截Http请求,修改参数,不过在修改的参数中加入特殊字符才能完成.下面让我们一起来学习吧. 2.题目: 大致翻 ...
- Numpy 矩阵库(Matrix)
Numpy 中包含了一个矩阵库 numpy.matlib, 该模块中的函数返回的是一个矩阵, 而不是 ndarray 对象. 一个 m * n de 矩阵是一个 有 m 行(row) n 列(colu ...