智能硬件项目教程——基于ESP32

智能硬件项目教程——基于ESP32
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-06
版次: 1
ISBN: 9787512432765
定价: 69.00
装帧: 其他
开本: 16开
纸张: 胶版纸
127人买过
  • 本书通过项目学习(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
  • 内容简介:
    本书通过项目学习(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
查看详情
相关图书 / 更多
智能硬件项目教程——基于ESP32
智能群体博弈
张春燕、谢广明
智能硬件项目教程——基于ESP32
智能中医辅助诊断技术与装备
王俊文主编
智能硬件项目教程——基于ESP32
智能时代教育教学创新实践案例集
贵州师范大学智慧教育研究中心
智能硬件项目教程——基于ESP32
智能控制与强化学习先进值迭代评判设计
王鼎 赵明明 哈明鸣 任进
智能硬件项目教程——基于ESP32
智能演化优化
徐华、袁源
智能硬件项目教程——基于ESP32
智能网联汽车车载网络技术解析
崔胜民 编
智能硬件项目教程——基于ESP32
智能时代观念风险及应对
鲍金 等 著
智能硬件项目教程——基于ESP32
智能配电网概论 电子、电工 作者 新华正版
作者
智能硬件项目教程——基于ESP32
智能驾驶之激光雷达算法详解
揭皓翔
智能硬件项目教程——基于ESP32
智能网联汽车:激光与视觉SLAM详解 陈苑锋 董雪 马建军 徐守龙 朱兆颖 [德]徐永龙 裘维东 陈巍 贺光红 胡爽禄 李俊辉 林源 王鹤颖 陈昊阳 叶文韬
陈苑锋 董雪 马建军 徐守龙 朱兆颖 (德)徐永龙 裘维东 陈巍 贺光红 胡爽禄 李俊辉 林源 王鹤颖 陈昊阳 叶文韬
智能硬件项目教程——基于ESP32
智能建筑弱电工程设计和施工 刘晓军
刘晓军
智能硬件项目教程——基于ESP32
智能量化:ChatGPT在金融策略与算法交易中的实践 金融科技新引擎
龚晖 著