前言
近年来,控制面板(英文名:mPython)在创客教育中的应用越来越广泛。 控制板集成了ESP32高性能四核芯片,具有WiFi和蓝牙连接功能,板上配备了丰富的传感器。 最重要的是它是专为国外编程教学设计的,适合国外课堂使用。 除了优惠的价格之外,越来越多的STEAM和创客老师开始使用它。
国外各大教育厂商和机构也推出了针对控制板的教学编程软件,如Mind+、Mixly、mPython等编程软件。 该软件大部分基于图形化编程。 它使用方便flash软件教程工具栏,可以轻松实现很多有趣的想法。 因此,中学生可以体验到无尽的创造乐趣。 基于这个软件,目前网上有大量关于控制面板的项目和课程。
而且,为控制板的普及和教学而设计的软件往往在功能上存在一定的局限性。 另外,如果对控制板核心芯片ESP32了解不够,也不方便迁移所学知识。 例如,网上有很多用ESP32设计的开发板。 在控制板上学到的知识可以用在这块ESP32开发板上吗?
另外,在接触控制板之前,大多数老师基本上都是使用现在非常流行的Arduino来进行创客教育。 这样,在Arduino中学到的编程知识是否可以转移到控制板上呢?
其实这种知识是可以迁移的,所以有空的时候,我打算跟大家分享一系列使用Arduino代码对控制板(ESP32)进行编程的教程: ** 玩转控制板(ESP32)与Arduino)系列**,为了从ESP32芯片的角度学习ESP32模块的编程,然后应用到控制板或者其他基于ESP32的开发板上,做到举一反三。
在硬件选型方面,本教程将以控制板为主线,再加上一些其他基于ESP32的学习开发板,例如**NodeMCU-32S**或**DFRobotFireBeetle-ESP32**; 在编程软件选择方面,会使用Arduino代码编程。 在某些情况下,一些图形化编程软件程序如Mixly、Mind+或mPython也会被共享。
>事实上,ESP32芯片是ESP8266芯片的升级版本,因此两者的代码是兼容的。 因此,本教程提供的代码尽可能具有通用性,由于本人水平有限,难免存在一些疏漏。 也请大家多多提出批评和改进建议,共同进步。
ESP32 概述
在介绍软件之前,我们先简单介绍一下硬件。 首先我们来看看控制板后面的主控芯片ESP32。
ESP32芯片是我国乐鑫公司继ESP8266芯片之后推出的又一款集成WiFi功能的微控制器。 它具有比ESP8266更强大的性能,可用于开发更复杂的应用程序。 ESP32芯片或模组具有以下特点:
详细可以查看官方功能框图:
有兴趣的读者可以到下面的控制板官方Wiki来对比控制板的硬件参数:
这些参数与基于ESP32芯片的控制板的参数是否相似? 另外,上图中的ESP32引脚图看起来和控制板一模一样。
综上所述,ESP32芯片主要具有高性能、低帧率、集成度高、体积小、性能稳定等优点。 可以说性能相当不错,因此可以支持MicroPython等比较消耗性能的脚本语言。
ESP32 更详细的参数请参考乐鑫官网:
常见的ESP32开发板
如果你在天猫搜索“ESP32”,可以看到很多开发板,如右图。 不仅是控制板,还有琳琅满目的开发板,我们该如何选择呢?
对于本教程来说,虽然邯郸这种板子有所不同,但是大家可以自由选择。 本教程主要使用三块学习板:**控制板**、DFRobot出品的**FireBeetle-ESP32**、安信科出品的**NodeMCU-32S**。 其中控制板是我们学习的主要部件,主要将FireBeetle-ESP32和NodeMCU-32S这两款板放在一起进行讲解,方便大家理解其背后的原理。 本教程涉及的项目中,不仅仅是控制板,我还会选择一些项目让大家看看在其他板子上运行的效果。 选择这些板子的原因是:一方面,国外用的比较多,英文信息比较全面; 另一方面,它们都有相应的卷起标签,方便学习时连接各种外部传感器。 与执行器模块。
右图显示了控制板的正面和背面**。 更详细的信息请参考控制板官方帮助文档:
右图为DFRobot生产的**FireBeetle-ESP32**。 更详细的信息请查看DF官网Wiki:
(SKU:DFR0478)FireBeetle_Board-ESP32 图形控制器 V3.0
右图为安芯科科技生产的**NodeMCU-32S**开发板。 更详细的信息请参考安信客官网Wiki:
这里需要注意的是,大多数ESP32系列开发板的工作电流为3.3V,USB口最大可输入5V电流。 因此,使用时要注意选择正确的电流,以免烧坏板子,造成危险。 在前面的章节中flash软件教程工具栏,在具体接线时会再次指出。
编程语言选择
开发 ESP32 的方法有很多种,下面列出了一些常用的方法:
目前最适合初高中教师的教学方式主要是Arduino模式和microPython模式。 由于已经有很多使用microPython做控制板的课程,所以本系列教程主要使用Arduino IDE进行学习。
软件设计
使用Arduino软件对控制板进行编程需要对Arduino软件进行一些配置。 这里我提供两种方法:
这里推荐第一种方法,使用Mixly软件的外部Arduino软件,我简单介绍一下两种方法的安装方法。
###使用 Mixly 外部版本的 Arduino
Mixly的下载地址为:
安装方法我就不详细说了。 您可以直接参考上面的链接。
从 v1.0 版本开始,Mixly 已经默认配置了 ESP32(控制板)编程环境。 直接打开Mixly的外部Arduino软件。 编程时选择:`工具→开发板→ArduinoHandBit`或`ArduinoESP32`。 能。 您可以选择“ArduinoESP32”或“ArduinoHandBit”。 其中,`ArduinoESP32`为ESP32提供了通用的编程模块,而`ArduinoHandBit`则进一步封装了控制板的部分功能。 如果您了解控制板(或 ESP32)背后的一些技术原理,则可以选择任何一个。 的。 事实上,在使用控制板时,选择`ArduinoHandBit`稍微方便一些。
如果你想体验Mixly图形化编程,只需按照下面两张图选择开发板即可。
###自己配置Arduino开发环境
在Arduino中对ESP32或控制板进行编程,前期稍微麻烦一些,但也不难。 官方还提供了详细的教程。 这里我们以Windows系统为例介绍配置教程。 对于macOS或Linux系统,流程基本相同,这里不再赘述。
首先安装最新版本的ArduinoIDE,下载网址:
下载完成后,打开Arduino软件,点击菜单:`File→Preferences`,打开Arduino设置界面。
在Arduino设置界面(首选项)中,在`Additional Development Board Manager URL`栏中填写:
如右图所示:
然后点击菜单栏“工具→开发板→开发板管理”,打开“开发板管理器”界面。
在“开发板管理器”中,搜索“esp32”,可以看到“esp32byEspressifSystems”,点击右下角的“Install”,等待安装完成。 根据网络情况,此过程可能会很慢,因此请耐心等待。 如果安装失败,只需重新安装即可。
安装成功后,进入“工具→开发板”,你会看到很多ESP32开发板选项,如右图所示:
试试你的手
所有的准备工作已经完成,我们来尝试在Arduino模式下编译并上传第一个控制板(ESP32)程序。
打开Arduino软件,在开发板中选择**ESP32DevModule**,然后在代码编辑区输入以下程序:
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Hello ESP32. Hello Arduino!");
delay(1000);
}
>1. 开发板选项中ESP32Arduino列表中列出的开发板均基于ESP32芯片。 除了引脚定义有些差异外,其他差异并不是很大。 入门时你可以忽略它们的差异,随意选择一个。 ,影响不是很大,建议选择**ESP32DevModule**。
>2. 如果你使用的是Mixly的外接Arduino软件,为了方便在学院学习,大部分开发板选项都被精简删除,只留下几个选项。 读者可以直接选择**ArduinoESP32**或**ArduinoHandBit**即可。
然后选择正确的端口号,点击上传按钮,将程序上传到控制板。 其实你也可以上传到FireBeetle-ESP32、NodeMCU-32S等其他开发板上,看看效果是否一样。 当Arduino软件界面底部出现如右图所示的“Leaving...HardresettingviaRTSpin...”时,表示上传成功。
然后点击右上角的并口监视器,将对应的并口码率改为115200,看看输出效果。 该程序主要是让控制板每隔1秒复制一行`HelloESP32.HelloArduino!`字符串到并口。 您还可以更改程序中的复制内容并重新上传程序以查看效果。
如果程序输出没有问题,那么恭喜你,你即将开始学习用Arduino控制板子的旅程了!
总结
本章我们主要学习了以下内容: