温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
ESP32
光电
检测
系统
综合
实验教学
设计
匡文剑
ISSN 1006 7167CN 31 1707/TESEACH AND EXPLOATION IN LABOATOY第 42 卷 第 1 期Vol 42 No12023 年 1 月Jan 2023DOI:10 19927/j cnki syyt 2023 01 045基于 ESP32 的光电检测系统综合实验教学设计匡文剑,曹兆楼,赵静,钱黎明,裴世鑫(南京信息工程大学 物理与光电工程学院,南京 210044)摘要:针对现有光电检测系统综合实验设备开放性不足、功能单一、缺乏项目开发实践等问题,提出了基于 ESP32 的光电检测综合实验系统教学课程设计方案,采取核心开发板与光电检测模块的硬件设计思路,结合 VS Code、PlatformIO 和Arduino 框架,可开展验证型、综合型、设计型 3 个阶段共 35 个实验项目。实践表明,该综合实验教学方案运行情况良好,具有适用性广泛、扩展性强等特点,使学生能够循序渐进掌握光电检测系统开发方法,能够有效培养学生专业兴趣、工程应用与创新实践能力。关键词:光电检测;单片机;ESP32 系统级芯片;嵌入式系统;项目式学习中图分类号:TP 368.2;G 642.0文献标志码:A文章编号:1006 7167(2023)01 0229 06Design of Practice Teaching Based on the OptoelectronicDetection System Experiments with ESP32KUANG Wenjian,CAO Zhaolou,ZHAO Jing,QIAN Liming,Pei Shixin(School of Physics and Optoelectronic Engineering,Nanjing University of Information Science andTechnology,Nanjing 210044,China)Abstract:A comprehensive optoelectronic detection system experimental project was designed based on the ESP32,inorder to solve the existing problems for absence of open-ended project development Based on the hardware design ideasof core boards and optoelectronic detection modules,combined with VS code,Platform IO and Arduino framework,35experiments can be performed in verification-type,comprehensive-type and design-type The results show that the courseworks well and has the characteristics of wide applicability,abundant expansibility,which enables the students to masterthe optoelectronic detection system development methods step by step It can effectively arouse the studentsspecialtyinterest,cultivate their engineering application and innovative practical abilityKey words:optoelectronic detection;single-chip microcomputer;ESP32 system-level chip;embedded system;project-based learning收稿日期:2022-02-23基金项目:江苏省高等教育教改立项研究课题(2019JSJG549);教育部大学物理教指委高等学校教学研究项目(DJZW201922hd)作者简介:匡文剑(1986 ),男,辽宁盘锦人,博士,讲师,主要从事光电子器件与系统的产学研工作。Tel:13776553535;E-mail:yaddi163 com0引言在大众创业万众创新的政策驱动下,基于光电检测系统的创客教育与大学生创新创业相辅相成,在互联网+、智能制造 2025、新工科及工程教育理念背景下呈现蓬勃发展趋势1-4。光电检测系统综合实验教学,在培养电子信息类专业学生创新能力和工程应用能力方面尤为重要,需要硬件与软件结合来进行实践和效果呈现5-9。长期以来,市场上的光电检测系统课程实验设备一般为实验箱的形式,存在价格高、功能单一、开放性不强等问题,实验以原理型和验证型为主,难以提供系统性、综合性、扩展性的实验条件,缺乏针对实际工程项目开发的创新实践训练。本实验课程利用国产上海乐鑫科技 ESP32 系列系第 42 卷统级芯片(SoC),针对多种专用任务需求进行光电检测系统设计,使学生得到有效的实践训练,逐步提升解决实际复杂工程问题的能力。ESP32 搭载两个哈佛结构的 Xtensa 32 位LX6 双核处理器,采用FreeTOS 系统内核,具有34 个可编程 GPIO(通用输入输出),集成 WiFi和蓝牙功能模块 10。基于 ESP32 的光电检测系统综合实践课程可作为面向电子信息类和自动化类相关专业的综合实践课程,训练学生实验操作、创新设计和分析能力,培养学生基本的智能硬件设计能力,掌握嵌入式系统开发方法,并能够实现物联网(IoT)应用 11-14。1总体设计思路与方案本实验课程教学采用开放式、开源、可扩展的软硬件功能模块,总体设计分为以下 3 个方面:(1)开放式硬件设计理念。实验硬件包括嵌入式开发板和外围设备,根据实验内容由学生自主选择。其中核心开发板包含 ESP32 系统级芯片和扩展接口,芯片已集成 ADC 与 DAC、触摸传感器、霍尔传感器、无线模块。外围设备包括多种硬件功能模块。(2)开源跨平台程序代码库。使用 Visual StudioCode 编辑器,具有语法检查、智能代码补全、代码比对功能。利 用 跨 平 台 和 具 有 统 一 调 试 器 的 工 具PlatformIO,基于 Arduino 开发框架可以调用丰富的开源库文件。(3)可扩展的设计型创新实践。根据创新实践目标要求,让学生面向产品需求进行项目式学习实践。利用显示屏、Web 端、云端进行人机交互,进行火灾预警、迷你气象站、红外热成像仪、便携式光谱仪、线阵CCD 驱动、智能避障小车等实践项目开发。2实验系统搭建2.1嵌入式开发板光电检测综合实验课程使用的嵌入式开发板为基于 ESP32-DevKit 的定制扩展板,其实物如图 1 所示,学生可通过排针和排母直接连接各种外围器件。图 1光电检测综合实验课程中使用的 ESP32 嵌入式开发板ESP32 芯片内置 448 KB OM 和 520 KB SAM,时钟频率最高 240 MHz,运算能力达 600 MIPS,支持SPI、UAT、I2C、I2S、MT、TWAI、PWM 等,已集成 4MB 的 SPI flash,12 位 ADC 与 8 位 DAC 转换器、触摸传感器、霍尔传感器、WiFi 和蓝牙模块,可以无需额外设备直接进行相关部分实验。左上角排针作为 SPI-TFT 液晶屏接口引出,方便学生连接显示屏。右下区域 I2C 共引出 10 组,可同时连接多组 I2C 外围设备。ESP32 一共有 38 个管脚,除电源引脚外有 34 个可编程 GPIO 引脚,其中 GPIO 6-11 这 6 个引脚已用于内置Flash,一般不做他用。EN 复位按键用于重启嵌入式系统,长按 BOOT 按键用于进入编程下载模式。本实验课程所用的 ESP32 嵌入式开发版电路原理如图 2所示。2.2外围器件外围器件由 3 类功能模块组成,主要包括传感器模块、人机交互模块和电机控制模块,主要功能模块器件如图 3 所示。图 2ESP32 嵌入式开发板电路原理032第 1 期匡文剑,等:基于 ESP32 的光电检测系统综合实验教学设计紫外传感器可见光敏传感器近红外传感器反射式红外传感器GB 颜色传感器10 通道光谱传感器红外热传感阵列红外热释电传感器线阵 CCD 传感器血氧浓度传感器激光测距传感器激光颗粒物传感器红外 CO2气体传感气压传感器温湿度传感器姿态传感器摄像头半导体激光器GB-LED2 位数码管LED 点阵模块TFT 液晶显示器有源蜂鸣器12 位 DAC 模块24 位 ADC 模块电动机驱动模块步进电动机数字舵机图 3光电检测系统综合实验功能模块传感器模块包括紫外、可见光、红外、激光测距、温度、湿度、气压、姿态传感器、红外热成像传感器、线阵CCD 等。模块有模拟量输出和数字量输出,I2C(集成电路总线)和 SPI 串口通信等方式。人机交互模块包括 TFT(薄膜场效应晶体管)液晶显示屏、彩色 LED、LED 点阵、蜂鸣器等。实现光电检测系统的数据实时输出反馈,从而满足调试和面向用户产品应用的需求。电动机控制模块包括直流电动机、步进电动机、数字舵机和电动机控制电路等。通过高低电平和脉冲宽度调制(PWM)DAC 输出实现方向和转速的控制。2.3程序编写与下载实验程序 编 写 使 用 开 源 免 费 的 Visual Studio(VS)Code 编辑器。VS Code 是微软公司推出的跨平台代码编辑器,可以方便地完成 C+程序语言编写,具有智能化插件安装、语法检查、智能代码补全、代码比对等功能。在 VS Code 中,安装具有统一调试器的工具插件 PlatformIO,以便自动配置使用 Arduino 开发框架的 ESP32 支持环境,包含 toolchain-xtensa32、scons等编译工具。程序下载操作简便,开发板采用 CP2102 USB-UAT 芯片,PlatformIO 自动配置 esptoolpy 工具,直接连接 Micro-USB 与电脑 USB 接口进行供电和数据传输,在 VS Code 界面操作即可便捷地下载程序。3实验项目设计基于 ESP32 的光电检测系统实验的项目,为了使学生充分理解光电检测系统设计方法,基于阶梯式递进原则,分为验证型、综合型、设计型 3 类实验(见表1)。3.1验证型实验首先通过验证型实验让学生熟悉实验环境,学会利用各种库函数,使用 C+语言,掌握常用传感器、交互模块及电动机等外围设备的基本使用方法。打开 VS Code,在 PlatformIO 工具中新建项目,如图 4 所示,开发板 Board 选择 Espressif ESP32 DevModule,开发框架 Framework 选择 Arduino,软件自动完成 ESP32 开发环境配置。可通过修改 platformio ini参数设置文件更改环境定义,如设置串口监视器波特率(默认为 9600)“monitor_speed”,以便程序通过串口监视器调试。由于使用了 Arduino 库函数,需要在项目程序代码头部引入 Arduino h 库。学生通过案例学习,进行验证型实验。具体包括:AD 模数转换、DA 数模转换、LED 流水灯、触摸感应、霍尔效应磁场强度、蜂鸣器、步进电动机控制、数字舵机控制、姿态数据传感、紫外与红外传感、人体红外热释电感应、激光测距、温湿度传感、气压传感、颗粒物检测、摄像头、数码管、LED 点阵、TFT 液晶显示等共计20 个实验。132第 42 卷表 1光电检测系统综合实验项目序号实验类别实验名称教学内容1-20验证型验证型基础实验ADC、DAC、GB LED、触摸感应、磁场强度、蜂鸣器、步进电动机、舵机控制、姿态感应、紫外与红