本书利用TumipBit口袋编程计算机(兼容Micro:Bit)进行实验,力求通过有趣的实验,将Python编程学习中乏味的数据类型、逻辑运算、变量、循环、判断、函数等基础知识融为一体,便于青少年学习掌握。
注重动手能力,从“如何做”的角度切入,抓住要点,让青少年真正DIY起来,记住知识点,掌握内容,亲手做出创意作品。
这是一本有技术支持的机器人DIY实战书籍,可提供以下技术支持渠道。
本书既是介绍MicroPython的快速入门书籍,也是以TurnipBit为基础进行MicroPython实战应用的书籍。本书以实验的方式进行讲解,只需跟着实验步骤一步一步完成就可以真正实现零基础也能做硬件;在一些重要的知识点处,我们加注了一些思考内容。这些内容有些是对本知识点的巩固,有些是对本知识点的外延,如果你有能力,建议你尝试着去完成。如果你不知道怎么做,你也可以试着问问“百度”;每个实验的最后,罗列了本实验的知识要点,帮助你理清知识点,掌握编程思想。总而言之,本书旨在帮助读者以最短的时间掌握以TurnipBit为基础进行MicroPython实战应用,希望大家对有MicroPython程序开发需求的读者有帮助。
史向东,网名小五义,南京拓界信息技术有限公司副总经理,长年从事网络安全、智能硬件安全及开发等相关工作,曾在国内核心期刊、国内著名网站发表文章二十余篇,“博客园”网站前1000博主。
邓贵勇,潍坊学院计算机毕业,2005开始旅居海外,一直从事IT行业;近年回国后组织了多个智能硬件产品项目,并组建了一个硬件极客团队,将micropython开源硬件引入国内,TPYBoard开发板专利持有人。
第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作为编程语言,其具备简捷、易读性和可扩展性等诸多优点,更有利于初学者掌握和使用。同时,本书也是一本关于物联网和智能硬件技术的入门指导书。本书在内容上设计巧妙,能够由浅入深地引导学习者,实操性强,创新与实践相结合,图文并茂,有很多珍贵的设计方案和参考数据。因此,本书不失为一本很好的青少年计算机入门学习指导书,再配合配套实验设备的使用,将更有利于对技术知识的深入理解和灵活运用。祝广大读者通过本书的学习能早日步入计算机的世界,开发出自己的创新作品。
周 磊
前 言
我从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日于南京
这本书的深度和广度都超出了我的预期。它不仅仅是教你如何写出能运行的代码,更重要的是培养了一种解决问题的思维方式。在处理一些稍微复杂一点的项目时,作者并没有直接给出“标准答案”,而是引导你去思考不同的实现路径和优缺点。这种启发式的教学方法非常棒,它让我学会了如何调试代码,如何在遇到错误时冷静分析,而不是一味地复制粘贴。书中的案例选择也非常贴近青少年的兴趣点,比如涉及到数据可视化、简单的自动化任务等,这些内容极大地激发了我的学习热情。阅读过程中,我发现作者的语言风格非常亲切,就像一个经验丰富的学长在手把手教你一样,没有那种高高在上的说教感。很多地方用类比的方式解释抽象的概念,比如将变量比作盒子,将函数比作流水线,这种形象化的描述,极大地降低了初学者的理解门槛,让我对编程的恐惧感大大减少。
评分这本书的封面设计很吸引人,色彩鲜艳,充满了科技感,一下子就抓住了我的眼球。我拿到书后,首先注意到的是它的排版非常清晰,字体大小适中,阅读起来很舒服。内容组织上,感觉作者对编程学习的流程有着非常深入的理解。不是那种干巴巴的理论堆砌,而是以项目为导向,循序渐进地引导读者进入编程的世界。比如,开头部分对Python语言基础的介绍,就穿插了许多生活化的例子,让人感觉编程不再是遥不可及的“高深技术”,而是触手可及的工具。章节之间的过渡自然流畅,每一个知识点的讲解都配有详细的步骤说明和代码示例,即便是编程新手,也能跟着书中的指引一步步搭建起自己的知识体系。特别是书中对一些常见编程概念的解释,非常到位,用词准确又不失趣味性,让人在轻松愉快的氛围中掌握了核心概念。这种注重实践和用户体验的设计,让我想立刻打开电脑开始动手实践。
评分这本书的结构安排简直是艺术品级别的。它巧妙地平衡了理论讲解和实践操作的时间分配。我注意到,很多编程书要么过度侧重理论导致实践不足,要么就是只教皮毛的代码实现,缺乏底层逻辑的解释。而这本书在这方面做得非常平衡。作者似乎深知青少年读者的注意力集中时间有限,所以每一部分的篇幅都控制得恰到好处,既保证了内容的完整性,又避免了冗长乏味。当涉及到一些需要用到外部库或模块的部分时,书中的指引也非常详尽,清晰地告知读者如何安装和配置环境,完全不用担心因为环境问题而卡住学习的步伐。这种对细节的关注,体现了作者极大的耐心和对读者学习体验的重视。阅读这本书,我感觉自己不是被动地接收知识,而是在一个精心设计的学习路径上主动探索,每走一步都有明确的方向和坚实的支撑。
评分我必须称赞这本书在内容广度上的拓展性。它不仅仅停留在基础的命令行交互层面,而是快速地将读者带入了更有趣的应用领域。书中对如何构建具有实际交互性的程序非常重视,这对于保持读者的长期兴趣至关重要。我发现书中的示例项目都充满了现代感,而不是过时的编程案例。例如,它对如何处理用户输入、如何组织数据结构等核心概念的讲解,都融入了未来编程中会频繁遇到的场景。从阅读体验上来说,纸张的质量和印刷效果都很好,使得长时间阅读也不会感到眼睛疲劳。总而言之,这是一本既有深度又有温度的编程教材,它成功地将复杂的编程世界,拆解成了一系列可实现、可理解的有趣步骤,是入门编程的绝佳选择,让人读完后对未来的技术学习充满了信心和期待。
评分作为一名一直想系统学习编程的爱好者,我试过好几本入门教材,但大多因为内容过于枯燥或者对初学者不够友好而半途而废。然而,这本教材给我的感觉完全不同。它仿佛是为我们这一代人量身定制的。书中对代码的演示部分,每一个代码块都有明确的注释,解释了每一行代码背后的逻辑,这对于理解程序的执行流程至关重要。更难能可贵的是,它在教授基础语法的同时,还穿插了一些关于计算思维和算法基础的讨论,虽然不是非常深入的理论探讨,但足以让读者建立起对计算机科学更宏观的认识。我特别喜欢它在每章末尾设置的“挑战任务”,这些任务要求我们将本章所学知识融会贯通,进行创新性的应用。这些小小的挑战,不仅巩固了知识,更带来了巨大的成就感,让我体会到编程不仅仅是枯燥的指令输入,更是一种创造性的活动。
评分京东物流太给力了,第二天就到了,这本书看起来还不错,用后再追评。
评分python很火,我也买来看看
评分很不错的书,值得学习研究研究,推荐下,???????
评分这本书同事推荐的,确实不错,值得大家阅读。
评分活动买的很便宜,还没看
评分好书,虽然还没看
评分包装很好,以为会很厚,努力学习中
评分这本书同事推荐的,确实不错,值得大家阅读。
评分新书
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有