描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121335396丛书名: 青少年学编程系列丛书
本书利用TumipBit口袋编程计算机(兼容Micro:Bit)进行实验,力求通过有趣的实验,将Python编程学习中乏味的数据类型、逻辑运算、变量、循环、判断、函数等基础知识融为一体,便于青少年学习掌握。
注重动手能力,从“如何做”的角度切入,抓住要点,让青少年真正DIY起来,记住知识点,掌握内容,亲手做出创意作品。
这是一本有技术支持的机器人DIY实战书籍,可提供以下技术支持渠道。
第1章 打开极客之门…. 1
1.1 TurnipBit是什么…. 1
1.2 从拼插编程开始…. 1
1.3 做个真正的程序员…. 4
1.3.1 什么是Python. 4
1.3.2 面向硬件的MicroPython. 5
1.3.3 支持MicroPython的开发板… 6
1.3.4 利用TurnipBit进行编程学习… 9
第2章 滚动的广告牌…. 12
2.1 滚动的“Hello World!”…. 12
2.2 动手进行拼插编程…. 12
2.2.1 实现滚动显示“Hello World!”… 12
2.2.2 实现循环滚动显示“Hello World!”… 16
2.3 动手画流程图…. 18
2.3.1 流程图是什么… 18
2.3.2 画出“Hello World!”的流程图… 19
2.4 知识要点…. 20
2.4.1 拼插编程… 20
2.4.2 代码编程… 21
第3章 倒计时…. 22
3.1 神奇的计时器…. 22
3.2 让TurnipBit显示数字…. 23
3.2.1 实现滚动显示数字… 23
3.2.2 显示静态数字… 24
3.2.3 有趣的数字… 28
3.3 动手制作倒计时器…. 33
3.3.1 “倒计时器”程序流程图… 33
3.3.2 睡眠1000毫秒… 33
3.3.3 完成“倒计时器”… 34
3.4 知识要点…. 35
3.4.1 拼插编程… 35
3.4.2 代码编程… 35
第4章 方便的加法计算器…. 36
4.1 DIY加法计算器…. 36
4.2 变量及其类型…. 36
4.2.1 变量… 36
4.2.2 变量的命名… 38
4.2.3 变量的类型… 39
4.2.4 数据类型操作… 40
4.3 动手制作加法计算器…. 41
4.3.1 加法计算器流程图… 41
4.3.2 加法计算器的实现… 42
4.4 知识要点…. 45
4.4.1 拼插编程… 45
4.4.2 代码编程… 45
第5章 会走的机器人…. 46
5.1 机器人是怎么走的…. 46
5.2 循环转圈圈…. 46
5.2.1 for循环… 47
5.2.2 while循环… 48
5.2.3 continue和break. 48
5.3 画一个会走的机器人…. 49
5.3.1 使用“创建图像”拼画一个静止的机器人… 49
5.3.2 使用“创建图像”让机器人动起来… 52
5.3.3 让机器人一直走下去… 54
5.3.4 画出会走的机器人的流程图… 56
5.4 知识要点…. 58
5.4.1 拼插编程… 58
5.4.2 代码编程… 58
第6章 好玩的掷骰子游戏…. 59
6.1 掷骰子游戏…. 59
6.2 学会做选择题…. 59
6.2.1 逻辑运算… 60
6.2.2 if判断语句… 61
6.3 实现掷骰子游戏…. 63
6.3.1 绘制流程图… 63
6.3.2 拼插编程实现掷骰子游戏… 65
6.4 代码分析…. 70
6.4.1 基本原理… 70
6.4.2 逻辑分析… 70
6.5 知识要点…. 71
6.5.1 拼插编程… 71
6.5.2 代码编程… 71
第7章 无线投票器…. 72
7.1 制作无线投票器…. 72
7.2 准备知识…. 73
7.2.1 函数… 73
7.2.2 TurnipBit无线模块的使用… 75
7.3 动手制作无线投票器…. 78
7.3.1 无线投票器流程图设计… 78
7.3.2 无线投票器程序实现… 80
7.3.3 分享代码… 87
7.4 知识要点…. 88
7.4.1 拼插编程… 88
7.4.2 代码编程… 89
第8章 指南针…. 90
8.1 制作指南针…. 90
8.2 确定南方在哪里…. 91
8.2.1 学会使用指南针… 91
8.2.2 显示每个方向的指南针… 94
8.3 指南针流程图…. 96
8.3.1 指南针的模糊概念… 96
8.3.2 绘制流程图… 96
8.4 知识要点…. 98
8.4.1 拼插编程… 98
8.4.2 代码编程… 98
第9章 简易的MP3播放器…. 99
9.1 如何播放美妙的音乐…. 99
9.2 播放音乐…. 100
9.2.1 一首音乐循环播放… 100
9.2.2 TurnipBit音乐播放器拼插编程… 103
9.2.3 音乐播放器代码分析… 111
9.3 TurnipBit播放自定义音乐…. 113
9.3.1 TurnipBit播放音乐的方法… 113
9.3.2 播放自定义音乐实例… 115
9.3.3 播放自定义音乐代码分析… 116
9.4 知识要点…. 117
9.4.1 拼插编程… 117
9.4.2 代码编程… 117
第10章 储钱罐…. 118
10.1 DIY储钱罐…. 118
10.2 绘制储钱罐流程图…. 118
10.3 动手进行拼插编程…. 120
10.3.1 实现储钱罐… 120
10.3.2 进阶实现… 126
10.4 代码分析…. 127
10.4.1 基本原理… 127
10.4.2 逻辑分析… 127
10.5 知识要点…. 127
10.5.1 拼插编程… 127
10.5.2 代码编程… 128
第11章 带小夜灯的电子时钟…. 129
11.1 制作带小夜灯的电子时钟…. 129
11.2 基础知识…. 130
11.2.1 电阻… 130
11.2.2 光敏电阻… 133
11.2.3 LED.. 134
11.2.4 TurnipBit扩展板… 135
11.3 线路设计…. 136
11.3.1 光敏电阻的使用… 136
11.3.2 DS3231的连接… 136
11.3.3 器件的连接… 137
11.4 程序设计…. 138
11.4.1 引脚的使用… 138
11.4.2 光敏电阻光线临界值的测量… 139
11.4.3 DS3231模块的代码… 140
11.4.4 时钟对时代码… 143
11.4.5 带小夜灯的电子时钟的代码实现… 147
11.5 外壳组装…. 151
11.6 知识要点…. 152
11.6.1 拼插编程… 152
11.6.2 代码编程… 153
第12章 会思考的避障车…. 154
12.1 什么是会思考的避障车…. 154
12.2 基础知识…. 155
12.2.1 电机… 155
12.2.2 超声波传感器… 159
12.3 避障车的组装…. 160
12.3.1 硬件器件… 160
12.3.2 硬件安装步骤… 163
12.3.3 电机驱动模块和超声波模块的安装… 166
12.4 程序设计…. 168
12.4.1 伪代码分析… 168
12.4.2 拼插编程… 169
12.4.3 代码分析… 173
12.5 知识要点…. 176
12.5.1 拼插编程… 176
12.5.2 代码编程… 176
推 荐 序
计算机科学与技术从诞生至今只有区区几十年的时间,与其他传统学科相比,仍处于“婴儿期”,但是它却给人类社会带来了翻天覆地的变化。根据“摩尔”定律,每隔18个月,集成电路元器件的集成密度就将翻一番,这就意味着计算机系统的性能将有一次大的提升。从2000年至今,我们亲历了互联网、云计算、物联网、大数据、智能硬件技术的大发展,而眼前正在如火如荼地上演着人工智能技术的大爆发。计算机技术为人类开辟了另一个维度的世界——数字世界,而且其中蕴藏了大量的资源和财富。但就创建历史和规模而言,这个世界里的人类可能仍处于原始社会状态,有很多处女地等待着我们去开发和建设,更可能是竞争和拼抢。在未来的社会中,计算机技术更是一项生存竞争的基本技能。
学好计算机技术其实并不容易,尤其是入门,有别于现实自然界的认知方法,它要求学习者具有一定的逻辑思维能力和思维发散能力。因此,早接触计算机技术,越有利于思维能力的锻炼,形成良好的思维习惯。青少年学习计算机技术,往往是在好奇心驱动下开始的,而在面对大量枯燥无味的代码、协议、专业术语时放弃。针对这种情况,本书是一个非常好的选择。本书通过一系列生动有趣的智能硬件制作实例,让初学者在一步步成就感的驱动下,逐渐领会、掌握编程方法和技术。特别是本书选择时下非常流行的Python作为编程语言,其具备简捷、易读性和可扩展性等诸多优点,更有利于初学者掌握和使用。同时,本书也是一本关于物联网和智能硬件技术的入门指导书。本书在内容上设计巧妙,能够由浅入深地引导学习者,实操性强,创新与实践相结合,图文并茂,有很多珍贵的设计方案和参考数据。因此,本书不失为一本很好的青少年计算机入门学习指导书,再配合配套实验设备的使用,将更有利于对技术知识的深入理解和灵活运用。祝广大读者通过本书的学习能早日步入计算机的世界,开发出自己的创新作品。
周 磊
周磊,毕业于浙江大学信电系电路与系统专业,工学博士,九三学社社员,杭州电子科技大学微电子CAD研究所副所长,浙江省智慧城市研究中心智能终端研究所副所长,浙江省“151人才”、浙江省青年科学家。目前主要研究方向为物联网技术和人工智能。获国防科技进步奖三等奖一次、浙江省科技进步奖二等奖两次、浙江省高校科研成果奖两次。
前 言
我从2013年开始接触开源硬件。那时,我经常在博客上写学习笔记,最初只是想记录下学习的过程,以后遇到同样的问题,可以随时翻看。后来,越来越多的爱好者和我一起讨论,就索性建了一个QQ群,还编辑了一些电子教程。Arduino和树莓派一直是我钟爱的开源硬件产品。我会用它们来做盒仔机器人、NAS家庭服务器、电视机顶盒等小手工,也会用它们来做一些简单的开发。2015年,在朋友的介绍下,我第一次了解到MicroPython。由于我一直对Python比较热衷,所以很快就迷恋上了MicroPython。从TPYBoard开发板入手,简单学习就可以实现各种小创意。2016年,英国BBC面向青少年推出了支持MicroPython的Micro:Bit开发板。国内也有了类似的TurnipBit开发板。于是,我尝试着用这些开源硬件来教我身边的小朋友们学习MicroPython和Python。
学习过一些“积木类”机器人知识以后,一些孩子及其家长往往会有一个困惑,就是不知道接下来再学习什么,以及如何从拖曳式编程过渡到纯代码编程。为此,我意识到MicroPython的简单和方便为青少年学习提供了很好的途径。于是,我开始尝试教两个10岁左右的小朋友进行MicroPython的学习。在学习初期,我们选择和使用了TurnipBit开发板,利用Web页面的“拼插”编程与代码对比方式进行学习。我发现小朋友可以很快地接受,并能充满乐趣地用代码来进行程序设计。于是,我萌发了写这本书的想法,想让更多的小朋友接触到编程。
根据青少年对数学、物理等基础学科的学习进度,本书从最简单的“点灯”(点亮LED灯)开始,选取了12个具有代表性的实验。通过实验,不仅将数据类型、逻辑运算、变量、循环、判断、函数等基础的编程知识贯穿其中,便于学习掌握,而且还培养了青少年编程的兴趣。如果你是正在上小学或者中学的青少年,如果你是一位正在为孩子如何学习编程而发愁的家长,我相信这本书对你会有所帮助,能够引导你或者孩子快速入门计算机编程,了解MicroPython甚至Python编程语言。
编程学习的准备工作
在开始学习之前,我们需要做一些准备性工作。本书在第1章和第2章分别介绍了学习前必须要知道的基础知识。比如什么是计算机语言,在本书中用到的Python又是一种什么语言等问题,都会在这两章中做出回答。我们还从众多的MicroPython开发板中,选出TurnipBit开发板作为学习工具,了解该开发板的性能、特点以及使用方法。如果说硬件和必要的基础知识准备过于枯燥的话,那么在第2章中将会用一个最简单的小实验——制作“Hello World!”广告牌,带你学习如何使用TurnipBit。流程图将是建立程序逻辑思维的第一步,如何绘制流程图也将在这一章中讲述。
基础的编程知识
“神奇的计时器”“方便的加法计算器”“会走的机器人”“好玩的掷骰子游戏”……看题目就觉得是很有趣的实验。通过这些实验,你将会逐步学习到二进制计数法、变量及变量的类型、逻辑运算、判断语句和循环语句。至此,你已经掌握了学习Python的基础知识,准备工作基本完成,可以再进行一些更深入的学习了。
简单的硬件开发学习
如果说“积木式”机器人的学习离工业设计还有很大距离的话,那么TurnipBit会拉近这一距离,让你感觉到似乎能够像程序员一样进行开发了。TurnipBit自带的无线模块、磁敏传感器、耳机以及各种外置接口(专业术语是GPIO接口),可以带你进入硬件开发学习的领域——你将会学习到使用无线模块如何进行通信、使用磁敏传感器如何确认方向、如何利用硬件开发板演奏音乐、如何通过外置接口扩展更多的功能等知识。当然,你还会进一步掌握函数等更多的语言知识。学习完这一部分,你将能够自己制作无线投票器、指南针、储钱罐等有趣的手工作品。
动手实现DIY创意
学习完前几章,你是不是已经有了一定的成就感?你是不是已经能够进行一些纯代码编程了?在本书最后两章,我从众多实验中选取了两个具有一定代表性的实验,与你一起从设计、制作、编程到调试,最终完成DIY作品。其中一个是带小夜灯的电子时钟,你将会学习到DS3231这类时钟模块的使用,还会学习到光敏电阻是如何感知光线的,在光线发生变化时,会自动调整小夜灯是否点亮。另一个是会思考的避障车,你将会学习到超声波传感器的工作原理,学会使用超声波传感器来判断距离,从而调整小车的运动方向,保证让小车不会碰到障碍物。
本书的使用方法
讲到这里,你一定很想现在就开始学习了吧。不急,我最后再说一下本书的一些使用技巧。
? 如何做:本书以实验的方式进行讲解,你只需要跟着实验步骤一步一步进行操作,就可以真正实现零基础也能做硬件,感受到其中的乐趣。
? 思考:在一些重要的知识点处,加上了一些思考内容。这些内容有些是对本知识点的巩固,有些是对本知识点的外延,如果你有能力,则建议尝试着去完成;如果不知道怎么做,则可以试着问问“百度”。
? 要点:在每个实验的最后,都罗列了本实验的知识要点,帮助你理清知识点,掌握内容。
来吧,让我们开始动手创作吧!
致谢
感谢在最开始帮助我们写这本书的所有人,包括在此过程中一开始联系的、讨论知识重点及实验案例的人。他们是邓贵勇、毕吉涛、曾昭智、林静、孙小冬、宿玉青。感谢山东交通职业学院的房华教授、杨瑞老师给予的帮助与支持。
史向东(网名小五义)
2017年11月27日于南京
评论
还没有评论。