智能硬件项目教程——基于ESPpdf下载pdf下载

智能硬件项目教程——基于ESP百度网盘pdf下载

作者:
简介:本篇主要提供智能硬件项目教程——基于ESPpdf下载
出版社:北京航空航天大学出版社
出版时间:2020-06
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

本书依据全国青少年机器人技术等级考试标准五、六级的要求,采用Arduino C/C++编程语言,基于ESP32开源硬件进行编写,为全国机器人技术等级考试五、六级指定教材。

内容简介

本书通过项目学习(PBL)的方式讲述基于ESP32 for Arduino的编程基础知识。本书讲述了ESP32 for Arduino的基本函数;结合硬件讲述了数组及位操作,按键消抖;UART基本知识,库函数和经典蓝牙的应用;I2C、SPI的基本原理,库函数的使用;网络及HTML基础知识,以STA和softAP模式建立WiFi连接,创建Web服务器,并实现远程HTTP访问;步进电机的基础知识及梯形加减速运动控制;PID基础知识,并利用码盘实现小车运动的精确控制。

本书配套学习资源包含ESP32 for Arduino系统软件、库、工具软件、学习参考资料,读者可以从http://www.kpcb.org.cn/hnd288.html免费下载。


目录

第1章初识ESP321

1.1ESP32简介1

1.2ESP32 芯片基本性能及外设2

1.3ESP32 WROOM模组的电气特性2

1.4基于ESP32 WROOM模组的开发板2

1.5ESP32 for Arduino软件开发环境安装3

1.6ESP32开发板驱动安装6

1.7学习平台搭设6

1.8Hello World!6

1.9ESP32引脚说明8

1.10ESP32KPCB专用开发板9

1.11普通开发板使用 9

1.12ESP32 数字信号读/写操作10

1.12.1ESP32数字信号操作函数10

1.12.2数字信号读/写示例10

1.13ESP32模拟信号读/写操作12

1.13.1模拟信号输入函数12

1.13.2模拟信号输入示例13

1.13.3模拟信号输出函数——基于LEDC14

1.13.4模拟信号输出函数示例——基于LEDC16

1.13.5模拟信号输出函数——基于DAC17

1.14电容触摸传感器17

1.15电容触摸传感器示例18

1.16霍尔传感器20

1.17霍尔传感器示例20

1.18外部中断21

1.18.1中断程序21

1.18.2中断触发模式22

1.18.3中断触发函数22

1.18.4外部中断示例(一)——按键计数显示23

1.18.5外部中断示例(二)——入侵检测仪25

1.19Serial.printf()函数26

1.20思考题28

第2章数码管计时器29

2.1项目一:一位数码管原理及数字显示29

2.1.1一位数码管工作原理29

2.1.2一位数码管数字显示30

2.2项目二:通过数组实现一位数码管数字显示32

2.2.1一维数组的定义和初始化33

2.2.2二维数组的定义和初始化33

2.2.3通过数组实现一位数码管显示34

2.3项目三:74HC595移位寄存器芯片36

2.3.174HC595移位寄存器芯片36

2.3.274HC595一位数码管模块37

2.3.3通过按键控制74HC595一位数码管模块38

2.4项目四:通过编程控制74HC595一位数码管模块40

2.5项目五:数码管计时器44

2.5.14位数码管工作原理44

2.5.2双74HC595移位寄存器芯片级联模块工作原理45

2.5.3步骤一:4位数码管的单数显示46

2.5.4步骤二:按键消抖50

2.5.5步骤三:按键计时器53

2.6思考题56

第3章点阵动画57

3.1项目一:8×8点阵的显示57

3.1.18×8点阵工作原理57

3.1.2测试8×8点阵58

3.2项目二:流水灯示例59

3.3项目三:点阵显示图像63

3.3.1视觉暂留63

3.3.2显示图像示例63

3.4项目四:点阵动画效果65

3.5项目五:点阵数显计时器68

3.6思考题72

第4章串行通信——UART73

4.1UART基础知识73

4.1.1UART定义73

4.1.2波特率74

4.1.3起始位、停止位及校验位74

4.1.4ASCII码75

4.1.5ESP32的UART端口76

4.2项目一:UART数据发送77

4.3项目二:UART数据接收78

4.4项目三:设置时间80

4.4.1报文设定80

4.4.2字符串解析——Arduino String libray81

4.4.3接收数据流程82

