图书前言

前    言

MicroPython是Python 3编程语言的精简实现,能够在各种微控制器上运行。MicroPython提供了Python编程语言中的主要特性,如基于微处理器的函数、类、列表、字典、字符串、文件的读写操作、列表推导和异常处理等。

微控制器可被视为一种微型计算机,通常包含CPU、内存和输入/输出外围设备。与PC(个人计算机)相比,虽然资源受限,但尺寸较小且功耗较低,因而适用于多种新型的应用程序。

本书主要介绍MicroPython语言的各种特性以及微控制器开发板。最初的章节将提供简单且易于理解的案例,以使开发板可与用户及其周围环境进行交互,相关案例涉及LED、传感器的运动数据、滑动开关和触控板的交互行为。除此之外,还将讨论如何在开发板上实现音频回放和LED动画输出。在考查了基础知识后,我们将学习如何构建复杂项目,如交互式双人游戏、电子乐器和物联网天气预报机制等。

适用读者

本书旨在将Python语言的强大功能和易用性应用于微控制器上。为了更好地理解本书内容,读者应具备Python语言方面的基础知识。

本书内容

第1章介绍Adafruit Circuit Playground Express微控制器及其MircoPython核心技巧。

第2章主要讲解NeoPixel LED控制方法、灯光的颜色,以及如何通过控制电路板上的灯光变化创建动画光影效果。

第3章讨论在Adafruit Circuit Playground Express上发声和播放音乐的方法。其中包括特定频率下的电路板蜂鸣音、利用WAV文件播放音乐,以及电路板的内建扬声器。

第4章研究Adafruit Circuit Playground Express电路板上的按钮和触控板交互行为。另外,本章还讨论了按钮的按下状态以及一些高级话题,如微调电容触控板的触摸阈值。

第5章介绍传感器数据的读取方法,其间涉及不同类型的传感器,如温度、灯光和运动传感器。

第6章创建名为Button Bash的双人游戏,并通过按钮、NeoPixels和内建扬声器直接在Circuit Playground Express上进行游戏。

第7章阐述如何利用Adafruit Circuit Playground Express和一些香蕉创作乐曲。其中将使用触控板与香蕉对象进行交互,每次触摸不同的香蕉时,将会演奏不同的音乐。

第8章介绍Adafruit CRICKIT硬件附件,并通过Python脚本控制马达和伺服系统。特别地,将通过此类脚本内容控制速度、旋转方向和角度。

第9章讲述micro:bit平台的交互方法,以及如何控制其LED网格显示和板载按钮的交互方式。

第10章介绍Adafruit Feather HUZZAH ESP8266微控制器及其特性和功能(相比较于其他微控制器)。其中涉及基于WebREPL的Wi-Fi连接,以及Wi-Fi文件传输。

第11章讨论与操作系统相关的话题,如文件列表、移除文件、创建目录和计算磁盘的使用量。

第12章讲解如何执行各种网络操作,如DNS查找、实现HTTP客户端和HTTP服务器。

第13章讲解Adafruit FeatherWing OLED硬件附件,该附件可以连接至ESP8266、向联网的微控制器添加显示、显示文本图形并通过3个硬件按钮与用户进行交互。

第14章解释如何创建物联网(IoT)设备,检索天气数据并在按下IoT设备按钮时向用户显示此类数据。

第15章介绍Adafruit HalloWing微控制器,它内置了一个128×128全彩色薄膜晶体管(TFT)显示器,能够在微控制器上显示丰富的图形图像。

背景知识

读者应对Python编程语言有所了解,如包导入操作以及与REPL的协同操作等,进而深入了解本书的内容。

下载示例代码文件

读者可访问www.packt.com,利用账号登录后即可下载本书的示例代码文件。如果读者购买了本书,还可访问www.packtpub.com/support,注册后,我们将通过邮件方式将文件发送给读者。

下载步骤如下。

(1)访问www.packt.com,注册并登录。

(2)选择Support选项卡。

(3)单击Code Downloads。

(4)在Search搜索框中输入本书书名,并遵循后续各项指令。

在文件下载完毕后,可利用下列软件的最新版本解压或析取相关文件夹。

 对于Windows平台,WinRAR/7-Zip。

 对于Mac平台,Zipeg/iZip/UnRarX。

 对于Linux平台,7-Zip/PeaZip。

除此之外,本书代码包还发布于GitHub中,对应网址为https://github.com/ PacktPublishing/MicroPython-Cookbook。如果代码有更新,将在现有的GitHub存储库中更新。不仅如此,读者还可访问https://github.com/PacktPublishing/以查看其他代码包和视频内容。

下载彩色图像

我们还提供了本书中的截图/图表的彩色图像,读者可访问https://www.packtpub.com/ sites/default/files/downloads/9781838649951_ColorImages.pdf进行查看。

本书约定

本书在文本内容方面包含以下约定。

代码块如下所示。

from adafruit_circuitplayground.express import cpx

import time

cpx.pixels[0] = (255, 0, 0) # set first NeoPixel to the color red

time.sleep(60)

对于希望引起读者足够重视的特定代码块,相关代码行采用了粗体显示,如下所示。

from adafruit_circuitplayground.express import cpx

import time

RAINBOW = [

 0xFF0000, # red

 0xFFA500, # orange

命令行输入或输出如下所示。

>>> 1+1

2

 图标表示较为重要的说明事项。

 图标表示提示信息和操作技巧。

读者反馈和客户支持

欢迎读者对本书提出建议或意见。

对此,读者可向feedback@packtpub.com发送邮件,并以书名作为邮件标题。

若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问www.packtpub.com/authors。

勘误表

尽管我们尽力做到尽善尽美,但错误依然在所难免。如果读者发现谬误之处,无论是文字错误还是代码错误,都望不吝赐教。对此,读者可访问http://www.packtpub.com/submit- errata,选取对应书籍,单击Errata Submission Form超链接,并输入相关问题的详细内容。

版权须知

一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现本书任意形式的副本,请告知网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packtpub.com。

问题解答

若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。