
Micro:bit是有BBC推出的面向全球青少年编程学习及STEM教育的学习工具。在众多的软件和硬件中(Scratch、Arduino、Lego、Python……),一直没有一个完善的课堂学习编程的解决方案,Micro:bit解决了这一问题,不但身形小巧,结构简单,其硬件传感器高集成化,且图形代码结合的编程方式使其已经迅速风靡全球,目前即将登陆亚洲。学生能够通过短时间学习后,迅速掌握它的使用方法,并应用于数学、艺术、科学、技术、生活、机器人等活动中,启发他们创意思维。国内目前讲解Micro:bit的图书还未发现,国外也刚刚出现,本书采用简单明了的讲述方式,结合实际操作环境,选取了大量生动的实例,使学习者快速了解和上手操作,并能独立设计小应用。
The Longest Journey Starts with a Single Step In 2012 the BBC embarked on an ambitious journey. They had realised that the education system in the UK at the time was not preparing children adequately for the workplace of the future. In particular the IT skill set that was being taught in schools was inadequate for the ever evolving challenges our children will face when they enter the job market. In the UK the BBC not only produces great TV and radio content, the BBC Learning department also plays an important role in providing curricula linked educational content for school children and learners of all ages. A bold and ambitious plan to address this short-coming was drawn up, and the BBC micro:bit project was born! This project culminated in 2016 when the BBC and a partnership of 30 organisations (including ARM, Samsung and Microsoft) distributed 1 million BBC micro:bit mini computers into high schools in the UK. The coding revolution had begun! 序 一 IV | micro: bit 入门指南 What the BBC understood was that the key to a successful initiative of this nature was not only to design a great piece of hardware (that is affordable and accessible to everyone, especially children with no prior experience), but also to ensure that all the necessary support was in place. This meant producing editors, learning materials, projects as well as engaging with teacher and educator communities and providing information and support. The great and proven success of micro:bit in the UK is down to the strength of the ecosystem that supports and includes the hardware device. When the BBC completed their project in the UK they, along with eight other organisations including ARM and The British Council, helped to establish the Micro:bit Educational Foundation. We are a Not-For-Profit foundation and our remit from day 1 has been to build on the great work that the BBC did and to bring the BBC micro:bit to a global audience. We believe that every child is an inventor, and that the education systems, both formal and informal, should incorporate this creativity into learning journeys and outcomes. We want to get children, parents, carers, educators and pretty much everyone else coding and using technology as a tool in a broad range of learning, and fun contexts. Our goal is to reach 100 million people globally, and every day we are one step closer. China has played a role in micro:bit from back when it was a BBC 序 一| V project. The micro:bit units are manufactured by Embest, who are based in China, and they played an important role in the development of the original board. The quality of the hardware that they produce has helped us to establish micro:bit as a global and trusted brand. In addition, our first official partner outside of Europe was the China based Arm Accelerator, and they have been working throughout 2017 to bring micro:bit into China. We’ve been greatly honoured by the interest and enthusiasm we have seen from China - it is already one of the top 10 countries in the world for micro:bit activity, and our user base here is growing daily. We look forward to the real possibility that one day our ecosystem in China might be the largest in the world. We’d like to thank you for your interest in micro:bit. This book should give you the information you need to start using micro:bit in your classroom, workplace or even at home for fun! We encourage you to adopt micro:bit as a teaching tool and to spread the word about micro:bit to educators and influencers that you know. Our ecosystem is strong and growing and every single person who adopts micro:bit helps us to get 1 step closer to our goal. Sincerely The Micro:bit Educational Foundation 2012,英国广播公司开始了一项雄心勃勃的计划。 他们意识到英 国的教育系统没有为孩子们未来的职业规划做好充分准备,特别在IT 技能方面,学校的教育严重 不足,使孩子们进入职业市场后将面临严 峻的挑战。英国广播公司不仅创建了数量巨大的电视和广播的节目, 英国广播公司教育部在为学校的孩子和所有年龄的学习者提供课程与 教育内容方面也起着重要的作用。 他们制定了一个大胆的计划,英国广播公司的micro:bit项目因此 诞生了!这个项目于2016年底达到高潮,英国广播公司和30个合作伙 伴(包括ARM、三星和微软)将100万个micro:bit微型计算机分发到 英国的中学,编程革命从此开始! 在英国广播公司的理解中,成功的关键不仅仅在于设计出一个伟 大的硬件(任何人尤其是没有经验的儿童都能买得起和会使用),而 且还要保证能够提供所有必要的支持。这意味着需要给教师和教育团 队提供编辑器、学习资料、课程,并提供消息和支持。 在英国,micro:bit的巨大成功被证明是包括硬件设备在内的生态 系统带来的力量。 当英国广播公司在英国完成他们的项目时,他们和 序一(中译文) VIII | micro: bit 入门指南 其他八个组织,包括ARM公司和英国文化协会,共同建立了micro:bit 教育基金会,一个非盈利性的基金会,从成立第一天开始就致力于将 micro:bit介绍给全世界的爱好者。 我们相信每个孩子都会是一个发明家,无论是在正式的还是非正 式的教育中,都应该把这种创造力融入到学习过程和结果中。 我们希 望孩、父母、教育工作者,甚至每个人都将编程技术作为一种工具用 在学习和游戏中。 我们的目标是达到全世界有1亿人使用micro:bit, 每一天我们都离这个目标更近一步。 中国在micro:bit前期项目时就发挥了作用。micro:bit的制造公 司Embest(英蓓特)公司,其总部设在中国。 高品质的硬件帮助 micro:bit成为一个全球性和值得信赖的品牌。此外,基金会第一个欧 洲之外的官方合作伙伴在2017年将micro:bit带到中国。 中国已经成为micro:bit世界用户活跃度排名前10的国家,这里的 用户每天都在增加。 期待有一天中国micro:bit的使用规模全球最大。 感谢您能关注本书,本书能够帮助您学习micro:bit,带您在任何 场所发现学习过程中的乐趣和设计之美,希望micro:bit这一教学工 具,可以普及更多的人,相信每位使用micro:bit的人都能帮助我们实 现为所有年龄孩子提供课程和教育的目标。 micro:bit教育基金会 ——凡是过往,皆为序章 对创客教育的观察,不难发现一个显见的事实:新装备与课程交 织在一起,共同引领创客教育的方向。那么,除了Arduino,还有什么 可选?我想micro:bit也许就是那个“所见略同”。 面对创客教育的未来之路, 希望这条路上除了有A r d u i n o 、 Scratch、3D打印和机器人,还能有micro:bit相伴,期望有更多的老师 和创客多写案例,多写书,共同推进micro:bit走进课堂,营造创客教 育的友好氛围。不为别的,只为来自micro:bit故乡名人的那句话“凡 是过往,皆为序章”,牵强附会一下,是为序。 梁森山 教育部教育装备研究与发展中心 2017.10.08 于北京 序 二 本人是Arm community负责人,长期从事Arm生态建设的工作,此 次能够收到邵子扬先生的邀请,为他的大作作序,我感到十分荣幸, 也代表Arm公司,为邵先生的大作付梓表示衷心地祝贺。 邵先生是我们Arm community的资深专家用户,平日里凭借他在 嵌入式开发领域的专业知识,为我们社区贡献了很多好的内容,也为 其他用户答疑解惑,赢得一致好评, 特别是在mbed平台和Microbit相 关领域,有着独到的见解和非常多的实践经验。此次,我个人拜读了 邵先生的作品,感觉内容充实,结构合理,分析到位,是一本针对青 少年科学技术能力养成的佳作。无论是用于教学还是个人自学,都是 不可多得的好资源。 Arm作为一家诞生于英国的科技公司,一直努力致力于提高青少 年的科学素养和技术水平。早在1981年,Arm的前身Acorn电脑公司, 在个人计算机还属于奢侈品的时期,就和BBC一起为英国青少年提供 了物美价廉的BBC Micro电脑,为很多年轻人今后走上技术道路并且 开拓创新奠定了坚实的基础。此次,随着新一波物联网浪潮的到来, BBC再次和Arm等核心企业合作,推出了BBC Microbit平台,主要面 序 三 XII | micro: bit 入门指南 向青少年编程和嵌入式开发教育,结构简单,使用方便,易于推广。 现在只需花上数百元,就可以获得一整套开发套件,全中国大部分家 庭和学校,都能轻易开展嵌入式开发和计算机科学的学习了,而且 BBC Micro使用了Arm公司非常普及的Cortex-M0架构和最新的mbed 技术,简单编程即可运作,无需接触底层硬件,即使是中小学学生也能 轻易上手,搭建自己有趣而多彩的项目。更为重要的是,随着中国的 崛起,在物联网创新领域和综合科技发展上已经进入世界先进行列,此 次,我们有能力,有机会能把握住这次浪潮,并努力弯道超车。 两位作者敏锐地觉察到了BBC Microbit对中国青少年的智力开发 以及科学素养的巨大意义和绝好机会,经过去粗取精,落实生根,推出 了这本通俗易懂的中文教材。对我们目前国内的青少年编程和嵌入式 开发教育而言可谓久旱逢甘霖。 在此,我也期待有更多的朋友能读到这本书,也希望在我们广袤 的国土上,有更多的年轻人能借助这本书打开自己的视野,提升自己 的能力,通过BBC Microbit创建自己第一个项目,做出有趣的应用, 凭借BBC Micro:bit,在今后和全世界的同龄人交流中,能够多一种共 同的语言。 Arm community负责人 2017年10月7日 在中国,国家正大力推广青少年学习编程,学校在努力尝试STEM 课程的开展,在众多的软件和硬件中(Scratch、Arduino、Lego、 Python……),micro:bit的硬件传感器高集成化及图形代码结合的编 程方式等功能全面,应用方便,是非常适合8岁以上青少年在STEM课 程中应用的数字工具。英国已经全面开展micro:bit的普及推广,目前 风靡全球,即将登陆亚洲。 micro:bit的产生源自于教育,它正是由于全球倡导青少年学习编 程、进一步加强STEM方式学习而推出的教育开发板。学生能够通过短 时间学习后,迅速掌握它的使用方法,并应用于数学、艺术、科学、 技术、生活、机器人等活动中,启发他们创意思维。 STEM课程并不是简单的学科融合,也不是简单的新技术的应 用,它是在多学科融合基础下,基于项目的学习和实践活动。在整个 学习过程中,发展学生探究学习的方法,基于学习的管理,有助于学 习取向的发展及关注环境和生活态度等价值观的形成。STEM课程和 学习方式在国外已经经历了从大学延伸到基础教育,从探索到成熟的 三十年历程。我国正尝试这种学习方式的时候又恰逢人工智能时代的 P R E F A C E 前 言 XIV | micro: bit 入门指南 到来,Micro:bit将带给我们学习方式和学习过程的转变,有着重要的 教育价值,它也是现代学习中不可缺少的数字化学习工具。不得不说 micro:bit让我们有了一种崭新的学习载体,STEM将变得更加丰富,必 将产生更多崭新的学习方式。 本书撰写的初衷是通过micro: b i t基础学习指导,让青少年爱好 者、学校教师掌握micro: b i t 的硬件使用方法,重点学习Makecode、 PythonEditor的基础编程方法,再通过案例实践提高micro:bit的应用水 平;能够将micro:bit基础的使用方法传递给中小学生及教师,在各自的 STEM课程中有良好的应用价值,并对这样一款学习工具产生浓厚的兴 趣,愿意在一段时间内努力挖掘其更深层次的教育应用方法,集结更 多优秀的学习案例,达到学以致用的目的。 本书从五个方面带领大家逐步理解和学习micro:bit的使用方法: ■ micro:bit简介; ■ micro:bit开发方式; ■ makecode图形化编程; ■ pythoneditor代码编程; ■ 创意实践。 本书定位在“入门指南”,书中对micro: b i t介绍和背景资料整 理非常详细,意在使读者理解micro: b i t产生的含义;Makecode、 pythoneditor编程学习仅限基本功能的掌握,没有做任何扩展和延伸, 非常适合中小学生课外学习使用,也适合初学者(非专业教师)学习 参考;创意实践部分是本书的重要内容,从上百个案例中精选出11个 前 言| XV 案例供大家学习和体验,其中有简单的也有复杂的,目的是为不同层 次的读者提供不同难度的学习体验。读者并不需要全部掌握,而是可 以根据个人情况,努力掌握合适难度的案例设计方法,更多地去体验 和感受难度系数较大的案例设计方法和程序结构,在学习过程中获得 乐趣。本书所有程序可以在云端直接下载应用,学习使用非常方便。 Micro:bit是信息化时代STEM课程学习不可缺少的应用工具,会帮 助大家进行数字化探究和信息化管理,将传统的探究过程和学习方式 升级,获得更高效的学习和更加精细的探究成果。这将有助于青少年 综合素质的提高,有助于他们应用信息化手段研究学习和应用能力的 提升。 本书由余波和邵子扬合作撰写,希望将多年STEM教学积累与行业 实战探索相结合,以整理出来对青少年教育的一点方法和思路,为青 少年编程和创新教育之路抛砖引玉。但毕竟水平有限,难免疏漏和错 误之处,敬请批评指正。 编著者 2017年10月
第1 章 BBC micro:bit 简介··········································································· 1 认识micro:bit ·······························································································1 micro:bit 基金会 ···························································································4 micro:bit 的功能 ···························································································6 主要硬件参数 ·······················································································7 常用功能说明 ·······················································································7 第2 章 micro:bit 的开发方式······································································ 11 micro:bit 开发工具主要特征 ·····································································12 全面采用在线编程平台 ·····································································12 可视化编程方式 ·················································································13 虚拟演示功能 ·····················································································15 MicroPython 语言成为代码编程主流 ···············································15 可视化与代码书写编程方式结合 ·····················································16 micro:bit 常用的五种开发工具 ·································································16 MakeCode(JavaScript) ······································································17 PythonEditor(Micro Python) ·····························································18 C O N T E N T S 目 录 XVIII | micro: bit 入门指南 MU(MircoPython) ·············································································19 Open Roberta lab ·················································································20 Scratch X······························································································21 micro:bit 各种开发工具类比 ·····································································22 图形化编程功能对比 ·········································································23 代码编程功能对比 ·············································································24 第3 章 MakeCode 图形化编程·································································· 25 MakeCode 编程界面 ··················································································25 MakeCode 基本操作 ··················································································28 编程方式转换按钮 ·············································································28 虚拟演示控制按钮 ·············································································28 文件名设置方法 ·················································································29 下载与保存程序 ·················································································29 项目分享流程 ·····················································································30 入门教程 ·····························································································31 基本编程模块使用方法 ············································································32 开机和无限循环(forever) ·································································32 屏幕显示 ·····························································································33 屏幕控制 ·····························································································38 按键设置 ·····························································································40 测量温度 ·····························································································42 检查光强 ·····························································································43 加速度传感器 ·····················································································44 磁场传感器 ·························································································48 播放音乐 ·····························································································49 目录| XIX 无线电通信 ·························································································52 蓝牙通信 ·····························································································54 无线和蓝牙的比较 ·············································································57 第4 章 PythonEditor···················································································· 59 MicroPython 语言 ······················································································59 MicroPython 的特点 ···········································································59 编程软件 ·····························································································60 Python 编程需要注意的问题 ·····························································61 显示文字 ····································································································62 文字显示控制 ····························································································62 显示图案 ····································································································63 显示内置小图案 ·················································································63 显示自定义图案 ·················································································64 显示多个图案 ·····················································································65 图案显示控制 ·····················································································65 播放音乐 ····································································································65 内置音乐 ·····························································································66 音乐播放控制 ·····················································································66 自定义音乐 ·························································································67 音调 ·····································································································70 停止音乐 ·····························································································71 语音 ············································································································71 说话 ·····································································································71 朗读和唱歌 ·························································································72 加速度传感器 ····························································································73 XX | micro: bit 入门指南 手势 ·····································································································74 磁场传感器 ································································································76 温度传感器 ································································································77 端口 ············································································································77 端口说明 ·····························································································77 输出高低电平 ·····················································································78 读取输入电平 ·····················································································79 输出PWM ···························································································79 读取模拟输入 ·····················································································79 文件系统 ····································································································80 NeoPixel 彩灯控制 ·····················································································82 I2C 接口 ·····································································································84 第5 章 micro:bit 创意实践·········································································· 87 灯光瀑布 ★★ ···························································································87 金属探测器 ★★ ·······················································································89 制作水平仪 ★★☆ ···················································································92 生命游戏(life game)★★☆ ···································································95 乒乓球对战 ★★★★ ·············································································101 番茄工作法 ★★★☆ ·············································································111 气压/ 温度计 ★★★☆ ··········································································115 吟诗机器人 ★★☆ ·················································································122 会说话的幸运球 ★★☆ ·········································································124 莫尔斯发报机 ★★★★☆ ·····································································126 遥控小车 ★★★☆ ·················································································134 目录| XXI 第6 章 micro:bit 扩展件············································································· 141 接口转接板 ······························································································141 电池扩展板 ······························································································144 保护外壳 ··································································································145 小车 ··········································································································146 彩灯扩展板 ······························································································147 其他 ··········································································································148 附录··················································································································· 149
余波,武汉市育才第二小学信息技术教师,中学高级教师。武汉市江岸区有突出贡献的中青年专家、学科带头人。湖北省学科优秀教师。中国青少年机器人竞赛“十佳”教练员。中国城市青少年机器人联盟发起人,全国创客教育专家委员会委员,国内多项青少年机器人赛事评委。教育教学文章收录于教育部文库或发表在教育技术核心刊物。__eol__2002年建立武汉市最早的学生“机器人工作室”,辅导学生多次获得WRO、ROBOT-CUP、FLL等国内、国际机器人竞赛大奖。援助湖北省多所中小学建立机器人社团,在FLL、FRC、VEX、ROBOT-CUP等国际顶尖青少年机器人专业赛事获得良好成绩,在推动青少年机器人活动发展中力所能及做出贡献。__eol__近期致力研究通过信息技术课程实现“数字文化创意”教学模式,努力让信息技术学科教学成为激发学生思维创意和增进文化积淀的有效途径,达到回归教育本质与完善教育潜能的目标。