显示页面 讨论 修订记录 反向链接 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ### 8. ESP32无线控制模块 #### 模块描述 ESP32是乐鑫公司推出的集成WiFi和蓝牙的双核MCU,采用Tensilica Xtensa LX6处理器,主频最高240MHz。内置WiFi 802.11b/g/n、蓝牙4.2/BLE,支持丰富的外设接口。板载4MB Flash,适合物联网、无线通信、远程控制等应用。特别适合电赛中需要无线通信、数据传输、远程监控的题目,是物联网应用的首选方案。 #### 工作原理 ``` [5V/3.3V输入] → [AMS1117-3.3V] → [3.3V系统供电] ↓ [40MHz晶振] → [PLL] → [最高240MHz] → [双核Xtensa LX6] ↓ ┌───────────┴──────────┐ ↓ ↓ [核心0:应用任务] [核心1:WiFi/BT协议栈] ↓ ↓ [外设控制] [无线通信] ↓ ↓ [GPIO/ADC/DAC/PWM] [WiFi 2.4GHz天线] [UART/SPI/I2C] [蓝牙天线] ``` #### 技术指标 - **处理器**: 双核Xtensa LX6 - **主频**: 80/160/240MHz可调 - **SRAM**: 520KB - **Flash**: 外部4MB (最大16MB) - **WiFi**: 802.11 b/g/n, 2.4GHz - **蓝牙**: BT 4.2 + BLE - **GPIO**: 34个 (部分仅输入) - **ADC**: 2个12位SAR ADC, 18通道 - **DAC**: 2个8位DAC - **触摸**: 10个触摸传感器 - **PWM**: 16路LED PWM - **通信**: 3×UART, 4×SPI, 2×I2C, 2×I2S - **其他**: SD/SDIO, CAN, 红外, 霍尔传感器 - **工作电压**: 3.0V-3.6V - **功耗**: 运行80mA, 调制解调器睡眠20mA, 深度睡眠5μA #### 接口管脚定义 (ESP32-WROOM-32) | 管脚 | 名称 | 功能 | 备注 | |------|------|------|------| | 1 | GND | 地 | 电源地 | | 2 | 3V3 | 电源 | 3.3V | | 3 | EN | 使能 | 高电平使能 | | 25-36 | GPIO0-15 | 通用I/O | 多功能 | | 26 | GPIO2 | I/O | 板载LED | | 9 | GPIO0 | I/O | 启动模式(低电平下载) | | 37-38 | GPIO16-17 | I/O | 部分模块用于Flash | | 30-33 | GPIO34-39 | 输入 | 仅输入,无上拉 | | 4-8 | GPIO6-11 | Flash接口 | 禁止使用 | #### 板上设置和信号指示 - **电源LED**: 3.3V供电指示 - **WiFi LED**: 板载LED(GPIO2)可编程 - **复位按键**: EN引脚复位 - **BOOT按键**: GPIO0启动模式选择 - **天线**: PCB天线或IPEX外接天线 - **USB转串口**: CH340/CP2102 - **自动下载**: DTR/RTS控制EN和GPIO0 #### 电气指标 - **供电电压**: 3.0V-3.6V (推荐3.3V) - **工作电流**: 平均80mA, 峰值240mA (发射) - **GPIO电流**: 单个最大40mA, 推荐12mA - **ADC输入**: 0-3.3V (可衰减至0-11dB) - **ADC精度**: 12位 (有效约10位) - **DAC输出**: 0-3.3V, 8位 - **PWM频率**: 可调 (常用1kHz-5kHz) - **WiFi发射功率**: 最大20dBm - **WiFi灵敏度**: -98dBm@11Mbps - **蓝牙发射功率**: 最大12dBm #### 使用说明 1. **开发环境**: Arduino IDE (安装ESP32支持包) 或 ESP-IDF 2. **程序下载**: 按住BOOT键,按RESET键,松开RESET,松开BOOT进入下载模式 3. **WiFi连接**: 使用WiFi.begin()连接AP,支持STA/AP/STA+AP模式 4. **蓝牙使用**: 经典蓝牙(SPP)或BLE模式 5. **双核编程**: 使用xTaskCreatePinnedToCore()指定任务运行核心 6. **ADC校准**: 使用esp_adc_cal库进行ADC校准 7. **深度睡眠**: esp_deep_sleep_start()进入深度睡眠,降低功耗 8. **OTA更新**: 支持WiFi无线更新固件 #### 全国大学生电子设计竞赛相关赛题 - **2021年**: 物联网数据采集题目 - **2019年**: 无线数据传输与监控 - **2017年H题**: 远程幅频特性测试装置 - **未来趋势**: 物联网、远程监控、智能家居类题目 #### 应用技术要点总结 1. **WiFi编程**: 连接路由器或作为AP,TCP/UDP通信 2. **HTTP服务器**: 创建Web服务器显示数据或控制设备 3. **MQTT协议**: 使用PubSubClient库实现MQTT通信 4. **蓝牙串口**: 使用BluetoothSerial库实现蓝牙SPP 5. **BLE应用**: 创建BLE服务器/客户端,低功耗数据传输 6. **双核任务**: 核心0处理WiFi/BT,核心1运行用户任务 7. **FreeRTOS**: 使用任务、队列、信号量实现多任务 8. **功耗优化**: 关闭WiFi、降低主频、使用睡眠模式 ---