教程系列

ESP32 MicroPython 入门

掌握 DIY 开发神器 - ESP32,初学者入门单片机的最佳选择。通过 ESP32 学习 MicroPython。点击这里查看视频教程

学习本套教程,需具备 Python 基础,没有学过 Python 的小伙伴建议先学习 7 天入门 Python

ESP32Python入门
1

使用 MicroPython 开发 ESP32 简介

ESP32 是一款国产芯片,这个芯片专为移动设备、可穿戴设备与物联网应用而设计,集成了低功耗蓝牙和 Wi-Fi。这也是为什么 ESP32 在 DIY 爱好者中备受推崇的原因。

2

MicroPython ESP32 环境搭建

如果你是初学者或者喜欢简单而快速应用,那么推荐使用 Thonny。Thonny 是一款开源软件,以极简方式设计,对 MicroPython 的兼容性非常友善。而且支持 Windows、Mac OS、Linux、树莓派。由于开源,所以软件迭代速度非常快,功能日趋成熟。使用 Thonny 还有两个方便之处,可直接在该软件中实现给 ESP32 单片机刷 MicroPython 固件,可以实时预览 ESP32 的文件系统。

3

面包板与杜邦线

我们在使用单片机的时候,电路搭建是必不可少的,而面包板和杜邦线可以让你更加轻松地搭建电路,这节课就来讲讲面包板与杜邦线的简单使用。

4

控制 GPIO 输出 - 点亮 LED

不论学习什么单片机,最简单的外设莫过于 IO 口的高低电平控制 LED,本节课将向大家介绍如何使用 MicroPython 控制 ESP32 的 GPIO 输出。通过本节课的学习,让大家对 MicroPython 的程序架构有一定的认识,为以后大型项目程序学习打下基础,增强信心。

5

流水灯实验

上节课我们已经学习了如何点亮一颗 LED 并且让其闪烁,这节课我们学习如何制作流水灯。

6

数码管显示

现阶段,无论 LCD 和 OLED 显示技术有多好,都无法替代这个古老的显示方式 - 数码管。直到现在,很多领域都离不开数码管。最主要的原因是他便宜有稳定,而且控制简单。

7

4 位数码管显示

4 位数码管,即 4 个 1 位数码管并列集中在一起形成一体的数码管。

8

控制 GPIO 输入 - 按键实验

前面几节课介绍的都是 IO 口输出的使用,本节课我们通过按键实验来介绍 IO 口作为输入的使用并通过按键电路实现开关灯的效果。

9

PWM 呼吸灯实验

之前我们使用的 LED 做过流水灯的实验,这节课,我们学习制作呼吸灯,通过 LED 灯的亮度变化来验证 PWM 不同电压的输出。呼吸灯是指灯光在单片机的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。

10

舵机实验

舵机在电子产品中非常常见,比如四足机器人、固定翼航模等都有应用,因此学习舵机对后续完成电子制作非常有意义。本节课学习使用 MicroPython 的 PWM 对 SG90 舵机旋转角度控制。

11

数模转换器 - ADC 实验

前面我们介绍使用 PWM 输出不同电压值,类似于模拟信号输出。如果需要 ESP32 检测外部输入的模拟信号该怎么办?这就是本节课要学习的 ADC,通过 ADC 将模拟信号转换为数字信号给 ESP32 处理。

12

IIC 驱动 LCD1602 液晶屏幕

上一课介绍了如何使用四位数码管模块来显示数字,本课将进一步介绍如何使用基于 IIC 接口驱动的 LCD1602 液晶屏。

13

SPI 驱动 OLED 液晶屏幕

这一节我们学习如何使用 ESP32 开发板,通过 SPI 控制 OLED 液晶屏。

14

串口通信

单片机中最常用的通讯协议有 UART、I2C、SPI。我们已经学习了 I2C 和 SPI。这节课,我们来学习 UART,也就是串口通讯。

15

外部中断

之前我们学习了 ESP32 的按键控制,当时通过查询 GPIO 输入电平来判断按键状态,这种方法占用 CPU 资源,效率不高。本节课我们学习外部中断,通过外部中断实现按键控制 LED。

16

定时器中断

上一节我们介绍了 ESP32 的外部中断的使用,本节课介绍 ESP32 的定时器功能。

17

Wi-Fi 连接

如今物联网市场异常火爆,WIFI 是物联网中非常重要的角色,现在基本上家家户户都有 WIFI 网络,通过 WIFI 接入到互联网,成了智能家居产品普遍的选择。ESP32 内部已集成 WIFI 功能,可以说它就是为 WIFI 无线连接而生的。本章来学习 ESP32 的 WIFI,使用 MicroPython 开发 WIFI 是非常简单而美妙的,让大家在学习物联网中变的简单有趣,WIFI 模块也是为什么 ESP32 可以迅速崛起的主要原因之一。

18

RTC 实时时钟

RTC 全称为实时时钟(Real-time Clock),是一种与 CPU 互不干扰,独立于 CPU 运行的计时设备。

19

WebREPL 远程访问

与 Python 相同,MicroPython 也同样具有命令行交互式环境,简称 REPL,因此 WebREPL 就是网络版 MicroPython 交互环境。

20

获取网络请求

ESP32 支持 2.4G 网络,那我们可以通过发送 HTTP 请求来获取实时天气数据。一般来说,天气数据是由一些公共 API 接口提供的,这些接口需要向它们发送 HTTP 请求以获取数据。

21

步进电机

步进电机是一种通过步进(即以固定的角度移动)方式使轴旋转的电机。其内部构造使它无需传感器,通过简单的步数计算即可获知轴的确切角位置。这种特性使它适用于多种应用。

22

PS2 双轴按键摇杆实验

双轴按键摇杆主要由两个电位器和一个按键开关组成,两个电位器随着摇杆扭转角度分别输出 X、Y 轴上对应的电压值,在 Z 轴方向上按下摇杆可触发轻触按键。

23

8x8 LED 点阵模块

LED 8*8 点阵屏模块是一种常见的 LED 屏幕模块,它由 8 行 8 列的 LED 点阵组成。每个 LED 点可以控制亮灭,通过对每个点的亮灭状态的控制,可以在屏幕上显示出各种图案和文字等信息。

24

继电器模块

继电器是一种电气控制设备,用于在低电压电路中控制高电压电路的开关。它是由一个线圈、一组可触点和一个机械部件组成。当线圈通电时,机械部件会移动,使可触点连接或断开高电压电路。

25

蜂鸣器实验

当涉及到蜂鸣器时,我们通常会遇到两种类型:无源蜂鸣器和有源蜂鸣器。它们在工作原理和使用方式上有所不同。

26

4x4 矩阵键盘

薄膜按键,是一块带触点的 PET 薄片,用在 PCB、FPC 等线路上作为开关使用,在使用者与仪器之间起到一个重要的触感型开关的作用。

27

SD 卡实验

SD 卡(Secure Digital Card)是一种常见的可移动存储设备,用于存储和传输数据。它是一种闪存存储卡,具有较小的尺寸、高存储容量和可擦写的特性。