4.4.4其他接收函数85

4.5项目四:请输入密码86

4.5.1EEPROM简介86

4.5.2EEPROM库86

4.5.3设置初始密码87

4.5.4修改密码88

4.6项目四:蓝牙控制90

4.6.1蓝牙90

4.6.2BluetoothSerial库91

4.6.3手机控制92

4.7思考题95

第5章串行通信——I2C和SPI96

5.1I2C基础知识96

5.1.1I2C基本原理96

5.1.2I2C主设备、从设备及引脚97

5.1.3I2C库及库函数97

5.2项目一:MPU6050姿态传感器99

5.2.1MEMS简介99

5.2.2MPU6050姿态传感器简介99

5.2.3姿态角100

5.2.4MPU6050姿态传感器内部的寄存器101

5.2.5MPU6050姿态传感器数据读/写102

5.2.6示例一:通过I2C类库命令读/写MPU6050姿态传感器的量程102

5.2.7示例二:通过I2C类库命令读取MPU6050姿态传感器的原始数据106

5.2.8示例三:通过专用库读取MPU6050姿态传感器的姿态数据109

5.3项目二:SSD1306 OLED显示屏111

5.3.1SSD1306 OLED显示屏简介111

5.3.2SSD1306 OLED显示屏库功能112

5.3.3示例一:文字显示112

5.3.4示例二:显示汉字113

5.3.5示例三:控制台输出117

5.3.6示例四:屏幕菜单118

5.4项目三:平衡游戏机120

5.5SPI基础知识120

5.5.1SPI简介120

5.5.2ESP32 SPI接口及引脚121

5.5.3SPI类库及库函数122

5.6项目四:SPI库成员函数驱动双74HC595移位寄存器123

5.7思考题125

第6章WiFi联网和Web服务器126

6.1网络基础知识和Web服务器126

6.1.1互联网络和TCP/IP协议126

6.1.2IP地址127

6.1.3端口号128

6.1.4客户端服务器模式129

6.1.5HTTP协议129

6.1.6ESP32 Web服务器130

6.1.7URL和域名、IP之间的关系130

6.1.8ESP32 WiFi工作模式131

6.1.9ESP32 WiFi类库及成员函数132

6.2HTML基础135

6.2.1HTML文档编辑工具——Sublime Text软件的下载安装135

6.2.2编写第一个HTML文档135

6.2.3HTML文档基本结构138

6.2.4HTML标签139

6.2.5CSS简介139

6.3项目一:Web服务器控制输出141

6.3.1项目任务141

6.3.2任务分析141

6.3.3步骤一:电路搭设142

6.3.4步骤二:设定AP模式,建立WiFi连接142

6.3.5步骤三:创建Web服务器144

6.3.6步骤四:编写应用程序,控制LED灯148

6.4项目二:Web服务器读入数据151

6.4.1项目任务152

6.4.2步骤一:电路搭设152

6.4.3步骤二:设定STA模式,连接到WiFi153

6.4.4步骤三:创建Web服务器154

6.4.5步骤四:编写应用程序,读取并发送模块信息154

6.5思考题157

第7章步进电机158

7.1步进电机及其控制器的基础知识158

7.1.1步进电机158

7.1.2步进电机的工作原理159

7.1.3步进电机的动态特性161

7.1.4步进电机的特点162

7.1.5步进电机的控制162

7.1.624BJY48永磁式步进电机163

7.2项目一:程序控制步进电机转动164

7.3项目二:AccelStepper步进电机库应用——恒速转动168

7.4项目三:AccelStepper步进电机库应用——梯形加减速转动170

7.5项目四:AccelStepper步进电机库应用——串口控制172

7.6项目五:AccelStepper步进电机库应用——多步进电机同步控制173

7.7思考题174

第8章蓝牙迷宫智能小车175

8.1PID控制器简介175

8.2项目一:小车动起来177

8.2.1主控板电机驱动177

8.2.2按键调速小车179

8.3项目二:码盘数据读取182

8.3.1码盘及码盘光电模块182

8.3.2车轮旋转圈数计算182

8.4项目三:通过码盘控制小车直线行走184

8.5项目四:通过码盘控制小车按指定形状行走186

8.6项目五:蓝牙迷宫小车188

8.6.1iTEAD APP安装188

8.6.2iTEAD APP操控模式189

8.6.3iTEAD APP调试模式189

8.7思考题191

参考文献192