
《单片机三剑客:ESP32单片机与Python语言编程》采用大量实例和程序逐行解说的方式介绍ESP32单片机与Python语言编程,主要内容有ESP32单片机与编程软件入门,Python语言入门,LED、数码管和RGB全彩灯电路及编程实例,按键输入与蜂鸣器、继电器电路及编程实例,直流电动机、步进电动机与舵机驱动电路及编程实例,中断、定时器与PWM功能的使用及编程实例,ADC与声/光/热/火/雨/烟传感器的使用及编程实例,常用传感器模块的使用及编程实例,超声波传感器与红外线遥控的使用及编程实例,串行通信(UART)与实时时钟(RTC)的使用及编程实例,单总线通信与温湿度传感器的使用及编程实例,I2C通信控制OLED屏与PS2摇杆的使用及编程实例,SPI通信与SD卡/RFID卡的读写编程实例,单片机连接WiFi网络与计算机进行通信,用浏览器网页控制和监视单片机,基于MQTT协议的物联网(IoT)通信。
本书具有起点低、由浅入深、语言通俗易懂的特点,并且内容结构安排符合学习认知规律。本书适合作为初学者学习ESP32单片机及编程的自学图书,也适合作为职业院校电类专业的单片机教材。
封面
书名页
版权
前言
第1章 ESP32单片机与编程软件入门
1.1 概述
1.1.1 ESP32芯片、模组与开发板
1.1.2 芯片型号含义
1.1.3 主要特性
1.1.4 应用领域
1.2 ESP32单片机开发板介绍
1.2.1 开发板的组成
1.2.2 开发板的电路及说明
1.2.3 ESP32模组的引脚功能
1.3 单片机编程软件的获取、安装与使用
1.3.1 Thonny软件的获取与安装
1.3.2 程序文件的创建与保存
1.3.3 软件的设置
1.4 单片机闪烁点亮LED的开发实例
1.4.1 单片机闪烁点亮LED的电路
1.4.2 编写闪烁点亮LED的程序
1.4.3 USB-TTL下载器与驱动程序的安装
1.4.4 用USB-TTL下载器连接计算机与单片机
1.4.5 选择通信端口与查看单片机中的程序
1.4.6 程序的在线运行与下载
1.5 单片机固件包的获取与烧录
1.5.1 从网站下载固件包到计算机
1.5.2 烧录固件包到单片机
第2章 Python语言入门
2.1 Python语言基础
2.1.1 注释与代码缩进
2.1.2 关键字与标识符
2.1.3 变量和数据类型
2.1.4 运算符
2.2 序列、列表、元组、字典和集合
2.2.1 序列
2.2.2 列表(list)
2.2.3 元组(tuple)
2.2.4 字典(dict)
2.2.5 集合(set)
2.3 控制语句
2.3.1 if else语句(选择控制)
2.3.2 while语句(循环控制)
2.3.3 for语句(循环控制)
2.3.4 break语句与continue语句
2.4 函数
2.4.1 定义函数(创建函数)
2.4.2 函数的调用
2.4.3 函数的嵌套
2.4.4 lambda表达式(匿名函数)
2.4.5 全局变量与局部变量
2.4.6 函数的参数
2.4.7 print函数介绍
2.5 类与对象
2.5.1 类的定义格式
2.5.2 创建仅含类属性的类与类的实例化
2.5.3 创建含类属性和类方法的类与类的实例化
2.5.4 创建类时使用__init__函数传送属性值
2.5.5 类变量与实例变量的访问
2.5.6 类属性与方法的禁止访问
2.5.7 父类与子类的使用
2.6 模块与包
2.6.1 模块的两种导入方式
2.6.2 创建模块并导入使用
2.6.3 查看模块的信息
2.6.4 math数学函数模块介绍
2.6.5 包的创建与使用
第3章 LED、数码管和RGB全彩灯电路及编程实例
3.1 LED电路及编程实例
3.1.1 LED(发光二极管)介绍
3.1.2 单片机连接8个LED的电路
3.1.3 点亮一个LED的程序及说明
3.1.4 Pin(引脚)类及内部函数说明
3.1.5 闪烁点亮一个LED的程序及说明
3.1.6 time(时间)模块内部函数说明
3.1.7 LED流水灯程序及说明
3.2 LED数码管电路及编程实例
3.2.1 一位LED数码管
3.2.2 多位LED数码管
3.2.3 单片机使用TM1637芯片驱动4位LED数码管的电路
3.2.4 TM1637模块的类与函数说明
3.2.5 4位LED数码管实现秒计时的程序及说明
3.3 全彩LED灯的电路及编程实例
3.3.1 WS2812B型全彩LED灯介绍
3.3.2 单片机连接5个WS2812B型全彩LED灯的电路
3.3.3 三基色混色法与颜色的R、G、B数值
3.3.4 NeoPixel类及方法说明
3.3.5 RGB全彩LED灯的程序及说明
第4章 按键输入与蜂鸣器、继电器电路及编程实例
4.1 按键输入电路及编程实例
4.1.1 按键开关的抖动及解决方法
4.1.2 4个按键控制4个LED亮灭的单片机电路
4.1.3 4个按键控制4个LED亮灭的程序及说明
4.2 蜂鸣器电路及编程实例
4.2.1 蜂鸣器介绍
4.2.2 单片机驱动蜂鸣器的电路
4.2.3 有源蜂鸣器和无源蜂鸣器发声控制的程序及说明
4.3 继电器电路及编程实例
4.3.1 继电器介绍
4.3.2 单片机继电器的电路
4.3.3 单片机控制继电器电路的程序及说明
第5章 直流电动机、步进电动机与舵机驱动电路及编程实例
5.1 直流电动机的驱动电路及编程实例
5.1.1 直流电动机介绍
5.1.2 单片机使用ULN2003芯片驱动直流电动机的电路
5.1.3 按键控制直流电动机起停和定时运行的程序及说明
5.2 步进电动机的驱动电路及编程实例
5.2.1 步进电动机基本结构与工作原理
5.2.2 一种五线四相步进电动机介绍
5.2.3 按键控制单片机驱动步进电动机的电路
5.2.4 按键控制步进电动机转向和加减速的程序及说明
5.3 舵机的电路及编程实例
5.3.1 舵机的外形、结构与工作原理
5.3.2 SG90型舵机介绍
5.3.3 Servo类与函数
5.3.4 按键控制单片机驱动舵机旋转指定角度的电路
5.3.5 舵机自动和手动控制旋转指定角度的程序及说明
第6章 中断、定时器与PWM功能的使用及编程实例
6.1 中断的使用及编程实例
6.1.1 中断与中断处理函数
6.1.2 按键中断输入控制LED的电路
6.1.3 按键中断输入控制LED的程序及说明
6.2 定时器的使用及编程实例
6.2.1 定时器的类与函数
6.2.2 定时器中断方式控制LED的电路
6.2.3 定时器中断方式控制LED的程序及说明
6.3 PWM(脉宽调制)输出功能的使用及编程实例
6.3.1 PWM基本原理
6.3.2 PWM的类与函数
6.3.3 PWM输出控制两个LED的电路
6.3.4 PWM控制一个LED呼吸灯和一个LED快慢闪烁灯的程序及说明
第7章 ADC与声/光/热/火/雨/烟传感器的使用及编程实例
7.1 ADC(模数转换器)的使用及编程实例
7.1.1 ADC的类与函数
7.1.2 单片机检测输入电压并用4位数码管显示电压值的电路
7.1.3 单片机检测输入电压并用数码管显示电压值的程序及说明
7.2 声音传感器模块的使用与编程实例
7.2.1 声音传感器模块介绍
7.2.2 单片机连接声音传感器模块、LED和4位数码管的电路
7.2.3 声音传感器模块检测声音、数码管显示音量值及控制LED的程序及说明
7.3 光敏传感器模块的使用与编程实例
7.3.1 光敏传感器模块介绍
7.3.2 单片机连接光敏传感器模块、数码管和LED的电路
7.3.3 光敏传感器模块检测光亮度、数码管显示亮度值及控制LED的程序及说明
7.4 热敏传感器模块的使用与编程实例
7.4.1 热敏传感器模块介绍
7.4.2 单片机连接热敏传感器模块、数码管和蜂鸣器的电路
7.4.3 热敏传感器检测冷热度、数码管显示冷热度值及控制蜂鸣器的程序及说明
7.5 火焰传感器模块的使用与编程实例
7.5.1 火焰传感器模块介绍
7.5.2 单片机连接火焰传感器模块、数码管和蜂鸣器的电路
7.5.3 检测火焰强度、数码管显示强度值及控制蜂鸣器的程序及说明
7.6 雨滴传感器模块的使用与编程实例
7.6.1 雨滴传感器模块介绍
7.6.2 单片机连接雨滴传感器模块、数码管和蜂鸣器的电路
7.6.3 雨滴传感器模块检测雨量、数码管显示雨量值及控制蜂鸣器的程序及说明
7.7 烟雾传感器模块的使用与编程实例
7.7.1 烟雾传感器模块介绍
7.7.2 单片机连接烟雾传感器模块、数码管和蜂鸣器的电路
7.7.3 烟雾传感器模块检测烟雾浓度、数码管显示烟雾浓度值及控制蜂鸣器的程序及说明
第8章 常用传感器模块的使用及编程实例
8.1 倾斜传感器模块的使用与编程实例
8.1.1 倾斜传感器模块介绍
8.1.2 单片机连接倾斜传感器模块和LED的电路
8.1.3 倾斜传感器模块检测倾斜控制LED的程序及说明
8.2 振动传感器模块的使用与编程实例
8.2.1 振动传感器模块介绍
8.2.2 单片机连接振动传感器模块和LED的电路
8.2.3 振动传感器模块检测振动控制LED的程序及说明
8.3 干簧管传感器模块的使用与编程实例
8.3.1 干簧管与干簧管传感器模块
8.3.2 单片机连接干簧管传感器模块和LED的电路
8.3.3 干簧管传感器模块检测磁场控制LED的程序及说明
8.4 U型(对射型)光电传感器模块的使用与编程实例
8.4.1 U型光电传感器模块介绍
8.4.2 单片机连接U型光电传感器模块和LED的电路
8.4.3 U型光电传感器模块检测不透明物控制LED的程序及说明
8.5 反射型光电传感器模块的使用与编程实例
8.5.1 反射型光电传感器模块介绍
8.5.2 单片机连接反射型光电传感器模块和LED的电路
8.5.3 反射型光电传感器模块检测物体控制LED的程序及说明
8.6 触摸开关模块的使用与编程实例
8.6.1 触摸开关模块介绍
8.6.2 单片机连接触摸开关模块和LED的电路
8.6.3 触摸开关中断输入控制LED的程序及说明
8.7 霍尔传感器模块的使用与编程实例
8.7.1 霍尔效应与霍尔传感器
8.7.2 霍尔传感器模块介绍
8.7.3 单片机连接霍尔传感器模块、4位数码管和LED的电路
8.7.4 霍尔传感器检测电动机转速、数码管显示转速值和控制LED的程序及说明
8.8 人体热释电传感器模块的使用与编程实例
8.8.1 人体热释电传感器与菲涅尔透镜
8.8.2 HC-SR501型人体热释电传感器模块介绍
8.8.3 单片机连接人体热释电传感器模块和蜂鸣器的电路
8.8.4 热释电传感器检测人体移动控制蜂鸣器的程序及说明
8.9 旋转编码器模块的使用与编程实例
8.9.1 旋转编码器模块介绍
8.9.2 单片机连接旋转编码器模块、数码管和LED的电路
8.9.3 旋转编码器检测转角/转向/转速、数码管显示转角值和LED指示转向的程序及说明
第9章 超声波传感器与红外线遥控的使用及编程实例
9.1 超声波传感器的使用及编程实例
9.1.1 HC-SR04超声波传感器介绍
9.1.2 HCSR04的类与函数
9.1.3 HC-SR04超声波传感器测量距离控制LED和蜂鸣器的单片机电路
9.1.4 超声波传感器测量显示距离值并控制LED和蜂鸣器的程序及说明
9.2 红外线遥控的使用及编程实例
9.2.1 红外线与可见光
9.2.2 红外线发射器与红外线发光二极管
9.2.3 红外线光电二极管与红外线接收器
9.2.4 红外遥控的编码方式
9.2.5 红外线遥控控制LED和继电器的单片机电路
9.2.6 红外线遥控控制LED并显示按键控制码的程序及说明
第10章 串行通信(UART)与实时时钟(RTC)的使用及编程实例
10.1 串行通信知识与通信函数
10.1.1 串行通信基础知识
10.1.2 串行通信的类与函数
10.2 单片机与计算机串行通信的电路与编程实例
10.2.1 单片机与计算机串口通信的电路
10.2.2 单片机与计算机串口通信收发数据的程序及说明
10.2.3 用串口调试助手测试与单片机收发数据的程序
10.2.4 用串口接收的数据控制单片机LED的程序及说明
10.3 内部实时时钟(RTC)的使用及编程实例
10.3.1 RTC的类与函数
10.3.2 内部RTC控制LED的电路
10.3.3 内部RTC控制指定日期时间点亮和熄灭LED的程序及说明
10.4 外部实时时钟DS1302的使用及编程实例
10.4.1 DS1302实时时钟芯片介绍
10.4.2 DS1302的类与函数
10.4.3 DS1302实时时钟芯片控制LED的电路
10.4.4 使用DS1302控制指定日期时间点亮和熄灭LED的程序及说明
第11章 单总线通信与温湿度传感器的使用及编程实例
11.1 单总线通信与DS18B20温度传感器的使用及编程实例
11.1.1 单总线通信的类与函数
11.1.2 DS18B20温度传感器介绍
11.1.3 DS18B20的类与函数
11.1.4 DS18B20检测温度控制LED和电动机的电路
11.1.5 DS18B20检测温度控制LED和电动机的程序及说明
11.2 DHT11温湿度传感器的使用及编程实例
11.2.1 DHT11温湿度传感器介绍
11.2.2 DHT11的类与函数
11.2.3 DHT11检测温湿度并控制LED、电动机和继电器的电路
11.2.4 DHT11检测温湿度并控制LED、电动机和继电器的程序及说明
第12章 I2C通信控制OLED屏与PS2摇杆的使用及编程实例
12.1 I2C总线与操作函数
12.1.1 I2C总线介绍
12.1.2 I2C的类与函数
12.2 OLED显示屏与SSD1306显示驱动芯片
12.2.1 OLED的结构与工作原理
12.2.2 SSD1306驱动OLED显示屏
12.2.3 SSD1306的类与函数
12.3 I2C总线通信控制OLED屏显示图形与字符
12.3.1 单片机以I2C总线方式连接OLED显示屏的电路
12.3.2 I2C总线控制OLED屏显示图形、字符、LED状态和秒计时的程序及说明
12.4 PS2摇杆的使用与编程实例
12.4.1 PS2摇杆模块介绍
12.4.2 单片机连接PS2摇杆模块和4个LED的电路
12.4.3 PS2摇杆模块控制4个LED的程序及说明
第13章 SPI通信与SD卡/RFID卡的读写编程实例
13.1 SPI总线通信与SD卡
13.1.1 SPI总线介绍
13.1.2 SPI的类与函数
13.1.3 SD卡介绍
13.1.4 SD的类与函数
13.2 SPI总线通信读写SD卡的电路及编程实例
13.2.1 单片机使用SPI总线连接SD卡的电路
13.2.2 SD卡的格式化、创建文件夹和文件
13.2.3 通过SPI总线读写SD卡并显示读取内容的程序及说明
13.3 RFID卡读写模块的使用及编程实例
13.3.1 RFID卡读写模块(读写器)介绍
13.3.2 单片机连接RFID卡读写模块和LED的电路
13.3.3 通过SPI控制读写模块读写RFID卡和控制LED的程序及说明
第14章 单片机连接WiFi网络与计算机进行通信
14.1 单片机WiFi方式连接无线网络
14.1.1 WiFi组网方式
14.1.2 IP地址
14.1.3 WLAN的类与函数
14.1.4 单片机以WiFi方式连接无线网络的电路
14.1.5 单片机以WiFi方式连接无线网络的程序及说明
14.2 单片机使用OLED屏显示连接的WiFi网络名称和IP信息
14.2.1 单片机连接OLED屏显示WiFi网络信息的电路
14.2.2 单片机连接WiFi网络并用OLED显示网络信息的程序及说明
14.3 单片机以WiFi方式与计算机进行通信
14.3.1 单片机、路由器与其他设备组建通信网络
14.3.2 socket类与函数
14.3.3 单片机以WiFi方式与计算机通信的电路
14.3.4 单片机以WiFi方式与计算机进行通信的程序及说明
14.3.5 单片机与计算机进行通信的程序调试
14.3.6 接收数据后自动保存到指定文件
14.3.7 单片机以WiFi方式接收数据控制LED
第15章 用浏览器网页控制和监视单片机
15.1 用浏览器网页控制单片机LED
15.1.1 用浏览器控制单片机LED的电路和网页
15.1.2 用浏览器网页控制单片机LED的程序及说明
15.1.3 程序的运行调试
15.1.4 HTML语言简介
15.1.5 用浏览器网页控制单片机两个LED的程序及说明
15.2 用浏览器网页控制单片机LED并监视DHT11传感器的温湿度值
15.2.1 用网页控制单片机LED并监视DHT11温湿度值的电路及页面
15.2.2 用网页控制单片机LED并监视DHT11温湿度值的程序及说明
15.2.3 程序的运行调试
第16章 基于MQTT协议的物联网(IoT)通信
16.1 MQTT通信原理与MQTTClient类及函数
16.1.1 MQTT协议通信原理
16.1.2 MQTTClient类与函数
16.2 单片机用作MQTT物联网通信客户端的电路与编程实例
16.2.1 单片机用作MQTT发布方和订阅方的电路
16.2.2 单片机用作MQTT客户端的程序及说明
16.2.3 用通信猫调试MQTT客户端(发布方和订阅方)的程序
封底
机械工业出版社 京icp备14043556号-1 (署)网出证(京)字第214号 Copyright (C) 2001 CmpBook. All Rights Reserved