简介
ESP32是一款功能强大的低功耗微控制器,由乐鑫(Espressif)公司开发。它集成了Wi-Fi和蓝牙功能,适用于各种物联网应用。Thonny是一款基于Python的开源集成开发环境(IDE),专为MicroPython设计。Thonny安装包自带了Python3,使得初学者也能轻松学习编程。对于ESP32的开发,我们主要使用MicroPython,这是一种特殊的Python解释器,针对硬件做了特殊处理。尽管与PyCharm、Jupyter、VSCode等专业的Python IDE相比,Thonny在功能上可能不够强大。在本教程中,我们将使用Thonny和MicroPython开发一个简单的ESP32点灯实验。
环境准备
为了完成本教程,您需要以下材料
- 一台安装了Thonny的PC。我用自已的mac电脑安装了最新的Thonny,下载地址
- 一块ESP32开发板。我采用普中科技的esp32开发板
- 一根USB数据线
- 跳线
开发板子如图:
配置解释器
USB数据线连接你的开发板(如ESP32-S3)到计算机上,并确保它被正确识别。点击运行,打开配置解释器,并选择esp32,如图:
此时,打开你的开发板开关,我们需要通过跳线来连接我们的15引脚和LED中的D1口。如图:
编写程序
创建一个新文件名为main.py的文件,并在其中输入以下代码:
from machine import Pin
import time
# 定义LED引脚
led = Pin(15, Pin.OUT)
while True:
# 点亮LED
led.value(1)
time.sleep(0.5)
# 熄灭LED
led.value(0)
time.sleep(0.5)
代码解析:
我们使用了MicroPython的machine模块,machine模块中的Pin类是用于控制板上的GPIO引脚的类。它提供了一些方法来读取和设置引脚的值,以及配置引脚的模式(输入模式或输出模式)。
Pin类的方法:
Pin(number, mode):创建一个Pin对象,指定引脚号和模式。
value(value):设置引脚的值为1(高电平)或0(低电平)。
time.sleep()是Python中的一个函数,用于暂停程序的执行。它接受一个参数,表示暂停的秒数。
点击运行,查看开发板的效果,我们可以看到D1的灯将每隔0.5秒闪烁一次。
总结
本文介绍了如何使用Thonny开发环境来编写代码,控制ESP32上的LED灯。我们安装了Thonny开发环境,并编写了Python代码来控制LED的开关状态。最后,我们将代码上传到ESP32开发板上进行测试,成功实现了LED灯的交替闪烁。Thonny是一个非常适合初学者使用的ESP32开发工具,它可以帮助读者快速入门物联网开发领域。