Python微控制器编程从零开始 使用MicroPython
作者: (美)唐纳德 诺里斯(Donald Norris) 著,别志松,李杨 译
出版时间:2018年版
内容简介
● 学习MicroPython和面向对象编程的基础 ● 探索Pyboard、ESP8266和WiPy的强大特性 ● 接入PC,加载文件、程序和模块 ● 操作LED、定时器和变频器 ● 使用串行接口和PWM控制外部设备 ● 使用三轴加速度计组建和编程擦网球探测器 ● 安装和编程LCD与触摸传感器扩展板 ● 使用AMP音频板记录和播放声音
目录
目 录
第1章 概述 1
1.1 MicroPython简介 1
1.2 设计思想 2
1.3 MicroPython探究 2
1.4 面向对象编程和一些Python基础 4
1.4.1 面向对象的概念 4
1.4.2 建模一个机器人 7
1.4.3 Python基础 9
1.4.4 Robot类 12
1.4.5 子类 13
1.4.6 使用接口 14
1.4.7 集成的Robot工程设计和测试 16
1.4.8 动态绑定 19
1.5 使用基于Pyboard的MicroPython 22
1.6 bare-metal方法 25
1.7 小结 26
第2章 Python简介 29
2.1 Pyboard硬件 29
2.2 通用微控制器程序开发 33
2.2.1 中断 33
2.2.2 控制Pyboard 36
2.2.3 Python测试程序 39
2.3 闪烁LED 40
2.3.1 PyBlink 40
2.3.2 PyBlink_MP 41
2.4 硬件中断演示 42
2.5 计时器 45
2.6 其他Pyboard硬件 48
2.6.1 ADC 49
2.6.2 DAC 50
2.7 小结 56
第3章 接口、文件和库 57
3.1 脉冲宽度调制 57
3.2 位串行端口 59
3.2.1 UART串行协议 59
3.2.2 I2C串行协议 65
3.2.3 SPI串行协议 67
3.3 目录结构 69
3.4 导入模块 70
3.4.1 使用文件导入 71
3.4.2 从PYBFLASH子目录导入模块 72
3.4.3 使用SD卡导入 74
3.5 启动过程 75
3.6 基于LED的错误报告 76
3.7 库 76
3.7.1 标准库 77
3.7.2 自定义Python库 77
3.7.3 Pyboard专用库和类 78
3.7.4 MicroPython库 79
3.8 小结 80
第4章 擦网球探测器 81
4.1 初始设计 82
4.2 工程需求 82
4.2.1 原型 84
4.2.2 加速度计 85
4.2.3 低级I2C命令演示 90
4.2.4 倾角计 92
4.3 硬件设计 94
4.4 在网球场试验 102
4.5 最终程序 104
4.6 小结 105
第 5章 LCD和触摸传感器开发板 107
5.1 LCD板规格说明 108
5.2 初始LCD模块操作 109
5.3 LCD图形演示 114
5.4 对LCD控制器使用外部命令 115
5.5 触摸控制器 116
5.5.1 电容感应 117
5.5.2 LCD模块触摸传感器原理图和MPR121寄存器 118
5.5.3 MPR121驱动软件 120
5.6 触摸传感器初步测试 122
5.6.1 由触摸板控制的LED 123
5.6.2 LCD和触摸传感器示例 126
5.6.3 使用LCD模块GPIO管脚 128
5.7 MPR121 PWM 133
5.8 小结 135
第6章 AMP音频开发板 137
6.1 组装AMP开发板 137
6.2 AMP开发板电路 139
6.2.1 音频输入电路 141
6.2.2 音频输出电路 145
6.3 初步测试 148
6.4 播放MP3文件 154
6.5 音频输入演示 155
6.6 小结 157
第7章 自动机器人车 159
7.1 组建机器人车平台 159
7.2 一个标准模拟伺服 160
7.3 CR伺服 163
7.4 机器人车电源 164
7.5 电路布线说明 166
7.6 机器人车软件 169
7.7 初步测试运行 171
7.8 避障演示 178
7.9 小结 180
第8章 基于Pyboard的GPS 181
8.1 概述 181
8.2 GPS简史 181
8.3 GPS工作基本原理 182
8.4 Ultimate GPS接收机 188
8.5 初步GPS接收机测试 189
8.6 GPS接收机UART通信 192
8.7 NMEA协议 197
8.7.1 纬度和经度格式 199
8.7.2 解析GPS消息 199
8.8 MicroPython GPS解析器 200
8.9 小结 204
第9章 ESP8266 205
9.1 ESP8266 SMT ESP-12E模块 205
9.2 ESP8266 HUZZAH开发板 208
9.3 ESP8266软件 212
9.3.1 在HUZZAH ESP8266开发板上安装MicroPython 213
9.3.2 探索基于ESP8266 HUZZAH开发板的MicroPython 215
9.4 实验 218
9.4.1 模拟-数字转换器 218
9.4.2 1引线温度传感器 221
9.4.3 NeoPixel演示 225
9.4.4 APA102演示 228
9.5 webREPL 232
9.6 小结 233
第10章 WiPy 235
10.1 WiPy规范说明 235
10.2 Wi-Fi模式 237
10.2.1 站点 237
10.2.2 接入点 237
10.2.3 直连 238
10.3 WiPy扩展板 238
10.4 创建初始WiPy网络连接 243
10.5 FileZilla 249
10.6 站点操作 251
10.7 启动过程和恢复文件系统 253
10.8 Pymakr 255
10.9 小结 257
第11章 MicroPython的现在和未来 259
11.1 MicroPython语言 259
11.2 硬件平台 261
11.2.1 LoPy 261
11.2.2 LoRa无线电系统 262
11.2.3 SiPy 264
11.2.4 Sigfox与LoRa 265
11.3 小结 265