本文是ESP32开发板的入门指南。如果您熟悉,那么ESP32是它的后继产品。ESP32加载了许多新功能。最关键的是:它结合了WiFi和蓝牙无线功能以及双核。
ESP32 DEVKIT DOIT
在本文中,我们将使用ESP32 DEVKIT DOIT开发板作为参考。但是带有ESP-WROOM-32芯片的其他ESP32开发板也兼容。
以下是一些ESP32开发板的示例:
技术指标
关于ESP32芯片规格,您会发现:
· ESP32是双核,这意味着它有2个处理器。
· 它具有Wi-Fi和内置的蓝牙。
· 它运行32位程序。
· 时钟频率可以高达240MHz,并且具有512 kB RAM。
· 该特定板有30或36个引脚,每行15个。
· 它还具有多种可用的外设,例如:电容式触摸,ADC,DAC,UART,SPI,I2C等。
· 它带有内置霍尔效应传感器和内置温度传感器。
程序设计环境
ESP32可以在不同的编程环境中进行编程。您可以使用:
· Arduino IDE
· 乐鑫IDF(IoT开发框架)
· JavaScript
· …
在我们的项目中,我们主要使用Arduino IDE对ESP32进行编程。
在Arduino IDE中准备ESP32开发板
Arduino IDE有一个附加组件,可让您使用Arduino IDE及其编程语言对ESP32进行编程。
ESP32引脚指南
与ESP82666相比,ESP32具有更多的GPIO 和更多的功能。
使用ESP32,您可以确定哪些引脚是UART,I2C或SPI –您只需要在代码上进行设置即可。由于ESP32芯片的多路复用功能允许将多个功能分配给同一引脚,因此这是可能的。如果未在代码上设置它们,则将默认使用这些引脚-如下图所示(引脚位置可能会因制造商而异)。
具有30个GPIO的版本
具有36个GPIO的版本
使用Arduino IDE将代码上传到ESP32
为了向您展示如何将代码上传到ESP32板上,我们将构建一个简单的示例来使LED闪烁。
将以下代码复制到您的Arduino IDE中:
/*
Blink
*/
// ledPin refers to ESP32 GPIO 23
const int ledPin = 23;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin ledPin as an output.
pinMode(ledPin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
在此代码中,我们将控制连接到GPIO 23的LED。
const int ledPin = 23;
因此,请按照以下原理图将LED连接到ESP32。
重要: 在构建任何电路之前,请务必检查特定电路板的引脚排列。
这是构建此先前电路所需的零件的列表:
将ESP32开发板插入计算机,然后按照以下说明进行操作:
1)转到工具 >开发板,向下滚动到ESP32部分,然后选择ESP32开发板的名称。就我而言,它是DOIT ESP32 DEVKIT V1开发板。
2)转到 工具 > 端口, 然后选择可用的COM端口。
3)按上传按钮。
仅此而已!
注意:如果您在尝试上传代码时遇到以下错误,则说明您的ESP32未处于刷新/上传模式。
无法连接到ESP32:超时…连接中…
要上传代码,您需要执行以下步骤(确保选择了正确的面板:
· 按住ESP32开发板中的" BOOT "按钮
· 在 Arduino IDE中看到" Connecting…。"消息后,从" BOOT "按钮上松开手指:
· 之后,您应该会看到" 完成上传 "消息。
上载程序后,您可以按" 启用 "按钮重启ESP32并运行新上载的程序。
示范
上载代码后,连接到GPIO 23的LED应该每隔一秒闪烁一次。
写在最后
我们希望您发现本入门指南很有用。LED闪烁只是一个简单的项目,可让您开始使用ESP32。这也是学习将代码上传到板上所需的过程的好方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。