ESP32 WROOM DevKitC v4 开发板上带有乐鑫的双核 SoC 模块 WROOM-32D 或者 WROOM-32U。该板具有工作频率为 2.4 GHz 的 高达 150 Mb/s 的速度的 Wi-Fi 连接和 BLE 蓝牙技术。ESP32 WROOM DevKitC v4 板载 MCU 的工作频率高达 240MHz。电路板的 I/O 引脚与两侧的 2.54 插针相连。用户可以通过跳线连接外围设备或将开发板固定在面包板上以构建应用程序。
下面是ESP32 WROOM DevKitC v4 开发板的布局:
ESP32-DevKitC V4(板载 ESP32-WROOM-32)
配置 Arduino IDE 的 ESP32 开发环境
为了能够使用 Arduino IDE 开发 ESP32,您需要向 Arduino IDE 板管理器添加一个额外的源,然后安装 ESP32 板。
开发板管理器
为了在开发板管理器中加入 ESP32 开发板,我们需要先添加 ESP32 开发板附加网址。
依次打开菜单-》文件-》首选项。把下面网址粘贴到 *附加开发板管理网址 中:
“https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json”
添加附加开发板管理网址
再安装 ESP32 开发板。依次打开菜单-》工具-》开发板-》开发板管理器:
开发板管理器入口
在开发板管理器中输入 esp32 搜索出 esp32 开发板来,然后安装之:
安装 ESP32 开发板
正在下载
因为下载的时候需要连接 github, 如果你等了半天也没下载下来,你可能需要翻墙。
下载完成后,别忘了在Arduino IDE 中选择 DOIT ESP32 DEVKIT V1 作为开发板:
DOIT ESP32 DEVKIT V1
实验电路
如下图所示,搭建电路。请注意,ESP32 引脚由其 GPIO 名称而不是引脚号指定,因为不同的 ESP32 板将具有不同的引脚号。
ESP32 初体验电路图
如果使用5mm或3mm直径的直插 LED,对于降压电阻,150 到 470 欧姆之间的任何值都可以正常工作。
现在我们都连接好了,是时候尝试我们的第一个程序了。
ESP32 闪灯程序
学习一门新的编程语言时,一般都是用输出 “Hello World" 作为第一个程序。
闪灯程序就是硬件领域里的 ”Hello World"。一般你学习单片机或 MCU 的第一个程序都是闪灯程序。
下面是一个 Arduino 编程环境下的闪灯程序:
烧写程序
首先要做与 Arduino 完全相同的事情——点击上传按钮(带有向右箭头的按钮)。这将启动编译器。你可能会注意到编译 ESP32 程序比编译 Arduino 草图需要更长的时间。
观看 Arduino IDE 底部的状态屏幕。编译过程完成后,它将打印“Connecting”,然后是一串点:
上传成功提示
运气好的话,你会看到 LED 开始闪烁了起来。全程不需要按下开发板上的 BOOT 或者 EN 按钮。
有的开发板,需要你在看到 “Connecting...”提示后,按下 BOOT 按钮(有时标记为 IO0)并按住它,直到您看到上传进度。
上传成功后,程序会自动启动。有的开发板需要按 ENABLE 或 RESET 按钮来启动程序,我的开发板不需要此步骤。
四位数码管是一种常见的LED显示器件,主要用于显示数字信息。
本文介绍ESP32中的中断机制,以及如何通过GPIO中断实现按钮控制。重点讲解了如何设置中断服务例程、处理中断抖动问题,并提供了消除中断抖动的示例代码。
本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。
本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
ESP32Encoder库是一个利用ESP32脉冲计数器硬件外设实现高效旋转编码器读取的软件库。
本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。
乐动掌控采用掌控板作为主控,塑胶一体式外壳,侧面和底面开具多个乐高扩展孔位,兼容乐高积木,可完成多种创意应用。
在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。